@visactor/vtable 1.26.5 → 1.26.7

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 (327) hide show
  1. package/cjs/ListTable-all.js +5 -5
  2. package/cjs/ListTable-all.js.map +1 -1
  3. package/cjs/ListTable.d.ts +5 -2
  4. package/cjs/ListTable.js +22 -6
  5. package/cjs/ListTable.js.map +1 -1
  6. package/cjs/PivotChart.js +5 -4
  7. package/cjs/PivotChart.js.map +1 -1
  8. package/cjs/PivotTable-all.js +4 -3
  9. package/cjs/PivotTable-all.js.map +1 -1
  10. package/cjs/body-helper/body-helper.d.ts +2 -1
  11. package/cjs/body-helper/body-helper.js +5 -3
  12. package/cjs/body-helper/body-helper.js.map +1 -1
  13. package/cjs/components/index.js +2 -1
  14. package/cjs/components/tooltip/TooltipHandler.d.ts +4 -0
  15. package/cjs/components/tooltip/TooltipHandler.js +32 -7
  16. package/cjs/components/tooltip/TooltipHandler.js.map +1 -1
  17. package/cjs/core/BaseTable.d.ts +1 -0
  18. package/cjs/core/BaseTable.js +26 -13
  19. package/cjs/core/BaseTable.js.map +1 -1
  20. package/cjs/core/TABLE_EVENT_TYPE.d.ts +1 -0
  21. package/cjs/core/TABLE_EVENT_TYPE.js +1 -0
  22. package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
  23. package/cjs/core/row-series-number-helper.d.ts +1 -0
  24. package/cjs/core/row-series-number-helper.js +3 -1
  25. package/cjs/core/row-series-number-helper.js.map +1 -1
  26. package/cjs/core/tableHelper.js +1 -2
  27. package/cjs/data/CachedDataSource.js +5 -3
  28. package/cjs/data/CachedDataSource.js.map +1 -1
  29. package/cjs/data/DataSource.js +2 -1
  30. package/cjs/event/event.js +1 -1
  31. package/cjs/event/helper.js +1 -1
  32. package/cjs/event/media-click.js +145 -13
  33. package/cjs/event/media-click.js.map +1 -1
  34. package/cjs/event/scroll.js +1 -1
  35. package/cjs/event/sparkline-event.js +1 -1
  36. package/cjs/event/util.js +1 -1
  37. package/cjs/header-helper/header-helper.d.ts +1 -0
  38. package/cjs/header-helper/header-helper.js +4 -1
  39. package/cjs/header-helper/header-helper.js.map +1 -1
  40. package/cjs/index.d.ts +3 -3
  41. package/cjs/index.js +1 -1
  42. package/cjs/index.js.map +1 -1
  43. package/cjs/layout/index.js +2 -1
  44. package/cjs/plugins/custom-cell-style.js +1 -1
  45. package/cjs/plugins/index.js +1 -2
  46. package/cjs/plugins/interface.d.ts +2 -1
  47. package/cjs/plugins/interface.js +1 -1
  48. package/cjs/plugins/interface.js.map +1 -1
  49. package/cjs/plugins/invert-highlight.js +1 -1
  50. package/cjs/plugins/list-tree-stick-cell.js +1 -1
  51. package/cjs/plugins/plugin-manager.d.ts +1 -1
  52. package/cjs/plugins/plugin-manager.js +12 -7
  53. package/cjs/plugins/plugin-manager.js.map +1 -1
  54. package/cjs/scenegraph/group-creater/cell-helper.d.ts +4 -2
  55. package/cjs/scenegraph/group-creater/cell-helper.js +67 -42
  56. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  57. package/cjs/scenegraph/group-creater/cell-type/audio-cell.d.ts +7 -0
  58. package/cjs/scenegraph/group-creater/cell-type/audio-cell.js +83 -0
  59. package/cjs/scenegraph/group-creater/cell-type/audio-cell.js.map +1 -0
  60. package/cjs/scenegraph/group-creater/cell-type/button-cell.d.ts +1 -1
  61. package/cjs/scenegraph/group-creater/cell-type/button-cell.js +5 -4
  62. package/cjs/scenegraph/group-creater/cell-type/button-cell.js.map +1 -1
  63. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +2 -2
  64. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  65. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.d.ts +1 -1
  66. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js +5 -4
  67. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  68. package/cjs/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
  69. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +43 -15
  70. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  71. package/cjs/scenegraph/group-creater/cell-type/index.d.ts +1 -0
  72. package/cjs/scenegraph/group-creater/cell-type/index.js +8 -2
  73. package/cjs/scenegraph/group-creater/cell-type/index.js.map +1 -1
  74. package/cjs/scenegraph/group-creater/cell-type/media-cell-helper.d.ts +13 -0
  75. package/cjs/scenegraph/group-creater/cell-type/media-cell-helper.js +64 -0
  76. package/cjs/scenegraph/group-creater/cell-type/media-cell-helper.js.map +1 -0
  77. package/cjs/scenegraph/group-creater/cell-type/radio-cell.d.ts +1 -1
  78. package/cjs/scenegraph/group-creater/cell-type/radio-cell.js +23 -7
  79. package/cjs/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -1
  80. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +1 -1
  81. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +6 -5
  82. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  83. package/cjs/scenegraph/group-creater/cell-type/switch-cell.d.ts +1 -1
  84. package/cjs/scenegraph/group-creater/cell-type/switch-cell.js +5 -4
  85. package/cjs/scenegraph/group-creater/cell-type/switch-cell.js.map +1 -1
  86. package/cjs/scenegraph/group-creater/cell-type/video-cell.d.ts +1 -1
  87. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +44 -23
  88. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  89. package/cjs/scenegraph/group-creater/column-helper.js +14 -7
  90. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  91. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +24 -8
  92. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  93. package/cjs/scenegraph/group-creater/progress/proxy.d.ts +1 -0
  94. package/cjs/scenegraph/group-creater/progress/proxy.js +11 -5
  95. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  96. package/cjs/scenegraph/icon/icon-update.js +1 -0
  97. package/cjs/scenegraph/icon/icon-update.js.map +1 -1
  98. package/cjs/scenegraph/layout/compute-col-width.js +8 -3
  99. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  100. package/cjs/scenegraph/layout/compute-row-height.js +33 -9
  101. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  102. package/cjs/scenegraph/layout/update-height.js +1 -1
  103. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  104. package/cjs/scenegraph/layout/update-row.js +24 -3
  105. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  106. package/cjs/scenegraph/layout/update-width.js +1 -1
  107. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  108. package/cjs/scenegraph/scenegraph.d.ts +1 -0
  109. package/cjs/scenegraph/scenegraph.js +93 -64
  110. package/cjs/scenegraph/scenegraph.js.map +1 -1
  111. package/cjs/scenegraph/stick-text/index.js +46 -20
  112. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  113. package/cjs/scenegraph/utils/deal-promise-data.d.ts +1 -1
  114. package/cjs/scenegraph/utils/deal-promise-data.js +2 -2
  115. package/cjs/scenegraph/utils/deal-promise-data.js.map +1 -1
  116. package/cjs/scenegraph/utils/text-icon-layout.js +4 -3
  117. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  118. package/cjs/state/cell-move/index.js +6 -3
  119. package/cjs/state/cell-move/index.js.map +1 -1
  120. package/cjs/state/checkbox/checkbox.d.ts +6 -1
  121. package/cjs/state/checkbox/checkbox.js +191 -36
  122. package/cjs/state/checkbox/checkbox.js.map +1 -1
  123. package/cjs/state/radio/radio.d.ts +3 -1
  124. package/cjs/state/radio/radio.js +69 -12
  125. package/cjs/state/radio/radio.js.map +1 -1
  126. package/cjs/state/state.d.ts +3 -2
  127. package/cjs/state/state.js +6 -3
  128. package/cjs/state/state.js.map +1 -1
  129. package/cjs/tools/media.d.ts +1 -0
  130. package/cjs/tools/media.js +19 -0
  131. package/cjs/tools/media.js.map +1 -0
  132. package/cjs/ts-types/base-table.d.ts +2 -0
  133. package/cjs/ts-types/base-table.js.map +1 -1
  134. package/cjs/ts-types/column/type.d.ts +2 -2
  135. package/cjs/ts-types/column/type.js.map +1 -1
  136. package/cjs/ts-types/events.d.ts +3 -1
  137. package/cjs/ts-types/events.js.map +1 -1
  138. package/cjs/ts-types/icon.d.ts +1 -0
  139. package/cjs/ts-types/icon.js.map +1 -1
  140. package/cjs/ts-types/list-table/define/image-define.d.ts +10 -0
  141. package/cjs/ts-types/list-table/define/image-define.js.map +1 -1
  142. package/cjs/ts-types/list-table/define/index.d.ts +5 -4
  143. package/cjs/ts-types/list-table/define/index.js.map +1 -1
  144. package/cjs/ts-types/list-table/layout-map/api.d.ts +4 -4
  145. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  146. package/cjs/ts-types/list-table/layout-map/index.d.ts +1 -1
  147. package/cjs/ts-types/list-table/layout-map/index.js.map +1 -1
  148. package/cjs/ts-types/menu.d.ts +12 -0
  149. package/cjs/ts-types/menu.js.map +1 -1
  150. package/cjs/ts-types/pivot-table/dimension/image-dimension.d.ts +5 -0
  151. package/cjs/ts-types/pivot-table/dimension/image-dimension.js.map +1 -1
  152. package/cjs/ts-types/pivot-table/dimension/index.d.ts +5 -3
  153. package/cjs/ts-types/pivot-table/dimension/index.js.map +1 -1
  154. package/cjs/ts-types/pivot-table/indicator/image-indicator.d.ts +10 -0
  155. package/cjs/ts-types/pivot-table/indicator/image-indicator.js.map +1 -1
  156. package/cjs/ts-types/pivot-table/indicator/index.d.ts +3 -3
  157. package/cjs/ts-types/pivot-table/indicator/index.js.map +1 -1
  158. package/cjs/ts-types/table-engine.d.ts +13 -4
  159. package/cjs/ts-types/table-engine.js.map +1 -1
  160. package/cjs/ts-types/tooltip.d.ts +1 -0
  161. package/cjs/ts-types/tooltip.js.map +1 -1
  162. package/cjs/vrender.js.map +1 -1
  163. package/dist/vtable.js +1528 -367
  164. package/dist/vtable.min.js +1 -1
  165. package/es/ListTable-all.js +4 -4
  166. package/es/ListTable-all.js.map +1 -1
  167. package/es/ListTable.d.ts +5 -2
  168. package/es/ListTable.js +22 -7
  169. package/es/ListTable.js.map +1 -1
  170. package/es/PivotChart.js +4 -4
  171. package/es/PivotChart.js.map +1 -1
  172. package/es/PivotTable-all.js +4 -4
  173. package/es/PivotTable-all.js.map +1 -1
  174. package/es/body-helper/body-helper.d.ts +2 -1
  175. package/es/body-helper/body-helper.js +5 -3
  176. package/es/body-helper/body-helper.js.map +1 -1
  177. package/es/components/index.js +2 -1
  178. package/es/components/tooltip/TooltipHandler.d.ts +4 -0
  179. package/es/components/tooltip/TooltipHandler.js +32 -7
  180. package/es/components/tooltip/TooltipHandler.js.map +1 -1
  181. package/es/core/BaseTable.d.ts +1 -0
  182. package/es/core/BaseTable.js +28 -15
  183. package/es/core/BaseTable.js.map +1 -1
  184. package/es/core/TABLE_EVENT_TYPE.d.ts +1 -0
  185. package/es/core/TABLE_EVENT_TYPE.js +1 -0
  186. package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
  187. package/es/core/row-series-number-helper.d.ts +1 -0
  188. package/es/core/row-series-number-helper.js +3 -1
  189. package/es/core/row-series-number-helper.js.map +1 -1
  190. package/es/core/tableHelper.js +1 -2
  191. package/es/data/CachedDataSource.js +5 -3
  192. package/es/data/CachedDataSource.js.map +1 -1
  193. package/es/data/DataSource.js +2 -1
  194. package/es/event/event.js +1 -1
  195. package/es/event/helper.js +1 -1
  196. package/es/event/media-click.js +148 -12
  197. package/es/event/media-click.js.map +1 -1
  198. package/es/event/scroll.js +1 -1
  199. package/es/event/sparkline-event.js +1 -1
  200. package/es/event/util.js +1 -1
  201. package/es/header-helper/header-helper.d.ts +1 -0
  202. package/es/header-helper/header-helper.js +4 -1
  203. package/es/header-helper/header-helper.js.map +1 -1
  204. package/es/index.d.ts +3 -3
  205. package/es/index.js +1 -1
  206. package/es/index.js.map +1 -1
  207. package/es/layout/index.js +2 -1
  208. package/es/plugins/custom-cell-style.js +1 -1
  209. package/es/plugins/index.js +1 -2
  210. package/es/plugins/interface.d.ts +2 -1
  211. package/es/plugins/interface.js +1 -1
  212. package/es/plugins/interface.js.map +1 -1
  213. package/es/plugins/invert-highlight.js +1 -1
  214. package/es/plugins/list-tree-stick-cell.js +1 -1
  215. package/es/plugins/plugin-manager.d.ts +1 -1
  216. package/es/plugins/plugin-manager.js +12 -7
  217. package/es/plugins/plugin-manager.js.map +1 -1
  218. package/es/scenegraph/group-creater/cell-helper.d.ts +4 -2
  219. package/es/scenegraph/group-creater/cell-helper.js +67 -40
  220. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  221. package/es/scenegraph/group-creater/cell-type/audio-cell.d.ts +7 -0
  222. package/es/scenegraph/group-creater/cell-type/audio-cell.js +89 -0
  223. package/es/scenegraph/group-creater/cell-type/audio-cell.js.map +1 -0
  224. package/es/scenegraph/group-creater/cell-type/button-cell.d.ts +1 -1
  225. package/es/scenegraph/group-creater/cell-type/button-cell.js +5 -4
  226. package/es/scenegraph/group-creater/cell-type/button-cell.js.map +1 -1
  227. package/es/scenegraph/group-creater/cell-type/chart-cell.js +2 -2
  228. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  229. package/es/scenegraph/group-creater/cell-type/checkbox-cell.d.ts +1 -1
  230. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js +5 -4
  231. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  232. package/es/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
  233. package/es/scenegraph/group-creater/cell-type/image-cell.js +43 -14
  234. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  235. package/es/scenegraph/group-creater/cell-type/index.d.ts +1 -0
  236. package/es/scenegraph/group-creater/cell-type/index.js +6 -0
  237. package/es/scenegraph/group-creater/cell-type/index.js.map +1 -1
  238. package/es/scenegraph/group-creater/cell-type/media-cell-helper.d.ts +13 -0
  239. package/es/scenegraph/group-creater/cell-type/media-cell-helper.js +56 -0
  240. package/es/scenegraph/group-creater/cell-type/media-cell-helper.js.map +1 -0
  241. package/es/scenegraph/group-creater/cell-type/radio-cell.d.ts +1 -1
  242. package/es/scenegraph/group-creater/cell-type/radio-cell.js +23 -7
  243. package/es/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -1
  244. package/es/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +1 -1
  245. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +6 -5
  246. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  247. package/es/scenegraph/group-creater/cell-type/switch-cell.d.ts +1 -1
  248. package/es/scenegraph/group-creater/cell-type/switch-cell.js +5 -4
  249. package/es/scenegraph/group-creater/cell-type/switch-cell.js.map +1 -1
  250. package/es/scenegraph/group-creater/cell-type/video-cell.d.ts +1 -1
  251. package/es/scenegraph/group-creater/cell-type/video-cell.js +47 -22
  252. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  253. package/es/scenegraph/group-creater/column-helper.js +14 -8
  254. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  255. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +24 -8
  256. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  257. package/es/scenegraph/group-creater/progress/proxy.d.ts +1 -0
  258. package/es/scenegraph/group-creater/progress/proxy.js +11 -5
  259. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  260. package/es/scenegraph/icon/icon-update.js +1 -0
  261. package/es/scenegraph/icon/icon-update.js.map +1 -1
  262. package/es/scenegraph/layout/compute-col-width.js +8 -3
  263. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  264. package/es/scenegraph/layout/compute-row-height.js +32 -9
  265. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  266. package/es/scenegraph/layout/update-height.js +1 -1
  267. package/es/scenegraph/layout/update-height.js.map +1 -1
  268. package/es/scenegraph/layout/update-row.js +25 -2
  269. package/es/scenegraph/layout/update-row.js.map +1 -1
  270. package/es/scenegraph/layout/update-width.js +1 -1
  271. package/es/scenegraph/layout/update-width.js.map +1 -1
  272. package/es/scenegraph/scenegraph.d.ts +1 -0
  273. package/es/scenegraph/scenegraph.js +93 -64
  274. package/es/scenegraph/scenegraph.js.map +1 -1
  275. package/es/scenegraph/stick-text/index.js +46 -18
  276. package/es/scenegraph/stick-text/index.js.map +1 -1
  277. package/es/scenegraph/utils/deal-promise-data.d.ts +1 -1
  278. package/es/scenegraph/utils/deal-promise-data.js +2 -2
  279. package/es/scenegraph/utils/deal-promise-data.js.map +1 -1
  280. package/es/scenegraph/utils/text-icon-layout.js +7 -6
  281. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  282. package/es/state/cell-move/index.js +6 -3
  283. package/es/state/cell-move/index.js.map +1 -1
  284. package/es/state/checkbox/checkbox.d.ts +6 -1
  285. package/es/state/checkbox/checkbox.js +186 -34
  286. package/es/state/checkbox/checkbox.js.map +1 -1
  287. package/es/state/radio/radio.d.ts +3 -1
  288. package/es/state/radio/radio.js +70 -13
  289. package/es/state/radio/radio.js.map +1 -1
  290. package/es/state/state.d.ts +3 -2
  291. package/es/state/state.js +6 -2
  292. package/es/state/state.js.map +1 -1
  293. package/es/tools/media.d.ts +1 -0
  294. package/es/tools/media.js +11 -0
  295. package/es/tools/media.js.map +1 -0
  296. package/es/ts-types/base-table.d.ts +2 -0
  297. package/es/ts-types/base-table.js.map +1 -1
  298. package/es/ts-types/column/type.d.ts +2 -2
  299. package/es/ts-types/column/type.js.map +1 -1
  300. package/es/ts-types/events.d.ts +3 -1
  301. package/es/ts-types/events.js.map +1 -1
  302. package/es/ts-types/icon.d.ts +1 -0
  303. package/es/ts-types/icon.js.map +1 -1
  304. package/es/ts-types/list-table/define/image-define.d.ts +10 -0
  305. package/es/ts-types/list-table/define/image-define.js.map +1 -1
  306. package/es/ts-types/list-table/define/index.d.ts +5 -4
  307. package/es/ts-types/list-table/define/index.js.map +1 -1
  308. package/es/ts-types/list-table/layout-map/api.d.ts +4 -4
  309. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  310. package/es/ts-types/list-table/layout-map/index.d.ts +1 -1
  311. package/es/ts-types/list-table/layout-map/index.js.map +1 -1
  312. package/es/ts-types/menu.d.ts +12 -0
  313. package/es/ts-types/menu.js.map +1 -1
  314. package/es/ts-types/pivot-table/dimension/image-dimension.d.ts +5 -0
  315. package/es/ts-types/pivot-table/dimension/image-dimension.js.map +1 -1
  316. package/es/ts-types/pivot-table/dimension/index.d.ts +5 -3
  317. package/es/ts-types/pivot-table/dimension/index.js.map +1 -1
  318. package/es/ts-types/pivot-table/indicator/image-indicator.d.ts +10 -0
  319. package/es/ts-types/pivot-table/indicator/image-indicator.js.map +1 -1
  320. package/es/ts-types/pivot-table/indicator/index.d.ts +3 -3
  321. package/es/ts-types/pivot-table/indicator/index.js.map +1 -1
  322. package/es/ts-types/table-engine.d.ts +13 -4
  323. package/es/ts-types/table-engine.js.map +1 -1
  324. package/es/ts-types/tooltip.d.ts +1 -0
  325. package/es/ts-types/tooltip.js.map +1 -1
  326. package/es/vrender.js.map +1 -1
  327. package/package.json +5 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/media-click.ts"],"names":[],"mappings":"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","file":"media-click.js","sourcesContent":["import { isFunction } from '@visactor/vutils';\nimport { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport { Env } from '../tools/env';\nimport { regUrl } from '../tools/global';\nimport type { LinkColumnDefine, MousePointerCellEvent } from '../ts-types';\nimport type { BaseTableAPI, HeaderData } from '../ts-types/base-table';\nimport type { IImageColumnBodyDefine } from '../ts-types/list-table/define/image-define';\nimport { getOrApply } from '../tools/helper';\n\nexport function bindMediaClick(table: BaseTableAPI): void {\n if (Env.mode === 'browser') {\n // table.hasMedia = false;\n\n table.on(TABLE_EVENT_TYPE.CLICK_CELL, (e: MousePointerCellEvent) => {\n //如果目前是在某个icon上,如收起展开按钮 则不进行其他点击逻辑\n const { col, row } = e;\n\n if (e.target.type === 'image' && (e.target as any).role && (e.target as any).role.startsWith('icon')) {\n // click icon\n return;\n }\n\n const cellType = table.getCellType(col, row);\n const columnDefine = table.isHeader(col, row)\n ? table.getHeaderDefine(col, row)\n : table.getBodyColumnDefine(col, row);\n const cellValue = table.getCellValue(col, row);\n const cellOriginValue = table.getCellOriginValue(col, row);\n if (cellType === 'link') {\n let linkJump: boolean | undefined = getOrApply((columnDefine as LinkColumnDefine).linkJump, {\n col,\n row,\n table,\n value: cellValue,\n dataValue: cellOriginValue,\n cellHeaderPaths: undefined\n });\n linkJump = linkJump !== false;\n if (!linkJump) {\n return;\n }\n\n // 点击链接,打开相应页面\n const templateLink = (columnDefine as LinkColumnDefine).templateLink;\n let linkDetect = getOrApply((columnDefine as LinkColumnDefine).linkDetect, {\n col,\n row,\n table,\n value: cellValue,\n dataValue: cellOriginValue,\n cellHeaderPaths: undefined\n });\n linkDetect = linkDetect !== false;\n let url;\n if (templateLink) {\n // 如果有模板链接,使用模板\n const rowData = table.getCellOriginRecord(col, row);\n if (rowData && rowData.vtableMerge) {\n // group title\n return;\n }\n const data = Object.assign(\n {\n __value: cellValue,\n __dataValue: cellOriginValue,\n value: cellValue,\n dataValue: cellOriginValue\n },\n rowData\n );\n if (isFunction(templateLink)) {\n url = templateLink(data, col, row, table);\n } else {\n const re = /\\{\\s*(\\S+?)\\s*\\}/g;\n url = templateLink.replace(re, (matchs: string, key: string) => {\n matchs;\n return (data as any)[key];\n });\n }\n } else if (!linkDetect) {\n url = cellValue;\n } else if (regUrl.test(cellValue)) {\n // 没有模板链接,使用单元格内的字符串\n url = cellValue;\n } else {\n return;\n }\n\n if (!url) {\n return;\n }\n\n const linkTarget = (columnDefine as LinkColumnDefine).linkTarget;\n const linkWindowFeatures = (columnDefine as LinkColumnDefine).linkWindowFeatures;\n window.open(url, linkTarget, linkWindowFeatures);\n } else if (cellType === 'image') {\n // 点击图片,打开放大图片\n const { clickToPreview } = columnDefine as IImageColumnBodyDefine;\n if (clickToPreview === false) {\n return;\n }\n\n // 开启蒙版\n const overlay = document.createElement('div');\n overlay.style.width = '100%';\n overlay.style.height = '100%';\n overlay.style.position = 'fixed';\n overlay.style.top = '0';\n overlay.style.left = '0';\n overlay.style.backgroundColor = 'rgba(30, 30, 30, 0.4)';\n overlay.style.display = 'flex';\n overlay.style.justifyContent = 'center';\n overlay.style.alignItems = 'center';\n overlay.style.overflow = 'hidden';\n overlay.style.zIndex = '9999';\n\n overlay.addEventListener('click', e => {\n if (e.target === overlay) {\n document.body.removeChild(overlay);\n }\n });\n // overlay.addEventListener('pointermove', (e) => {\n // e.stopPropagation();\n // e.preventDefault();\n // });\n // overlay.addEventListener('mousemove', (e) => {\n // e.stopPropagation();\n // e.preventDefault();\n // });\n // 创建图片\n const image = new Image();\n image.src = cellValue;\n image.style.maxWidth = '80%';\n image.style.maxHeight = '80%';\n image.style.backgroundColor = '#FFF';\n overlay.appendChild(image);\n\n document.body.appendChild(overlay);\n } else if (cellType === 'video') {\n // 点击视频,弹出播放窗口\n const { clickToPreview } = columnDefine as IImageColumnBodyDefine;\n if (clickToPreview === false) {\n return;\n }\n\n // 开启蒙版\n const overlay = document.createElement('div');\n overlay.style.width = '100%';\n overlay.style.height = '100%';\n overlay.style.position = 'fixed';\n overlay.style.top = '0';\n overlay.style.left = '0';\n overlay.style.backgroundColor = 'rgba(30, 30, 30, 0.4)';\n overlay.style.display = 'flex';\n overlay.style.justifyContent = 'center';\n overlay.style.alignItems = 'center';\n overlay.style.overflow = 'hidden';\n overlay.style.zIndex = '9999';\n\n overlay.addEventListener('click', e => {\n if (e.target === overlay) {\n document.body.removeChild(overlay);\n }\n });\n\n // 创建视频\n const video = document.createElement('video');\n video.src = cellValue;\n video.style.maxWidth = '80%';\n video.style.maxHeight = '80%';\n video.setAttribute('preload', 'auto');\n video.setAttribute('controls', 'true');\n overlay.appendChild(video);\n\n document.body.appendChild(overlay);\n }\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/event/media-click.ts"],"names":[],"mappings":"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","file":"media-click.js","sourcesContent":["import { isFunction } from '@visactor/vutils';\nimport { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport { Env } from '../tools/env';\nimport { regUrl } from '../tools/global';\nimport type { LinkColumnDefine, MousePointerCellEvent } from '../ts-types';\nimport type { BaseTableAPI, HeaderData } from '../ts-types/base-table';\nimport type { IAudioColumnBodyDefine, IImageColumnBodyDefine } from '../ts-types/list-table/define/image-define';\nimport { getOrApply } from '../tools/helper';\nimport { isAudioUrl } from '../tools/media';\n\nconst MEDIA_PREVIEW_MANAGER_KEY = '__vtable_media_preview_manager__';\n\ninterface MediaPreviewManager {\n closePreview: (() => void) | null;\n registered: boolean;\n close: () => void;\n open: (closePreview: () => void) => void;\n release: () => void;\n ensureRegistered: () => void;\n}\n\nfunction formatAudioTime(time: number) {\n if (!Number.isFinite(time) || time < 0) {\n return '0:00';\n }\n const minutes = Math.floor(time / 60);\n const seconds = Math.floor(time % 60);\n return `${minutes}:${seconds.toString().padStart(2, '0')}`;\n}\n\nfunction updateAudioProgressStyle(progress: HTMLInputElement, value: number) {\n progress.style.background = `linear-gradient(\n to right,\n #2563EB 0%,\n #2563EB ${value}%,\n #D1D5DB ${value}%,\n #D1D5DB 100%\n )`;\n}\n\nfunction ensureAudioPreviewStyle() {\n const styleId = 'vtable-audio-preview-style';\n if (document.getElementById(styleId)) {\n return;\n }\n const style = document.createElement('style');\n style.id = styleId;\n style.textContent = `\n .vtable-audio-preview-progress {\n -webkit-appearance: none;\n appearance: none;\n }\n .vtable-audio-preview-progress::-webkit-slider-runnable-track {\n height: 4px;\n border-radius: 999px;\n background: transparent;\n }\n .vtable-audio-preview-progress::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 12px;\n height: 12px;\n margin-top: -4px;\n border-radius: 50%;\n border: 0;\n background: #2563EB;\n }\n .vtable-audio-preview-progress::-moz-range-track {\n height: 4px;\n border-radius: 999px;\n background: transparent;\n }\n .vtable-audio-preview-progress::-moz-range-thumb {\n width: 12px;\n height: 12px;\n border-radius: 50%;\n border: 0;\n background: #2563EB;\n }\n `;\n document.head.appendChild(style);\n}\n\nfunction createAudioPreview(cellValue: string) {\n ensureAudioPreviewStyle();\n\n const audio = document.createElement('audio');\n audio.src = cellValue;\n audio.preload = 'auto';\n let released = false;\n\n const wrapper = document.createElement('div');\n wrapper.style.width = '80%';\n wrapper.style.maxWidth = '640px';\n wrapper.style.height = '54px';\n wrapper.style.boxSizing = 'border-box';\n wrapper.style.padding = '0 16px';\n wrapper.style.borderRadius = '27px';\n wrapper.style.background = '#F8FAFC';\n wrapper.style.display = 'flex';\n wrapper.style.alignItems = 'center';\n wrapper.style.gap = '10px';\n wrapper.style.boxShadow = '0 8px 24px rgba(15, 23, 42, 0.16)';\n\n const playButton = document.createElement('button');\n playButton.type = 'button';\n playButton.textContent = '▶';\n playButton.style.width = '34px';\n playButton.style.height = '34px';\n playButton.style.border = '1px solid #CBD5E1';\n playButton.style.borderRadius = '8px';\n playButton.style.background = '#EFF6FF';\n playButton.style.color = '#0F172A';\n playButton.style.cursor = 'pointer';\n playButton.style.flex = '0 0 auto';\n playButton.style.fontSize = '14px';\n\n const timeLabel = document.createElement('span');\n timeLabel.textContent = '0:00 / 0:00';\n timeLabel.style.color = '#0F172A';\n timeLabel.style.font = '14px sans-serif';\n timeLabel.style.whiteSpace = 'nowrap';\n\n const progress = document.createElement('input');\n progress.className = 'vtable-audio-preview-progress';\n progress.type = 'range';\n progress.min = '0';\n progress.max = '100';\n progress.value = '0';\n progress.step = '0.1';\n progress.style.flex = '1 1 auto';\n progress.style.height = '4px';\n progress.style.borderRadius = '999px';\n progress.style.outline = 'none';\n progress.style.cursor = 'pointer';\n progress.style.accentColor = '#2563EB';\n updateAudioProgressStyle(progress, 0);\n\n const updateProgress = () => {\n const duration = Number.isFinite(audio.duration) ? audio.duration : 0;\n const currentTime = audio.currentTime || 0;\n const value = duration > 0 ? Math.min(100, (currentTime / duration) * 100) : 0;\n progress.disabled = duration <= 0;\n progress.style.cursor = duration > 0 ? 'pointer' : 'default';\n progress.value = `${value}`;\n timeLabel.textContent = `${formatAudioTime(currentTime)} / ${formatAudioTime(duration)}`;\n updateAudioProgressStyle(progress, value);\n };\n\n playButton.addEventListener('click', e => {\n e.stopPropagation();\n if (audio.paused) {\n const playPromise = audio.play();\n if (playPromise) {\n playPromise.catch(error => {\n if (released || error?.name === 'AbortError') {\n return;\n }\n playButton.textContent = '▶';\n });\n }\n } else {\n audio.pause();\n }\n });\n\n progress.addEventListener('click', e => {\n e.stopPropagation();\n });\n\n progress.addEventListener('input', () => {\n const duration = Number.isFinite(audio.duration) ? audio.duration : 0;\n const value = Number(progress.value);\n if (duration > 0 && Number.isFinite(value)) {\n audio.currentTime = (duration * value) / 100;\n }\n updateProgress();\n });\n\n audio.addEventListener('loadedmetadata', updateProgress);\n audio.addEventListener('durationchange', updateProgress);\n audio.addEventListener('timeupdate', updateProgress);\n audio.addEventListener('play', () => {\n playButton.textContent = '❚❚';\n });\n audio.addEventListener('pause', () => {\n playButton.textContent = '▶';\n });\n audio.addEventListener('ended', () => {\n audio.currentTime = 0;\n playButton.textContent = '▶';\n updateProgress();\n });\n\n wrapper.appendChild(playButton);\n wrapper.appendChild(timeLabel);\n wrapper.appendChild(progress);\n wrapper.appendChild(audio);\n\n return {\n element: wrapper,\n destroy: () => {\n released = true;\n audio.pause();\n audio.removeAttribute('src');\n audio.load();\n }\n };\n}\n\nfunction createMediaPreviewManager(table: BaseTableAPI): MediaPreviewManager {\n const manager: MediaPreviewManager = {\n closePreview: null,\n registered: false,\n close() {\n const closePreview = manager.closePreview;\n manager.closePreview = null;\n closePreview?.();\n },\n open(closePreview: () => void) {\n manager.close();\n manager.closePreview = closePreview;\n },\n release() {\n manager.close();\n manager.registered = false;\n },\n ensureRegistered() {\n if (manager.registered) {\n return;\n }\n table.addReleaseObj(manager);\n manager.registered = true;\n }\n };\n return manager;\n}\n\nfunction getMediaPreviewManager(table: BaseTableAPI): MediaPreviewManager {\n const tableWithManager = table as any;\n if (!tableWithManager[MEDIA_PREVIEW_MANAGER_KEY]) {\n tableWithManager[MEDIA_PREVIEW_MANAGER_KEY] = createMediaPreviewManager(table);\n }\n const manager = tableWithManager[MEDIA_PREVIEW_MANAGER_KEY] as MediaPreviewManager;\n manager.ensureRegistered();\n return manager;\n}\n\nexport function bindMediaClick(table: BaseTableAPI): void {\n if (Env.mode === 'browser') {\n // table.hasMedia = false;\n getMediaPreviewManager(table);\n\n table.on(TABLE_EVENT_TYPE.CLICK_CELL, (e: MousePointerCellEvent) => {\n //如果目前是在某个icon上,如收起展开按钮 则不进行其他点击逻辑\n const { col, row } = e;\n\n if (e.target.type === 'image' && (e.target as any).role && (e.target as any).role.startsWith('icon')) {\n // click icon\n return;\n }\n\n const cellType = table.getCellType(col, row);\n const columnDefine = table.isHeader(col, row)\n ? table.getHeaderDefine(col, row)\n : table.getBodyColumnDefine(col, row);\n const cellValue = table.getCellValue(col, row);\n const cellOriginValue = table.getCellOriginValue(col, row);\n if (cellType === 'link') {\n let linkJump: boolean | undefined = getOrApply((columnDefine as LinkColumnDefine).linkJump, {\n col,\n row,\n table,\n value: cellValue,\n dataValue: cellOriginValue,\n cellHeaderPaths: undefined\n });\n linkJump = linkJump !== false;\n if (!linkJump) {\n return;\n }\n\n // 点击链接,打开相应页面\n const templateLink = (columnDefine as LinkColumnDefine).templateLink;\n let linkDetect = getOrApply((columnDefine as LinkColumnDefine).linkDetect, {\n col,\n row,\n table,\n value: cellValue,\n dataValue: cellOriginValue,\n cellHeaderPaths: undefined\n });\n linkDetect = linkDetect !== false;\n let url;\n if (templateLink) {\n // 如果有模板链接,使用模板\n const rowData = table.getCellOriginRecord(col, row);\n if (rowData && rowData.vtableMerge) {\n // group title\n return;\n }\n const data = Object.assign(\n {\n __value: cellValue,\n __dataValue: cellOriginValue,\n value: cellValue,\n dataValue: cellOriginValue\n },\n rowData\n );\n if (isFunction(templateLink)) {\n url = templateLink(data, col, row, table);\n } else {\n const re = /\\{\\s*(\\S+?)\\s*\\}/g;\n url = templateLink.replace(re, (matchs: string, key: string) => {\n matchs;\n return (data as any)[key];\n });\n }\n } else if (!linkDetect) {\n url = cellValue;\n } else if (regUrl.test(cellValue)) {\n // 没有模板链接,使用单元格内的字符串\n url = cellValue;\n } else {\n return;\n }\n\n if (!url) {\n return;\n }\n\n const linkTarget = (columnDefine as LinkColumnDefine).linkTarget;\n const linkWindowFeatures = (columnDefine as LinkColumnDefine).linkWindowFeatures;\n window.open(url, linkTarget, linkWindowFeatures);\n } else if (cellType === 'image') {\n // 点击图片,打开放大图片\n const { clickToPreview } = columnDefine as IImageColumnBodyDefine;\n if (clickToPreview === false) {\n return;\n }\n const previewManager = getMediaPreviewManager(table);\n\n // 开启蒙版\n const overlay = document.createElement('div');\n overlay.style.width = '100%';\n overlay.style.height = '100%';\n overlay.style.position = 'fixed';\n overlay.style.top = '0';\n overlay.style.left = '0';\n overlay.style.backgroundColor = 'rgba(30, 30, 30, 0.4)';\n overlay.style.display = 'flex';\n overlay.style.justifyContent = 'center';\n overlay.style.alignItems = 'center';\n overlay.style.overflow = 'hidden';\n overlay.style.zIndex = '9999';\n\n const closeOverlay = () => {\n if (overlay.parentNode) {\n document.body.removeChild(overlay);\n }\n };\n previewManager.open(closeOverlay);\n\n overlay.addEventListener('click', e => {\n if (e.target === overlay) {\n previewManager.close();\n }\n });\n // overlay.addEventListener('pointermove', (e) => {\n // e.stopPropagation();\n // e.preventDefault();\n // });\n // overlay.addEventListener('mousemove', (e) => {\n // e.stopPropagation();\n // e.preventDefault();\n // });\n // 创建图片\n const image = new Image();\n image.src = cellValue;\n image.style.maxWidth = '80%';\n image.style.maxHeight = '80%';\n image.style.backgroundColor = '#FFF';\n overlay.appendChild(image);\n\n document.body.appendChild(overlay);\n } else if (cellType === 'audio' || (cellType === 'video' && isAudioUrl(cellValue))) {\n // 点击音频,弹出播放窗口\n const { clickToPreview } = columnDefine as IAudioColumnBodyDefine;\n if (clickToPreview === false) {\n return;\n }\n const previewManager = getMediaPreviewManager(table);\n\n // 开启蒙版\n const overlay = document.createElement('div');\n overlay.style.width = '100%';\n overlay.style.height = '100%';\n overlay.style.position = 'fixed';\n overlay.style.top = '0';\n overlay.style.left = '0';\n overlay.style.backgroundColor = 'rgba(30, 30, 30, 0.4)';\n overlay.style.display = 'flex';\n overlay.style.justifyContent = 'center';\n overlay.style.alignItems = 'center';\n overlay.style.overflow = 'hidden';\n overlay.style.zIndex = '9999';\n\n const audioPreview = createAudioPreview(cellValue);\n const closeOverlay = () => {\n audioPreview.destroy();\n if (overlay.parentNode) {\n document.body.removeChild(overlay);\n }\n };\n previewManager.open(closeOverlay);\n\n overlay.addEventListener('click', e => {\n if (e.target === overlay) {\n previewManager.close();\n }\n });\n\n // 创建音频\n overlay.appendChild(audioPreview.element);\n\n document.body.appendChild(overlay);\n } else if (cellType === 'video') {\n // 点击视频,弹出播放窗口\n const { clickToPreview } = columnDefine as IImageColumnBodyDefine;\n if (clickToPreview === false) {\n return;\n }\n const previewManager = getMediaPreviewManager(table);\n\n // 开启蒙版\n const overlay = document.createElement('div');\n overlay.style.width = '100%';\n overlay.style.height = '100%';\n overlay.style.position = 'fixed';\n overlay.style.top = '0';\n overlay.style.left = '0';\n overlay.style.backgroundColor = 'rgba(30, 30, 30, 0.4)';\n overlay.style.display = 'flex';\n overlay.style.justifyContent = 'center';\n overlay.style.alignItems = 'center';\n overlay.style.overflow = 'hidden';\n overlay.style.zIndex = '9999';\n\n const video = document.createElement('video');\n video.src = cellValue;\n video.style.maxWidth = '80%';\n video.style.maxHeight = '80%';\n video.setAttribute('preload', 'auto');\n video.setAttribute('controls', 'true');\n\n const closeOverlay = () => {\n try {\n video.pause();\n } catch (err) {\n // ignore media cleanup errors\n }\n video.removeAttribute('src');\n try {\n video.load();\n } catch (err) {\n // ignore media cleanup errors\n }\n if (overlay.parentNode) {\n document.body.removeChild(overlay);\n }\n };\n previewManager.open(closeOverlay);\n\n overlay.appendChild(video);\n\n overlay.addEventListener('click', e => {\n if (e.target === overlay) {\n previewManager.close();\n }\n });\n\n document.body.appendChild(overlay);\n }\n });\n }\n}\n"]}
@@ -112,4 +112,4 @@ export class InertiaScroll {
112
112
  return !!this.runingId;
113
113
  }
114
114
  }
115
- //# sourceMappingURL=scroll.js.map
115
+ //# sourceMappingURL=scroll.js.map
@@ -16,4 +16,4 @@ export function bindSparklineHoverEvent(table) {
16
16
  table.stateManager.updateSparklineHoverPose(-1, -1, 0, 0);
17
17
  })));
18
18
  }
19
- //# sourceMappingURL=sparkline-event.js.map
19
+ //# sourceMappingURL=sparkline-event.js.map
package/es/event/util.js CHANGED
@@ -70,4 +70,4 @@ export function setDataToHTML(data) {
70
70
  })), result.push("<tr>", ...rowValues, "</tr>"), rowIndex === rows.length - 1 && result.push("</tbody>");
71
71
  })), result.push("</table>"), [ META_HEAD, result.join("") ].join("");
72
72
  }
73
- //# sourceMappingURL=util.js.map
73
+ //# sourceMappingURL=util.js.map
@@ -15,6 +15,7 @@ export declare class HeaderHelper {
15
15
  collapseIcon: SvgIcon;
16
16
  _table: BaseTableAPI;
17
17
  constructor(_table: BaseTableAPI);
18
+ updateIcons(): void;
18
19
  getIcons(col: number, row: number): ColumnIconOption[];
19
20
  getFrozenIcon(col: number, row: number): ColumnIconOption | null;
20
21
  getSortIcon(order: SortOrder | undefined, _table: BaseTableAPI, col: number, row: number): ColumnIconOption | null;
@@ -16,7 +16,9 @@ import { isValid } from "@visactor/vutils";
16
16
 
17
17
  export class HeaderHelper {
18
18
  constructor(_table) {
19
- this._table = _table;
19
+ this._table = _table, this.updateIcons();
20
+ }
21
+ updateIcons() {
20
22
  const regedIcons = registerIcons.get();
21
23
  this.freezeIcon = regedIcons[InternalIconName.freezeIconName], this.frozenIcon = regedIcons[InternalIconName.frozenIconName],
22
24
  this.frozenCurrentIcon = regedIcons[InternalIconName.frozenCurrentIconName], this.normalIcon = regedIcons[InternalIconName.normalIconName],
@@ -235,6 +237,7 @@ export class HeaderHelper {
235
237
 
236
238
  case "image":
237
239
  case "video":
240
+ case "audio":
238
241
  return ImageStyle;
239
242
 
240
243
  case "checkbox":
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/header-helper/header-helper.ts"],"names":[],"mappings":"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","file":"header-helper.js","sourcesContent":["import type {\n ColumnDefine,\n ColumnIconOption,\n ColumnsDefine,\n HeaderTypeOption,\n ListTableAPI,\n PivotTableAPI,\n RectProps,\n SortOrder,\n SvgIcon\n} from '../ts-types';\nimport { HierarchyState, IconFuncTypeEnum, IconPosition, InternalIconName } from '../ts-types';\nimport * as registerIcons from '../icons';\nimport { cellInRange } from '../tools/helper';\nimport { isMenuHighlight } from '../components/menu/dom/logic/MenuElement';\nimport { Style } from './style/Style';\nimport { ImageStyle } from './style/ImageStyle';\nimport { TextHeaderStyle } from './style';\nimport type { ListTable } from '../ListTable';\nimport type { BaseTableAPI, HeaderData } from '../ts-types/base-table';\nimport { CheckboxStyle } from './style/CheckboxStyle';\nimport { isValid } from '@visactor/vutils';\nexport class HeaderHelper {\n normalIcon: SvgIcon;\n upIcon: SvgIcon;\n downIcon: SvgIcon;\n freezeIcon: SvgIcon;\n frozenIcon: SvgIcon;\n frozenCurrentIcon: SvgIcon;\n dropDownAbsoluteIcon: SvgIcon;\n // dropDownHoverIcon: SvgIcon;\n\n expandIcon: SvgIcon;\n collapseIcon: SvgIcon;\n // //存储鼠标hover到的图标类型,后面需要用name判断,应该再拿个inline对象上赋值showFrozenIconIcon,绘制感应区域\n // _showFrozenIconIcon?: SvgIcon;\n // _showSortIcon?: SvgIcon;\n _table: BaseTableAPI;\n constructor(_table: BaseTableAPI) {\n this._table = _table;\n const regedIcons = registerIcons.get();\n //pin默认值\n this.freezeIcon = regedIcons[InternalIconName.freezeIconName] as SvgIcon;\n this.frozenIcon = regedIcons[InternalIconName.frozenIconName] as SvgIcon;\n this.frozenCurrentIcon = regedIcons[InternalIconName.frozenCurrentIconName] as SvgIcon;\n\n //sort默认值\n this.normalIcon = regedIcons[InternalIconName.normalIconName] as SvgIcon;\n this.upIcon = regedIcons[InternalIconName.upwardIconName] as SvgIcon;\n this.downIcon = regedIcons[InternalIconName.downwardIconName] as SvgIcon;\n //下拉按钮\n this.dropDownAbsoluteIcon = regedIcons[InternalIconName.dropdownIconName] as SvgIcon;\n // this.dropDownHoverIcon = regedIcons[InternalIconName.dropdownHoverIconName] as SvgIcon;\n //展开折叠按钮\n this.expandIcon = regedIcons[InternalIconName.expandIconName] as SvgIcon;\n this.collapseIcon = regedIcons[InternalIconName.collapseIconName] as SvgIcon;\n }\n\n getIcons(col: number, row: number): ColumnIconOption[] {\n //加入固定列图标 排序 文本中元素\n const icons: ColumnIconOption[] = [];\n if (this._table.isPivotTable()) {\n // 透视表显示排序按钮\n const { showSort, sort } = this._table.internalProps.layoutMap.getHeader(col, row) as HeaderData;\n let _showSort;\n if (typeof showSort === 'function') {\n _showSort = showSort({ col, row, table: this._table });\n } else {\n _showSort = showSort;\n }\n if (_showSort) {\n let order = (this._table as PivotTableAPI).getPivotSortState(col, row) as string;\n if (order) {\n order = order.toUpperCase();\n }\n const sortIcon = order === 'ASC' ? this.upIcon : order === 'DESC' ? this.downIcon : this.normalIcon;\n\n if (sortIcon) {\n icons.push(sortIcon);\n }\n } else if (sort) {\n // 处理配置了sort的情况\n const sortIcon = this.getSortIconForPivotTable(\n (this._table as PivotTableAPI).getPivotSortState(col, row),\n this._table,\n col,\n row\n );\n if (sortIcon) {\n icons.push(sortIcon);\n }\n }\n } else {\n const states = (this._table as ListTableAPI).sortState;\n let order: SortOrder | undefined;\n order = undefined;\n const range = this._table.getCellRange(col, row);\n if (states) {\n if (Array.isArray(states)) {\n for (let i = 0; i < states.length; i++) {\n const state = states[i];\n const stateRange = this._table._getHeaderCellBySortState(state);\n if (stateRange && cellInRange(range, stateRange.col, stateRange.row)) {\n ({ order } = state);\n break;\n }\n }\n } else {\n const stateRange = this._table._getHeaderCellBySortState(states);\n if (stateRange && cellInRange(range, stateRange.col, stateRange.row)) {\n ({ order } = states);\n }\n }\n }\n const sortIcon = this.getSortIcon(order, this._table, col, row);\n if (sortIcon) {\n icons.push(sortIcon);\n }\n }\n\n if (this._table.showFrozenIcon && col < this._table.allowFrozenColCount) {\n const pinInline = this.getFrozenIcon(col, row);\n if (pinInline) {\n icons.push(pinInline);\n // context.showIcon = this.showFrozenIconIcon;//todo 暂时去掉 需要想其他方式\n }\n }\n\n if (this.checkDropDownIcon(this._table, col, row)) {\n // const dropDownMenuHoverIcon = this.dropDownHoverIcon;//this.getDropDownHoverIcon(_table, col, row);\n const dropDownMenuIcon = this.dropDownAbsoluteIcon; //this.getDropDownAbsoluteIcon(_table, col, row);\n // dropDownMenuIcon.hover.image = dropDownMenuHoverIcon.svg; // to do 规范化处理\n icons.push(dropDownMenuIcon);\n }\n\n const dropDownStateIcons = this.getDropDownStateIcons(this._table, col, row);\n if (dropDownStateIcons.length) {\n icons.push(...dropDownStateIcons);\n }\n\n const { headerIcon } = this._table._getHeaderLayoutMap(col, row) as HeaderData;\n // captionIcon && icons.push(captionIcon);\n\n const hierarchyIcon = this.getHierarchyIcon(col, row);\n if (hierarchyIcon) {\n icons.push(hierarchyIcon);\n }\n\n if (headerIcon) {\n let headerIconStrs;\n if (typeof headerIcon === 'function') {\n const arg = {\n col,\n row,\n value: this._table.getCellValue(col, row),\n dataValue: this._table.getCellOriginValue(col, row),\n table: this._table\n };\n headerIconStrs = headerIcon(arg);\n } else {\n headerIconStrs = headerIcon;\n }\n const regedIcons = registerIcons.get();\n const addIcon = (headerIcon: string | ColumnIconOption) => {\n let icon;\n if (typeof headerIcon === 'string') {\n icon = regedIcons[headerIcon];\n } else {\n icon = headerIcon;\n }\n if (icon) {\n icons.push(icon);\n }\n };\n if (Array.isArray(headerIconStrs)) {\n headerIconStrs.forEach((columnIcon: string | ColumnIconOption, index: number) => {\n addIcon(columnIcon);\n });\n } else {\n addIcon(headerIconStrs);\n }\n }\n return icons;\n }\n\n getFrozenIcon(col: number, row: number): ColumnIconOption | null {\n // this.showFrozenIconIcon = undefined;\n if (this._table.isPivotTable() || (this._table as ListTable).transpose) {\n // 透视表和转置模式不显示冻结按钮\n return null;\n }\n\n if (this._table.rightFrozenColCount && col >= this._table.colCount - this._table.rightFrozenColCount) {\n return null;\n }\n const headerC = this._table.getHeaderDefine(col, row) as any;\n if (headerC.columns && headerC.columns.length > 0) {\n return null;\n }\n\n let frozen = this.freezeIcon;\n // 使用table.options.frozenColCount原始冻结信息获取按钮\n if (this._table.options.frozenColCount - 1 > col) {\n frozen = this.frozenIcon;\n } else if (this._table.options.frozenColCount - 1 === col) {\n frozen = this.frozenCurrentIcon;\n }\n return frozen;\n }\n\n getSortIcon(order: SortOrder | undefined, _table: BaseTableAPI, col: number, row: number): ColumnIconOption | null {\n // this.showSortIcon = undefined;\n const icon = order === 'asc' ? this.upIcon : order === 'desc' ? this.downIcon : this.normalIcon;\n\n const headerC = _table.getHeaderDefine(col, row) as any;\n let _showSort;\n if (headerC) {\n if (typeof headerC.showSort === 'function') {\n _showSort = headerC.showSort({ col, row, table: this._table });\n } else {\n _showSort = headerC.showSort;\n }\n }\n if (\n !headerC ||\n _showSort === false ||\n (!isValid(_showSort) && !headerC.sort) ||\n (headerC.columns && headerC.columns.length > 0)\n ) {\n return null;\n }\n return icon;\n }\n\n getSortIconForPivotTable(\n order: SortOrder | undefined,\n _table: BaseTableAPI,\n col: number,\n row: number\n ): ColumnIconOption | null {\n const headerC = _table.getHeaderDefine(col, row) as any;\n let _showSort;\n if (headerC) {\n if (typeof headerC.showSort === 'function') {\n _showSort = headerC.showSort({ col, row, table: this._table });\n } else {\n _showSort = headerC.showSort;\n }\n }\n if (\n !headerC ||\n _showSort === false ||\n (!isValid(_showSort) && !headerC.sort) ||\n (headerC.columns && headerC.columns.length > 0)\n ) {\n return null;\n }\n const icon =\n order?.toUpperCase() === 'ASC' ? this.upIcon : order?.toUpperCase() === 'DESC' ? this.downIcon : this.normalIcon;\n // const icon = order === 'ASC' ? this.downIcon : this.upIcon;\n return icon;\n }\n\n private getDropDownStateIcons(_table: BaseTableAPI, col: number, row: number): ColumnIconOption[] {\n const headerC = _table.getHeaderDefine(col, row) as ColumnDefine;\n const headerL = _table._getHeaderLayoutMap(col, row) as HeaderData;\n let { dropDownMenu } = headerL as HeaderData;\n if (typeof dropDownMenu === 'function') {\n dropDownMenu = dropDownMenu({ row, col, table: _table });\n }\n let globalDropDownMenu = _table.globalDropDownMenu;\n if (typeof globalDropDownMenu === 'function') {\n globalDropDownMenu = globalDropDownMenu({ row, col, table: _table });\n }\n const results: ColumnIconOption[] = [];\n if (\n (Array.isArray(dropDownMenu) && dropDownMenu.length) || // header中配置dropDownMenu\n (Array.isArray(globalDropDownMenu) && globalDropDownMenu.length && !headerC?.columns?.length) // 全局配置dropDownMenu,只在最下级表头展示\n ) {\n const menus = dropDownMenu || globalDropDownMenu;\n let highlightIndex = -1;\n let subHighlightIndex = -1;\n for (let i = 0; i < menus.length; i++) {\n const menu = menus[i];\n // 优先判断子元素\n if (typeof menu === 'object' && menu.children && menu.children.length) {\n for (let j = 0; j < menu.children.length; j++) {\n const childItem = menu.children[j];\n if (\n _table.stateManager.menu?.dropDownMenuHighlight &&\n isMenuHighlight(\n _table,\n _table.stateManager.menu?.dropDownMenuHighlight,\n typeof childItem === 'object' ? childItem?.menuKey : childItem,\n col,\n row,\n i\n )\n ) {\n highlightIndex = i;\n subHighlightIndex = j;\n break;\n }\n }\n }\n if (_table._dropDownMenuIsHighlight(col, row, i)) {\n highlightIndex = i;\n break;\n }\n }\n // const highlightIndex = _table._dropDownMenuIsHighlight(col, row);\n if (highlightIndex !== -1) {\n let menu;\n if (subHighlightIndex !== -1) {\n menu = (menus[highlightIndex] as any).children[subHighlightIndex];\n } else {\n menu = menus[highlightIndex];\n }\n\n if (menu.stateIcon) {\n if (menu.stateIcon.svg) {\n results.push({\n type: 'svg',\n name: menu.stateIcon.src || menu.stateIcon.svg,\n width: menu.stateIcon.width || 22,\n height: menu.stateIcon.height || 22,\n // dropDownIndex: highlightIndex,\n svg: menu.stateIcon.svg,\n positionType: IconPosition.right,\n marginRight: 0,\n funcType: IconFuncTypeEnum.dropDownState,\n interactive: false\n // hover: {\n // width: menu.stateIcon.width || 22,\n // height: menu.stateIcon.height || 22,\n // bgColor: 'rgba(101, 117, 168, 0.1)',\n // },\n });\n } else if (menu.stateIcon.src) {\n results.push({\n type: 'image',\n name: menu.stateIcon.src || menu.stateIcon.svg,\n width: menu.stateIcon.width || 22,\n height: menu.stateIcon.height || 22,\n // dropDownIndex: highlightIndex,\n src: menu.stateIcon.src,\n positionType: IconPosition.right,\n marginRight: 0,\n funcType: IconFuncTypeEnum.dropDownState,\n interactive: false\n // hover: {\n // width: menu.stateIcon.width || 22,\n // height: menu.stateIcon.height || 22,\n // bgColor: 'rgba(101, 117, 168, 0.1)',\n // },\n });\n }\n }\n }\n }\n return results;\n }\n /**\n * 内置dropDownIcon的位置信息\n * @param cellRect\n * @param marginTop\n * @param baseline\n * @returns\n */\n getDropDownIconRect(cellRect: RectProps, marginTop: number, baseline?: string): RectProps {\n // const left = cellRect.right - (this.downIcon.box?.width || 0) - marginRight;\n // const right = cellRect.right - marginRight;\n const iconW = this.downIcon.hover?.width ?? this.downIcon?.width ?? 0;\n const iconH = this.downIcon.hover?.height ?? this.downIcon?.height ?? 0;\n const left = cellRect.right - 2 - iconW;\n const right = cellRect.right - 2;\n let top;\n if (baseline === 'middle') {\n top = cellRect.top + cellRect.height / 2 - iconW / 2;\n } else if (baseline === 'top') {\n top = cellRect.top + marginTop / 2;\n } else if (baseline === 'bottom') {\n top = cellRect.bottom - marginTop * 2;\n } else {\n top = cellRect.top;\n }\n const bottom = iconH + top;\n\n return {\n left,\n right,\n top,\n bottom,\n width: iconW,\n height: iconH\n };\n }\n\n getHierarchyIcon(col: number, row: number) {\n const { hierarchyState } = this._table._getHeaderLayoutMap(col, row) as HeaderData;\n if (hierarchyState) {\n if (hierarchyState === HierarchyState.expand) {\n //展开状态 应该显示-号\n return this.expandIcon;\n } else if (hierarchyState === HierarchyState.collapse) {\n //折叠状态 应该显示-号\n return this.collapseIcon;\n }\n }\n return undefined;\n }\n getHierarchyIconWidth() {\n return this.expandIcon.width + (this.expandIcon.marginLeft ?? 0) + (this.expandIcon.marginRight ?? 0);\n }\n private checkDropDownIcon(_table: BaseTableAPI, col: number, row: number) {\n /*\n * dropDownMenu有三种状态:\n * 1. header中未配置 =》 使用globalDropDownMenu,icon展示\n * 2. header中配置 =》 使用header中的dropDownMenu,icon展示\n * 3. header中dropDownMenu为空数组 =》 icon不展示\n */\n if (_table.isPivotTable()) {\n const headerC = _table._getHeaderLayoutMap(col, row) as HeaderData;\n let dropDownMenu = headerC.dropDownMenu;\n if (typeof dropDownMenu === 'function') {\n dropDownMenu = dropDownMenu({ row, col, table: _table });\n }\n if (\n Array.isArray(dropDownMenu) &&\n dropDownMenu.length // header中配置dropDownMenu\n ) {\n return true;\n }\n } else {\n const headerC = _table.getHeaderDefine(col, row) as ColumnDefine;\n const dropDownMenu = headerC.dropDownMenu;\n let globalDropDownMenu = _table.globalDropDownMenu;\n if (typeof globalDropDownMenu === 'function') {\n globalDropDownMenu = globalDropDownMenu({ row, col, table: _table });\n }\n if (\n (Array.isArray(dropDownMenu) && dropDownMenu.length) || // header中配置dropDownMenu\n ((!Array.isArray(headerC.dropDownMenu) || headerC.dropDownMenu.length !== 0) && // header中dropDownMenu为空数组,不显示\n Array.isArray(globalDropDownMenu) &&\n globalDropDownMenu.length && // 全局配置dropDownMenu\n !headerC?.columns?.length) // 只在最下级表头展示\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n getStyleClass(headerType: HeaderTypeOption) {\n switch (headerType) {\n case 'text':\n return TextHeaderStyle;\n case 'image':\n return ImageStyle;\n case 'video':\n return ImageStyle;\n case 'link':\n return TextHeaderStyle;\n case 'checkbox':\n return CheckboxStyle;\n default:\n return TextHeaderStyle;\n }\n }\n\n setTableColumnsEditor() {\n const setEditor = (colDefines: ColumnsDefine, setColumns: ColumnsDefine) => {\n colDefines?.forEach((colDefine, index) => {\n if (colDefine.editor) {\n setColumns[index].editor = colDefine.editor;\n }\n if (colDefine.columns) {\n setEditor(colDefine.columns, setColumns[index].columns);\n }\n });\n };\n setEditor((this._table as ListTable).options.columns, (this._table as ListTable).internalProps.columns);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/header-helper/header-helper.ts"],"names":[],"mappings":"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","file":"header-helper.js","sourcesContent":["import type {\n ColumnDefine,\n ColumnIconOption,\n ColumnsDefine,\n HeaderTypeOption,\n ListTableAPI,\n PivotTableAPI,\n RectProps,\n SortOrder,\n SvgIcon\n} from '../ts-types';\nimport { HierarchyState, IconFuncTypeEnum, IconPosition, InternalIconName } from '../ts-types';\nimport * as registerIcons from '../icons';\nimport { cellInRange } from '../tools/helper';\nimport { isMenuHighlight } from '../components/menu/dom/logic/MenuElement';\nimport { Style } from './style/Style';\nimport { ImageStyle } from './style/ImageStyle';\nimport { TextHeaderStyle } from './style';\nimport type { ListTable } from '../ListTable';\nimport type { BaseTableAPI, HeaderData } from '../ts-types/base-table';\nimport { CheckboxStyle } from './style/CheckboxStyle';\nimport { isValid } from '@visactor/vutils';\nexport class HeaderHelper {\n normalIcon: SvgIcon;\n upIcon: SvgIcon;\n downIcon: SvgIcon;\n freezeIcon: SvgIcon;\n frozenIcon: SvgIcon;\n frozenCurrentIcon: SvgIcon;\n dropDownAbsoluteIcon: SvgIcon;\n // dropDownHoverIcon: SvgIcon;\n\n expandIcon: SvgIcon;\n collapseIcon: SvgIcon;\n // //存储鼠标hover到的图标类型,后面需要用name判断,应该再拿个inline对象上赋值showFrozenIconIcon,绘制感应区域\n // _showFrozenIconIcon?: SvgIcon;\n // _showSortIcon?: SvgIcon;\n _table: BaseTableAPI;\n constructor(_table: BaseTableAPI) {\n this._table = _table;\n this.updateIcons();\n }\n\n updateIcons() {\n const regedIcons = registerIcons.get();\n //pin默认值\n this.freezeIcon = regedIcons[InternalIconName.freezeIconName] as SvgIcon;\n this.frozenIcon = regedIcons[InternalIconName.frozenIconName] as SvgIcon;\n this.frozenCurrentIcon = regedIcons[InternalIconName.frozenCurrentIconName] as SvgIcon;\n\n //sort默认值\n this.normalIcon = regedIcons[InternalIconName.normalIconName] as SvgIcon;\n this.upIcon = regedIcons[InternalIconName.upwardIconName] as SvgIcon;\n this.downIcon = regedIcons[InternalIconName.downwardIconName] as SvgIcon;\n //下拉按钮\n this.dropDownAbsoluteIcon = regedIcons[InternalIconName.dropdownIconName] as SvgIcon;\n // this.dropDownHoverIcon = regedIcons[InternalIconName.dropdownHoverIconName] as SvgIcon;\n //展开折叠按钮\n this.expandIcon = regedIcons[InternalIconName.expandIconName] as SvgIcon;\n this.collapseIcon = regedIcons[InternalIconName.collapseIconName] as SvgIcon;\n }\n\n getIcons(col: number, row: number): ColumnIconOption[] {\n //加入固定列图标 排序 文本中元素\n const icons: ColumnIconOption[] = [];\n if (this._table.isPivotTable()) {\n // 透视表显示排序按钮\n const { showSort, sort } = this._table.internalProps.layoutMap.getHeader(col, row) as HeaderData;\n let _showSort;\n if (typeof showSort === 'function') {\n _showSort = showSort({ col, row, table: this._table });\n } else {\n _showSort = showSort;\n }\n if (_showSort) {\n let order = (this._table as PivotTableAPI).getPivotSortState(col, row) as string;\n if (order) {\n order = order.toUpperCase();\n }\n const sortIcon = order === 'ASC' ? this.upIcon : order === 'DESC' ? this.downIcon : this.normalIcon;\n\n if (sortIcon) {\n icons.push(sortIcon);\n }\n } else if (sort) {\n // 处理配置了sort的情况\n const sortIcon = this.getSortIconForPivotTable(\n (this._table as PivotTableAPI).getPivotSortState(col, row),\n this._table,\n col,\n row\n );\n if (sortIcon) {\n icons.push(sortIcon);\n }\n }\n } else {\n const states = (this._table as ListTableAPI).sortState;\n let order: SortOrder | undefined;\n order = undefined;\n const range = this._table.getCellRange(col, row);\n if (states) {\n if (Array.isArray(states)) {\n for (let i = 0; i < states.length; i++) {\n const state = states[i];\n const stateRange = this._table._getHeaderCellBySortState(state);\n if (stateRange && cellInRange(range, stateRange.col, stateRange.row)) {\n ({ order } = state);\n break;\n }\n }\n } else {\n const stateRange = this._table._getHeaderCellBySortState(states);\n if (stateRange && cellInRange(range, stateRange.col, stateRange.row)) {\n ({ order } = states);\n }\n }\n }\n const sortIcon = this.getSortIcon(order, this._table, col, row);\n if (sortIcon) {\n icons.push(sortIcon);\n }\n }\n\n if (this._table.showFrozenIcon && col < this._table.allowFrozenColCount) {\n const pinInline = this.getFrozenIcon(col, row);\n if (pinInline) {\n icons.push(pinInline);\n // context.showIcon = this.showFrozenIconIcon;//todo 暂时去掉 需要想其他方式\n }\n }\n\n if (this.checkDropDownIcon(this._table, col, row)) {\n // const dropDownMenuHoverIcon = this.dropDownHoverIcon;//this.getDropDownHoverIcon(_table, col, row);\n const dropDownMenuIcon = this.dropDownAbsoluteIcon; //this.getDropDownAbsoluteIcon(_table, col, row);\n // dropDownMenuIcon.hover.image = dropDownMenuHoverIcon.svg; // to do 规范化处理\n icons.push(dropDownMenuIcon);\n }\n\n const dropDownStateIcons = this.getDropDownStateIcons(this._table, col, row);\n if (dropDownStateIcons.length) {\n icons.push(...dropDownStateIcons);\n }\n\n const { headerIcon } = this._table._getHeaderLayoutMap(col, row) as HeaderData;\n // captionIcon && icons.push(captionIcon);\n\n const hierarchyIcon = this.getHierarchyIcon(col, row);\n if (hierarchyIcon) {\n icons.push(hierarchyIcon);\n }\n\n if (headerIcon) {\n let headerIconStrs;\n if (typeof headerIcon === 'function') {\n const arg = {\n col,\n row,\n value: this._table.getCellValue(col, row),\n dataValue: this._table.getCellOriginValue(col, row),\n table: this._table\n };\n headerIconStrs = headerIcon(arg);\n } else {\n headerIconStrs = headerIcon;\n }\n const regedIcons = registerIcons.get();\n const addIcon = (headerIcon: string | ColumnIconOption) => {\n let icon;\n if (typeof headerIcon === 'string') {\n icon = regedIcons[headerIcon];\n } else {\n icon = headerIcon;\n }\n if (icon) {\n icons.push(icon);\n }\n };\n if (Array.isArray(headerIconStrs)) {\n headerIconStrs.forEach((columnIcon: string | ColumnIconOption, index: number) => {\n addIcon(columnIcon);\n });\n } else {\n addIcon(headerIconStrs);\n }\n }\n return icons;\n }\n\n getFrozenIcon(col: number, row: number): ColumnIconOption | null {\n // this.showFrozenIconIcon = undefined;\n if (this._table.isPivotTable() || (this._table as ListTable).transpose) {\n // 透视表和转置模式不显示冻结按钮\n return null;\n }\n\n if (this._table.rightFrozenColCount && col >= this._table.colCount - this._table.rightFrozenColCount) {\n return null;\n }\n const headerC = this._table.getHeaderDefine(col, row) as any;\n if (headerC.columns && headerC.columns.length > 0) {\n return null;\n }\n\n let frozen = this.freezeIcon;\n // 使用table.options.frozenColCount原始冻结信息获取按钮\n if (this._table.options.frozenColCount - 1 > col) {\n frozen = this.frozenIcon;\n } else if (this._table.options.frozenColCount - 1 === col) {\n frozen = this.frozenCurrentIcon;\n }\n return frozen;\n }\n\n getSortIcon(order: SortOrder | undefined, _table: BaseTableAPI, col: number, row: number): ColumnIconOption | null {\n // this.showSortIcon = undefined;\n const icon = order === 'asc' ? this.upIcon : order === 'desc' ? this.downIcon : this.normalIcon;\n\n const headerC = _table.getHeaderDefine(col, row) as any;\n let _showSort;\n if (headerC) {\n if (typeof headerC.showSort === 'function') {\n _showSort = headerC.showSort({ col, row, table: this._table });\n } else {\n _showSort = headerC.showSort;\n }\n }\n if (\n !headerC ||\n _showSort === false ||\n (!isValid(_showSort) && !headerC.sort) ||\n (headerC.columns && headerC.columns.length > 0)\n ) {\n return null;\n }\n return icon;\n }\n\n getSortIconForPivotTable(\n order: SortOrder | undefined,\n _table: BaseTableAPI,\n col: number,\n row: number\n ): ColumnIconOption | null {\n const headerC = _table.getHeaderDefine(col, row) as any;\n let _showSort;\n if (headerC) {\n if (typeof headerC.showSort === 'function') {\n _showSort = headerC.showSort({ col, row, table: this._table });\n } else {\n _showSort = headerC.showSort;\n }\n }\n if (\n !headerC ||\n _showSort === false ||\n (!isValid(_showSort) && !headerC.sort) ||\n (headerC.columns && headerC.columns.length > 0)\n ) {\n return null;\n }\n const icon =\n order?.toUpperCase() === 'ASC' ? this.upIcon : order?.toUpperCase() === 'DESC' ? this.downIcon : this.normalIcon;\n // const icon = order === 'ASC' ? this.downIcon : this.upIcon;\n return icon;\n }\n\n private getDropDownStateIcons(_table: BaseTableAPI, col: number, row: number): ColumnIconOption[] {\n const headerC = _table.getHeaderDefine(col, row) as ColumnDefine;\n const headerL = _table._getHeaderLayoutMap(col, row) as HeaderData;\n let { dropDownMenu } = headerL as HeaderData;\n if (typeof dropDownMenu === 'function') {\n dropDownMenu = dropDownMenu({ row, col, table: _table });\n }\n let globalDropDownMenu = _table.globalDropDownMenu;\n if (typeof globalDropDownMenu === 'function') {\n globalDropDownMenu = globalDropDownMenu({ row, col, table: _table });\n }\n const results: ColumnIconOption[] = [];\n if (\n (Array.isArray(dropDownMenu) && dropDownMenu.length) || // header中配置dropDownMenu\n (Array.isArray(globalDropDownMenu) && globalDropDownMenu.length && !headerC?.columns?.length) // 全局配置dropDownMenu,只在最下级表头展示\n ) {\n const menus = dropDownMenu || globalDropDownMenu;\n let highlightIndex = -1;\n let subHighlightIndex = -1;\n for (let i = 0; i < menus.length; i++) {\n const menu = menus[i];\n // 优先判断子元素\n if (typeof menu === 'object' && menu.children && menu.children.length) {\n for (let j = 0; j < menu.children.length; j++) {\n const childItem = menu.children[j];\n if (\n _table.stateManager.menu?.dropDownMenuHighlight &&\n isMenuHighlight(\n _table,\n _table.stateManager.menu?.dropDownMenuHighlight,\n typeof childItem === 'object' ? childItem?.menuKey : childItem,\n col,\n row,\n i\n )\n ) {\n highlightIndex = i;\n subHighlightIndex = j;\n break;\n }\n }\n }\n if (_table._dropDownMenuIsHighlight(col, row, i)) {\n highlightIndex = i;\n break;\n }\n }\n // const highlightIndex = _table._dropDownMenuIsHighlight(col, row);\n if (highlightIndex !== -1) {\n let menu;\n if (subHighlightIndex !== -1) {\n menu = (menus[highlightIndex] as any).children[subHighlightIndex];\n } else {\n menu = menus[highlightIndex];\n }\n\n if (menu.stateIcon) {\n if (menu.stateIcon.svg) {\n results.push({\n type: 'svg',\n name: menu.stateIcon.src || menu.stateIcon.svg,\n width: menu.stateIcon.width || 22,\n height: menu.stateIcon.height || 22,\n // dropDownIndex: highlightIndex,\n svg: menu.stateIcon.svg,\n positionType: IconPosition.right,\n marginRight: 0,\n funcType: IconFuncTypeEnum.dropDownState,\n interactive: false\n // hover: {\n // width: menu.stateIcon.width || 22,\n // height: menu.stateIcon.height || 22,\n // bgColor: 'rgba(101, 117, 168, 0.1)',\n // },\n });\n } else if (menu.stateIcon.src) {\n results.push({\n type: 'image',\n name: menu.stateIcon.src || menu.stateIcon.svg,\n width: menu.stateIcon.width || 22,\n height: menu.stateIcon.height || 22,\n // dropDownIndex: highlightIndex,\n src: menu.stateIcon.src,\n positionType: IconPosition.right,\n marginRight: 0,\n funcType: IconFuncTypeEnum.dropDownState,\n interactive: false\n // hover: {\n // width: menu.stateIcon.width || 22,\n // height: menu.stateIcon.height || 22,\n // bgColor: 'rgba(101, 117, 168, 0.1)',\n // },\n });\n }\n }\n }\n }\n return results;\n }\n /**\n * 内置dropDownIcon的位置信息\n * @param cellRect\n * @param marginTop\n * @param baseline\n * @returns\n */\n getDropDownIconRect(cellRect: RectProps, marginTop: number, baseline?: string): RectProps {\n // const left = cellRect.right - (this.downIcon.box?.width || 0) - marginRight;\n // const right = cellRect.right - marginRight;\n const iconW = this.downIcon.hover?.width ?? this.downIcon?.width ?? 0;\n const iconH = this.downIcon.hover?.height ?? this.downIcon?.height ?? 0;\n const left = cellRect.right - 2 - iconW;\n const right = cellRect.right - 2;\n let top;\n if (baseline === 'middle') {\n top = cellRect.top + cellRect.height / 2 - iconW / 2;\n } else if (baseline === 'top') {\n top = cellRect.top + marginTop / 2;\n } else if (baseline === 'bottom') {\n top = cellRect.bottom - marginTop * 2;\n } else {\n top = cellRect.top;\n }\n const bottom = iconH + top;\n\n return {\n left,\n right,\n top,\n bottom,\n width: iconW,\n height: iconH\n };\n }\n\n getHierarchyIcon(col: number, row: number) {\n const { hierarchyState } = this._table._getHeaderLayoutMap(col, row) as HeaderData;\n if (hierarchyState) {\n if (hierarchyState === HierarchyState.expand) {\n //展开状态 应该显示-号\n return this.expandIcon;\n } else if (hierarchyState === HierarchyState.collapse) {\n //折叠状态 应该显示-号\n return this.collapseIcon;\n }\n }\n return undefined;\n }\n getHierarchyIconWidth() {\n return this.expandIcon.width + (this.expandIcon.marginLeft ?? 0) + (this.expandIcon.marginRight ?? 0);\n }\n private checkDropDownIcon(_table: BaseTableAPI, col: number, row: number) {\n /*\n * dropDownMenu有三种状态:\n * 1. header中未配置 =》 使用globalDropDownMenu,icon展示\n * 2. header中配置 =》 使用header中的dropDownMenu,icon展示\n * 3. header中dropDownMenu为空数组 =》 icon不展示\n */\n if (_table.isPivotTable()) {\n const headerC = _table._getHeaderLayoutMap(col, row) as HeaderData;\n let dropDownMenu = headerC.dropDownMenu;\n if (typeof dropDownMenu === 'function') {\n dropDownMenu = dropDownMenu({ row, col, table: _table });\n }\n if (\n Array.isArray(dropDownMenu) &&\n dropDownMenu.length // header中配置dropDownMenu\n ) {\n return true;\n }\n } else {\n const headerC = _table.getHeaderDefine(col, row) as ColumnDefine;\n const dropDownMenu = headerC.dropDownMenu;\n let globalDropDownMenu = _table.globalDropDownMenu;\n if (typeof globalDropDownMenu === 'function') {\n globalDropDownMenu = globalDropDownMenu({ row, col, table: _table });\n }\n if (\n (Array.isArray(dropDownMenu) && dropDownMenu.length) || // header中配置dropDownMenu\n ((!Array.isArray(headerC.dropDownMenu) || headerC.dropDownMenu.length !== 0) && // header中dropDownMenu为空数组,不显示\n Array.isArray(globalDropDownMenu) &&\n globalDropDownMenu.length && // 全局配置dropDownMenu\n !headerC?.columns?.length) // 只在最下级表头展示\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n getStyleClass(headerType: HeaderTypeOption) {\n switch (headerType) {\n case 'text':\n return TextHeaderStyle;\n case 'image':\n case 'video':\n case 'audio':\n return ImageStyle;\n case 'link':\n return TextHeaderStyle;\n case 'checkbox':\n return CheckboxStyle;\n default:\n return TextHeaderStyle;\n }\n }\n\n setTableColumnsEditor() {\n const setEditor = (colDefines: ColumnsDefine, setColumns: ColumnsDefine) => {\n colDefines?.forEach((colDefine, index) => {\n if (colDefine.editor) {\n setColumns[index].editor = colDefine.editor;\n }\n if (colDefine.columns) {\n setEditor(colDefine.columns, setColumns[index].columns);\n }\n });\n };\n setEditor((this._table as ListTable).options.columns, (this._table as ListTable).internalProps.columns);\n }\n}\n"]}
package/es/index.d.ts CHANGED
@@ -5,7 +5,7 @@ import * as register from './register';
5
5
  import * as themes from './themes';
6
6
  import * as DataStatistics from './dataset/DataStatistics';
7
7
  import * as pluginsDefinition from './plugins';
8
- import type { ColumnDefine, ColumnsDefine, LinkColumnDefine, ChartColumnDefine, ImageColumnDefine, SparklineColumnDefine, ProgressbarColumnDefine, TextColumnDefine, GroupColumnDefine, ListTableConstructorOptions, PivotTableConstructorOptions, PivotChartConstructorOptions, IHeaderTreeDefine, IDimension, IIndicator, ITitleDefine, ICornerDefine, TextAlignType, TextBaselineType } from './ts-types';
8
+ import type { ColumnDefine, ColumnsDefine, LinkColumnDefine, ChartColumnDefine, ImageColumnDefine, AudioColumnDefine, SparklineColumnDefine, ProgressbarColumnDefine, TextColumnDefine, GroupColumnDefine, ListTableConstructorOptions, PivotTableConstructorOptions, PivotChartConstructorOptions, IHeaderTreeDefine, IDimension, IIndicator, ITitleDefine, ICornerDefine, TextAlignType, TextBaselineType } from './ts-types';
9
9
  import { ListTableAll as ListTable } from './ListTable-all';
10
10
  import { ListTableSimple } from './ListTable-simple';
11
11
  import { PivotTableAll as PivotTable } from './PivotTable-all';
@@ -24,8 +24,8 @@ export { toBoxArray } from './tools/helper';
24
24
  export { Icon } from './scenegraph/graphic/icon';
25
25
  export { CUSTOM_MERGE_PRE_NAME, CUSTOM_CONTAINER_NAME } from './scenegraph/component/custom';
26
26
  export { matrixAllocate, transformPointForCanvas, mapToCanvasPointForCanvas, registerGlobalEventTransformer, registerWindowEventTransformer, vglobal, Group, graphicUtil } from './vrender';
27
- export declare const version = "1.26.5";
28
- export { TYPES, core, ListTable, ListTableSimple, BaseTableAPI, ListTableConstructorOptions, PivotTable, PivotTableSimple, PivotTableConstructorOptions, PivotChartConstructorOptions, PivotChart, IHeaderTreeDefine, IDimension, IIndicator, ITitleDefine, ICornerDefine, ColumnsDefine, ColumnDefine, LinkColumnDefine, ChartColumnDefine, ImageColumnDefine, SparklineColumnDefine, ProgressbarColumnDefine, TextColumnDefine, GroupColumnDefine, TextAlignType, TextBaselineType, textMeasure, themes, data, MousePointerCellEvent, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, setCustomAlphabetCharSet, restoreMeasureText, pluginsDefinition };
27
+ export declare const version = "1.26.7";
28
+ export { TYPES, core, ListTable, ListTableSimple, BaseTableAPI, ListTableConstructorOptions, PivotTable, PivotTableSimple, PivotTableConstructorOptions, PivotChartConstructorOptions, PivotChart, IHeaderTreeDefine, IDimension, IIndicator, ITitleDefine, ICornerDefine, ColumnsDefine, ColumnDefine, LinkColumnDefine, ChartColumnDefine, ImageColumnDefine, AudioColumnDefine, SparklineColumnDefine, ProgressbarColumnDefine, TextColumnDefine, GroupColumnDefine, TextAlignType, TextBaselineType, textMeasure, themes, data, MousePointerCellEvent, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, setCustomAlphabetCharSet, restoreMeasureText, pluginsDefinition };
29
29
  declare function getIcons(): {
30
30
  [key: string]: TYPES.ColumnIconOption;
31
31
  };
package/es/index.js CHANGED
@@ -50,7 +50,7 @@ export { CUSTOM_MERGE_PRE_NAME, CUSTOM_CONTAINER_NAME } from "./scenegraph/compo
50
50
 
51
51
  export { matrixAllocate, transformPointForCanvas, mapToCanvasPointForCanvas, registerGlobalEventTransformer, registerWindowEventTransformer, vglobal, Group, graphicUtil } from "./vrender";
52
52
 
53
- export const version = "1.26.5";
53
+ export const version = "1.26.7";
54
54
 
55
55
  export { TYPES, core, ListTable, ListTableSimple, PivotTable, PivotTableSimple, PivotChart, textMeasure, themes, data, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, setCustomAlphabetCharSet, restoreMeasureText, pluginsDefinition };
56
56
 
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,kBAAkB,EAAE,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,iBAAiB,MAAM,WAAW,CAAC;AAsB/C,OAAO,EAAE,YAAY,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,aAAa,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAM5G,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE7F,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,8BAA8B,EAC9B,8BAA8B,EAC9B,OAAO,EACP,KAAK,EACL,WAAW,EACZ,MAAM,WAAW,CAAC;AAKnB,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAIhC,OAAO,EAKL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,eAAe,EAGf,UAAU,EACV,gBAAgB,EAGhB,UAAU,EAiBV,WAAW,EACX,MAAM,EACN,IAAI,EAEJ,QAAQ,EACR,WAAW,EAEX,QAAQ,EAIR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EAClB,CAAC;AAGF,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AACD,KAAK,CAAC,eAAe,CAAC;AAEtB,cAAc,cAAc,CAAC;AAC7B,cAAc,sCAAsC,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAE/G,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { registerForVrender } from './vrender';\nregisterForVrender();\n\nimport * as TYPES from './ts-types';\nimport * as core from './core';\nimport * as data from './data';\nimport * as icons from './icons';\nimport * as register from './register';\nimport * as themes from './themes';\nimport * as DataStatistics from './dataset/DataStatistics';\nimport * as pluginsDefinition from './plugins';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n ListTableConstructorOptions,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n TextAlignType,\n TextBaselineType\n} from './ts-types';\nimport { ListTableAll as ListTable } from './ListTable-all';\nimport { ListTableSimple } from './ListTable-simple';\n// import { PivotTable } from './PivotTable';\nimport { PivotTableAll as PivotTable } from './PivotTable-all';\nimport { PivotTableSimple } from './PivotTable-simple';\nimport { PivotChart } from './PivotChart';\nimport type { MousePointerCellEvent } from './ts-types/events';\nimport * as CustomLayout from './render/layout';\n\nimport { updateCell } from './scenegraph/group-creater/cell-helper';\nimport { renderChart } from './scenegraph/graphic/contributions/chart-render-helper';\nimport { restoreMeasureText, setCustomAlphabetCharSet, textMeasure } from './scenegraph/utils/text-measure';\nimport type { BaseTableAPI } from './ts-types/base-table';\n\n// import { container, loadCanvasPicker } from '@src/vrender';\n// loadCanvasPicker(container);\n\nexport { getDataCellPath } from './tools/get-data-path';\nexport * from './render/jsx';\nexport { getTargetCell } from './event/util';\nexport { toBoxArray } from './tools/helper';\nexport { Icon } from './scenegraph/graphic/icon';\nexport { CUSTOM_MERGE_PRE_NAME, CUSTOM_CONTAINER_NAME } from './scenegraph/component/custom';\n// 为插件等场景提供必要的 vrender 能力:只导出用到的符号,避免与 render/jsx 的导出成员发生命名冲突。\nexport {\n matrixAllocate,\n transformPointForCanvas,\n mapToCanvasPointForCanvas,\n registerGlobalEventTransformer,\n registerWindowEventTransformer,\n vglobal,\n Group,\n graphicUtil\n} from './vrender';\n\n// export * as VRender from './vrender';\n// import * as VRender from './vrender';\n\nexport const version = \"1.26.5\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableSimple,\n BaseTableAPI,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableSimple,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n PivotChart,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n ColumnsDefine,\n ColumnDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n TextAlignType,\n TextBaselineType,\n textMeasure,\n themes,\n data,\n MousePointerCellEvent,\n getIcons,\n clearGlobal,\n //plugin registers\n register,\n /**\n * 暂不推荐使用\n */\n DataStatistics,\n CustomLayout,\n updateCell,\n renderChart,\n setCustomAlphabetCharSet,\n restoreMeasureText,\n pluginsDefinition\n};\n\n/** @private */\nfunction getIcons(): {\n [key: string]: TYPES.ColumnIconOption;\n} {\n return icons.get();\n}\n/** 清理内部的全局变量 如注册的icon theme等 以及共享的header column类实例 */\nfunction clearGlobal() {\n register.clearAll();\n // headers.type.clearGlobal();\n // columns.type.clearGlobal();\n}\nTYPES.AggregationType;\n\nexport * from './components';\nexport * from './scenegraph/group-creater/cell-type';\n\nexport { TABLE_EVENT_TYPE } from './core/TABLE_EVENT_TYPE';\nexport { PIVOT_CHART_EVENT_TYPE, PIVOT_TABLE_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\n\nexport { EventTarget } from './event/EventTarget';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,kBAAkB,EAAE,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,iBAAiB,MAAM,WAAW,CAAC;AAuB/C,OAAO,EAAE,YAAY,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,aAAa,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAM5G,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE7F,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,8BAA8B,EAC9B,8BAA8B,EAC9B,OAAO,EACP,KAAK,EACL,WAAW,EACZ,MAAM,WAAW,CAAC;AAKnB,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAIhC,OAAO,EAKL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,eAAe,EAGf,UAAU,EACV,gBAAgB,EAGhB,UAAU,EAkBV,WAAW,EACX,MAAM,EACN,IAAI,EAEJ,QAAQ,EACR,WAAW,EAEX,QAAQ,EAIR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EAClB,CAAC;AAGF,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AACD,KAAK,CAAC,eAAe,CAAC;AAEtB,cAAc,cAAc,CAAC;AAC7B,cAAc,sCAAsC,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAE/G,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { registerForVrender } from './vrender';\nregisterForVrender();\n\nimport * as TYPES from './ts-types';\nimport * as core from './core';\nimport * as data from './data';\nimport * as icons from './icons';\nimport * as register from './register';\nimport * as themes from './themes';\nimport * as DataStatistics from './dataset/DataStatistics';\nimport * as pluginsDefinition from './plugins';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n AudioColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n ListTableConstructorOptions,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n TextAlignType,\n TextBaselineType\n} from './ts-types';\nimport { ListTableAll as ListTable } from './ListTable-all';\nimport { ListTableSimple } from './ListTable-simple';\n// import { PivotTable } from './PivotTable';\nimport { PivotTableAll as PivotTable } from './PivotTable-all';\nimport { PivotTableSimple } from './PivotTable-simple';\nimport { PivotChart } from './PivotChart';\nimport type { MousePointerCellEvent } from './ts-types/events';\nimport * as CustomLayout from './render/layout';\n\nimport { updateCell } from './scenegraph/group-creater/cell-helper';\nimport { renderChart } from './scenegraph/graphic/contributions/chart-render-helper';\nimport { restoreMeasureText, setCustomAlphabetCharSet, textMeasure } from './scenegraph/utils/text-measure';\nimport type { BaseTableAPI } from './ts-types/base-table';\n\n// import { container, loadCanvasPicker } from '@src/vrender';\n// loadCanvasPicker(container);\n\nexport { getDataCellPath } from './tools/get-data-path';\nexport * from './render/jsx';\nexport { getTargetCell } from './event/util';\nexport { toBoxArray } from './tools/helper';\nexport { Icon } from './scenegraph/graphic/icon';\nexport { CUSTOM_MERGE_PRE_NAME, CUSTOM_CONTAINER_NAME } from './scenegraph/component/custom';\n// 为插件等场景提供必要的 vrender 能力:只导出用到的符号,避免与 render/jsx 的导出成员发生命名冲突。\nexport {\n matrixAllocate,\n transformPointForCanvas,\n mapToCanvasPointForCanvas,\n registerGlobalEventTransformer,\n registerWindowEventTransformer,\n vglobal,\n Group,\n graphicUtil\n} from './vrender';\n\n// export * as VRender from './vrender';\n// import * as VRender from './vrender';\n\nexport const version = \"1.26.7\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableSimple,\n BaseTableAPI,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableSimple,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n PivotChart,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n ColumnsDefine,\n ColumnDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n AudioColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n TextAlignType,\n TextBaselineType,\n textMeasure,\n themes,\n data,\n MousePointerCellEvent,\n getIcons,\n clearGlobal,\n //plugin registers\n register,\n /**\n * 暂不推荐使用\n */\n DataStatistics,\n CustomLayout,\n updateCell,\n renderChart,\n setCustomAlphabetCharSet,\n restoreMeasureText,\n pluginsDefinition\n};\n\n/** @private */\nfunction getIcons(): {\n [key: string]: TYPES.ColumnIconOption;\n} {\n return icons.get();\n}\n/** 清理内部的全局变量 如注册的icon theme等 以及共享的header column类实例 */\nfunction clearGlobal() {\n register.clearAll();\n // headers.type.clearGlobal();\n // columns.type.clearGlobal();\n}\nTYPES.AggregationType;\n\nexport * from './components';\nexport * from './scenegraph/group-creater/cell-type';\n\nexport { TABLE_EVENT_TYPE } from './core/TABLE_EVENT_TYPE';\nexport { PIVOT_CHART_EVENT_TYPE, PIVOT_TABLE_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\n\nexport { EventTarget } from './event/EventTarget';\n"]}
@@ -1 +1,2 @@
1
- export { SimpleHeaderLayoutMap } from "./simple-header-layout";
1
+ export { SimpleHeaderLayoutMap } from "./simple-header-layout";
2
+ //# sourceMappingURL=index.js.map
@@ -159,4 +159,4 @@ export function mergeStyle(cacheStyle, customCellStyle) {
159
159
  export const registerCustomCellStylePlugin = () => {
160
160
  Factory.registerComponent("customCellStylePlugin", CustomCellStylePlugin);
161
161
  };
162
- //# sourceMappingURL=custom-cell-style.js.map
162
+ //# sourceMappingURL=custom-cell-style.js.map
@@ -1,4 +1,3 @@
1
1
  export { PluginManager } from "./plugin-manager";
2
2
 
3
- export { CustomCellStylePlugin } from "./custom-cell-style";
4
- //# sourceMappingURL=index.js.map
3
+ export { CustomCellStylePlugin } from "./custom-cell-style";
@@ -1,9 +1,10 @@
1
1
  import type { TableEvents } from '../core/TABLE_EVENT_TYPE';
2
- import type { BaseTableAPI } from '../ts-types/base-table';
2
+ import type { BaseTableAPI, BaseTableConstructorOptions } from '../ts-types/base-table';
3
3
  export interface IVTablePlugin {
4
4
  id: string;
5
5
  name: string;
6
6
  runTime: TableEvents[keyof TableEvents][];
7
+ init?: (table: BaseTableAPI, options: BaseTableConstructorOptions) => void;
7
8
  run: (...args: any[]) => void;
8
9
  update?: () => void;
9
10
  release?: (table: BaseTableAPI) => void;
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=interface.js.map
2
+ //# sourceMappingURL=interface.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugins/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { TableEvents } from '../core/TABLE_EVENT_TYPE';\nimport type { BaseTableAPI } from '../ts-types/base-table';\n\n// 插件生命周期接口\nexport interface IVTablePlugin {\n // 插件唯一标识\n id: string;\n // 插件名称\n name: string;\n // // 插件优先级,数字越小优先级越高 TODO:目前还没起作用,后续是否有安排插件优先级的需求\n // priority?: number;\n\n // // 插件类型,用于区分不同功能的插件\n // type: 'layout' | 'interaction' | 'style' | 'animation';\n // 插件运行时机\n runTime: TableEvents[keyof TableEvents][];\n // // 插件依赖\n // dependencies?: string[];\n // 初始化方法,在VTable实例创建后、首次渲染前调用\n run: (...args: any[]) => void;\n // 更新方法,当表格数据或配置更新时调用\n update?: () => void;\n // 销毁方法,在VTable实例销毁前调用\n release?: (table: BaseTableAPI) => void;\n}\n"]}
1
+ {"version":3,"sources":["../src/plugins/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { TableEvents } from '../core/TABLE_EVENT_TYPE';\nimport type { BaseTableAPI, BaseTableConstructorOptions } from '../ts-types/base-table';\n\n// 插件生命周期接口\nexport interface IVTablePlugin {\n // 插件唯一标识\n id: string;\n // 插件名称\n name: string;\n // // 插件优先级,数字越小优先级越高 TODO:目前还没起作用,后续是否有安排插件优先级的需求\n // priority?: number;\n\n // // 插件类型,用于区分不同功能的插件\n // type: 'layout' | 'interaction' | 'style' | 'animation';\n // 插件运行时机\n runTime: TableEvents[keyof TableEvents][];\n // // 插件依赖\n // dependencies?: string[];\n // 初始化方法,在 VTable 实例创建后、首次渲染前调用\n init?: (table: BaseTableAPI, options: BaseTableConstructorOptions) => void;\n // 运行方法,在订阅的表格事件触发时调用\n run: (...args: any[]) => void;\n // 更新方法,当表格数据或配置更新时调用\n update?: () => void;\n // 销毁方法,在VTable实例销毁前调用\n release?: (table: BaseTableAPI) => void;\n}\n"]}
@@ -11,4 +11,4 @@ export function onBeforeAttributeUpdateForInvertHighlight(val, attribute) {
11
11
  });
12
12
  }
13
13
  }
14
- //# sourceMappingURL=invert-highlight.js.map
14
+ //# sourceMappingURL=invert-highlight.js.map
@@ -205,4 +205,4 @@ function keepRowAtVisiblePosition(col, row, visibleTop, table) {
205
205
  export const registerListTreeStickCellPlugin = () => {
206
206
  Factory.registerComponent("listTreeStickCellPlugin", ListTreeStickCellPlugin);
207
207
  };
208
- //# sourceMappingURL=list-tree-stick-cell.js.map
208
+ //# sourceMappingURL=list-tree-stick-cell.js.map
@@ -10,7 +10,7 @@ export declare class PluginManager {
10
10
  getPlugin(id: string): IVTablePlugin | undefined;
11
11
  getPluginByName(name: string): IVTablePlugin | undefined;
12
12
  _bindTableEventForPlugin(plugin: IVTablePlugin): void;
13
- removeOrAddPlugins(plugins?: IVTablePlugin[]): void;
13
+ removeOrAddPlugins(plugins?: IVTablePlugin[], options?: BaseTableConstructorOptions): void;
14
14
  updatePlugins(plugins?: IVTablePlugin[]): void;
15
15
  release(): void;
16
16
  }
@@ -1,8 +1,10 @@
1
1
  export class PluginManager {
2
2
  constructor(table, options) {
3
3
  var _a;
4
- this.plugins = new Map, this.pluginEventMap = new Map, this.table = table, null === (_a = options.plugins) || void 0 === _a || _a.map((plugin => {
5
- this.register(plugin), this._bindTableEventForPlugin(plugin);
4
+ this.plugins = new Map, this.pluginEventMap = new Map, this.table = table, null === (_a = options.plugins) || void 0 === _a || _a.forEach((plugin => {
5
+ var _a;
6
+ this.register(plugin), null === (_a = plugin.init) || void 0 === _a || _a.call(plugin, this.table, options),
7
+ this._bindTableEventForPlugin(plugin);
6
8
  }));
7
9
  }
8
10
  register(plugin) {
@@ -27,16 +29,19 @@ export class PluginManager {
27
29
  this.pluginEventMap.set(plugin.id, [ ...this.pluginEventMap.get(plugin.id) || [], id ]);
28
30
  }));
29
31
  }
30
- removeOrAddPlugins(plugins) {
32
+ removeOrAddPlugins(plugins, options = this.table.options) {
31
33
  Array.from(this.plugins.values()).filter((plugin => !(null == plugins ? void 0 : plugins.some((p => p.id === plugin.id))))).forEach((plugin => {
32
- var _a;
34
+ var _a, _b;
33
35
  null === (_a = this.pluginEventMap.get(plugin.id)) || void 0 === _a || _a.forEach((id => {
34
36
  this.table.off(id);
35
- })), this.release(), this.plugins.delete(plugin.id);
37
+ })), this.pluginEventMap.delete(plugin.id), null === (_b = plugin.release) || void 0 === _b || _b.call(plugin, this.table),
38
+ this.plugins.delete(plugin.id);
36
39
  }));
37
40
  const addedPlugins = null == plugins ? void 0 : plugins.filter((plugin => !this.plugins.has(plugin.id)));
38
41
  null == addedPlugins || addedPlugins.forEach((plugin => {
39
- this.register(plugin), this._bindTableEventForPlugin(plugin);
42
+ var _a;
43
+ this.register(plugin), null === (_a = plugin.init) || void 0 === _a || _a.call(plugin, this.table, options),
44
+ this._bindTableEventForPlugin(plugin);
40
45
  }));
41
46
  }
42
47
  updatePlugins(plugins) {
@@ -51,4 +56,4 @@ export class PluginManager {
51
56
  }));
52
57
  }
53
58
  }
54
- //# sourceMappingURL=plugin-manager.js.map
59
+ //# sourceMappingURL=plugin-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugins/plugin-manager.ts"],"names":[],"mappings":"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","file":"plugin-manager.js","sourcesContent":["import type { TableEvents } from '../core/TABLE_EVENT_TYPE';\nimport type { BaseTableAPI, BaseTableConstructorOptions } from '../ts-types/base-table';\nimport type { IVTablePlugin } from './interface';\n\nexport class PluginManager {\n private plugins: Map<string, IVTablePlugin> = new Map();\n private table: BaseTableAPI;\n\n private pluginEventMap: Map<string, number[]> = new Map();\n\n constructor(table: BaseTableAPI, options: BaseTableConstructorOptions) {\n this.table = table;\n options.plugins?.map(plugin => {\n this.register(plugin);\n this._bindTableEventForPlugin(plugin);\n });\n }\n\n // 注册插件\n register(plugin: IVTablePlugin): void {\n this.plugins.set(plugin.id, plugin);\n }\n\n // 注册多个插件\n registerAll(plugins: IVTablePlugin[]): void {\n plugins.forEach(plugin => this.register(plugin));\n }\n\n // 获取插件\n getPlugin(id: string): IVTablePlugin | undefined {\n return this.plugins.get(id);\n }\n getPluginByName(name: string): IVTablePlugin | undefined {\n return Array.from(this.plugins.values()).find(plugin => plugin.name === name);\n }\n\n _bindTableEventForPlugin(plugin: IVTablePlugin) {\n plugin.runTime?.forEach((runTime: any) => {\n const id = this.table.on(runTime, (...args) => {\n plugin.run?.(...args, runTime, this.table);\n });\n this.pluginEventMap.set(plugin.id, [...(this.pluginEventMap.get(plugin.id) || []), id]);\n });\n }\n\n // 移除或添加插件\n removeOrAddPlugins(plugins?: IVTablePlugin[]): void {\n // 先找到plugins中没有,但this.plugins中有,也就是已经被移除的插件\n const removedPlugins = Array.from(this.plugins.values()).filter(plugin => !plugins?.some(p => p.id === plugin.id));\n removedPlugins.forEach(plugin => {\n this.pluginEventMap.get(plugin.id)?.forEach(id => {\n this.table.off(id);\n });\n this.release();\n this.plugins.delete(plugin.id);\n });\n\n // 添加新插件\n const addedPlugins = plugins?.filter(plugin => !this.plugins.has(plugin.id));\n addedPlugins?.forEach(plugin => {\n this.register(plugin);\n this._bindTableEventForPlugin(plugin);\n });\n }\n\n // 更新插件\n updatePlugins(plugins?: IVTablePlugin[]): void {\n plugins?.forEach(plugin => {\n if (plugin.update) {\n plugin.update();\n }\n });\n }\n release() {\n this.plugins.forEach(plugin => {\n plugin.release?.(this.table);\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/plugins/plugin-manager.ts"],"names":[],"mappings":"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","file":"plugin-manager.js","sourcesContent":["import type { TableEvents } from '../core/TABLE_EVENT_TYPE';\nimport type { BaseTableAPI, BaseTableConstructorOptions } from '../ts-types/base-table';\nimport type { IVTablePlugin } from './interface';\n\nexport class PluginManager {\n private plugins: Map<string, IVTablePlugin> = new Map();\n private table: BaseTableAPI;\n\n private pluginEventMap: Map<string, number[]> = new Map();\n\n constructor(table: BaseTableAPI, options: BaseTableConstructorOptions) {\n this.table = table;\n options.plugins?.forEach(plugin => {\n this.register(plugin);\n plugin.init?.(this.table, options);\n this._bindTableEventForPlugin(plugin);\n });\n }\n\n // 注册插件\n register(plugin: IVTablePlugin): void {\n this.plugins.set(plugin.id, plugin);\n }\n\n // 注册多个插件\n registerAll(plugins: IVTablePlugin[]): void {\n plugins.forEach(plugin => this.register(plugin));\n }\n\n // 获取插件\n getPlugin(id: string): IVTablePlugin | undefined {\n return this.plugins.get(id);\n }\n getPluginByName(name: string): IVTablePlugin | undefined {\n return Array.from(this.plugins.values()).find(plugin => plugin.name === name);\n }\n\n _bindTableEventForPlugin(plugin: IVTablePlugin) {\n plugin.runTime?.forEach((runTime: any) => {\n const id = this.table.on(runTime, (...args) => {\n plugin.run?.(...args, runTime, this.table);\n });\n this.pluginEventMap.set(plugin.id, [...(this.pluginEventMap.get(plugin.id) || []), id]);\n });\n }\n\n // 移除或添加插件\n removeOrAddPlugins(plugins?: IVTablePlugin[], options: BaseTableConstructorOptions = this.table.options): void {\n // 先找到plugins中没有,但this.plugins中有,也就是已经被移除的插件\n const removedPlugins = Array.from(this.plugins.values()).filter(plugin => !plugins?.some(p => p.id === plugin.id));\n removedPlugins.forEach(plugin => {\n this.pluginEventMap.get(plugin.id)?.forEach(id => {\n this.table.off(id);\n });\n this.pluginEventMap.delete(plugin.id);\n plugin.release?.(this.table);\n this.plugins.delete(plugin.id);\n });\n\n // 添加新插件\n const addedPlugins = plugins?.filter(plugin => !this.plugins.has(plugin.id));\n addedPlugins?.forEach(plugin => {\n this.register(plugin);\n plugin.init?.(this.table, options);\n this._bindTableEventForPlugin(plugin);\n });\n }\n\n // 更新插件\n updatePlugins(plugins?: IVTablePlugin[]): void {\n plugins?.forEach(plugin => {\n if (plugin.update) {\n plugin.update();\n }\n });\n }\n release() {\n this.plugins.forEach(plugin => {\n plugin.release?.(this.table);\n });\n }\n}\n"]}
@@ -2,10 +2,12 @@ import type { IThemeSpec, Group as VGroup } from './../../vrender';
2
2
  import type { CellRange, ColumnDefine, ColumnTypeOption } from '../../ts-types';
3
3
  import type { Group } from '../graphic/group';
4
4
  import type { BaseTableAPI } from '../../ts-types/base-table';
5
- export declare function createCell(type: ColumnTypeOption, value: string, define: ColumnDefine, table: BaseTableAPI, col: number, row: number, colWidth: number, cellWidth: number, cellHeight: number, columnGroup: Group, y: number, padding: [number, number, number, number], textAlign: CanvasTextAlign, textBaseline: CanvasTextBaseline, mayHaveIcon: boolean, cellTheme: IThemeSpec, range: CellRange | undefined, customResult?: {
5
+ export declare function nextPromiseCellUpdateToken(cellGroup: Group): number;
6
+ export declare function isPromiseCellUpdateCurrent(table: BaseTableAPI, col: number, row: number, cellGroup: Group, token: number): boolean;
7
+ export declare function createCell(type: ColumnTypeOption, value: any, define: ColumnDefine, table: BaseTableAPI, col: number, row: number, colWidth: number, cellWidth: number, cellHeight: number, columnGroup: Group, y: number, padding: [number, number, number, number], textAlign: CanvasTextAlign, textBaseline: CanvasTextBaseline, mayHaveIcon: boolean, cellTheme: IThemeSpec, range: CellRange | undefined, customResult?: {
6
8
  elementsGroup?: VGroup;
7
9
  renderDefault: boolean;
8
- }): Group;
10
+ }, cellValue?: any): Group;
9
11
  export declare function updateCell(col: number, row: number, table: BaseTableAPI, addNew?: boolean, isShadow?: boolean, forceFastUpdate?: boolean): Group;
10
12
  export declare function dealWithMergeCellSize(range: CellRange, cellWidth: number, cellHeight: number, padding: [number, number, number, number], textAlign: CanvasTextAlign, textBaseline: CanvasTextBaseline, table: BaseTableAPI): void;
11
13
  export declare function dealWithMergeCellSizeForShadow(range: CellRange, cellWidth: number, cellHeight: number, padding: [number, number, number, number], textAlign: CanvasTextAlign, textBaseline: CanvasTextBaseline, table: BaseTableAPI, cellGroup: Group): void;