@visactor/vtable 0.9.0-alpha.1 → 0.9.1-alpha.2

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 (350) hide show
  1. package/cjs/ListTable.d.ts +2 -2
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotTable.d.ts +4 -4
  4. package/cjs/PivotTable.js.map +1 -1
  5. package/cjs/core/BaseTable.js +17 -11
  6. package/cjs/core/BaseTable.js.map +1 -1
  7. package/cjs/core/FouseInput.js +1 -1
  8. package/cjs/core/TABLE_EVENT_TYPE.js +1 -1
  9. package/cjs/core/style.js +1 -1
  10. package/cjs/core/tableHelper.d.ts +11 -0
  11. package/cjs/core/tableHelper.js +48 -4
  12. package/cjs/core/tableHelper.js.map +1 -1
  13. package/cjs/core.d.ts +1 -1
  14. package/cjs/core.js +1 -10
  15. package/cjs/core.js.map +1 -1
  16. package/cjs/data/CachedDataSource.js +2 -1
  17. package/cjs/data/DataSource.d.ts +2 -2
  18. package/cjs/data/DataSource.js.map +1 -1
  19. package/cjs/dataset/dataset.js.map +1 -1
  20. package/cjs/dataset/flatDataToObject.js +1 -2
  21. package/cjs/event/event.js +21 -21
  22. package/cjs/event/event.js.map +1 -1
  23. package/cjs/event/sparkline-event.d.ts +2 -0
  24. package/cjs/event/{chart.js → sparkline-event.js} +10 -8
  25. package/cjs/event/sparkline-event.js.map +1 -0
  26. package/cjs/header-helper/header-helper.d.ts +2 -2
  27. package/cjs/header-helper/header-helper.js.map +1 -1
  28. package/cjs/index.d.ts +1 -1
  29. package/cjs/index.js +1 -1
  30. package/cjs/index.js.map +1 -1
  31. package/cjs/layout/pivot-header-layout.js +2 -1
  32. package/cjs/layout/simple-header-layout.js +3 -1
  33. package/cjs/layout/simple-header-layout.js.map +1 -1
  34. package/cjs/plugins/themes.js +1 -2
  35. package/cjs/render/layout/arc.d.ts +4 -4
  36. package/cjs/render/layout/arc.js +2 -2
  37. package/cjs/render/layout/arc.js.map +1 -1
  38. package/cjs/render/layout/circle.d.ts +4 -4
  39. package/cjs/render/layout/circle.js +1 -1
  40. package/cjs/render/layout/circle.js.map +1 -1
  41. package/cjs/render/layout/container.js +2 -2
  42. package/cjs/render/layout/container.js.map +1 -1
  43. package/cjs/render/layout/element.d.ts +4 -8
  44. package/cjs/render/layout/element.js.map +1 -1
  45. package/cjs/render/layout/rect.d.ts +4 -4
  46. package/cjs/render/layout/rect.js +1 -1
  47. package/cjs/render/layout/rect.js.map +1 -1
  48. package/cjs/render/layout/text.d.ts +2 -3
  49. package/cjs/render/layout/text.js +1 -1
  50. package/cjs/render/layout/text.js.map +1 -1
  51. package/cjs/scenegraph/component/cell-mover.js +3 -5
  52. package/cjs/scenegraph/component/cell-mover.js.map +1 -1
  53. package/cjs/scenegraph/component/custom.js +7 -16
  54. package/cjs/scenegraph/component/custom.js.map +1 -1
  55. package/cjs/scenegraph/component/menu.js +6 -10
  56. package/cjs/scenegraph/component/menu.js.map +1 -1
  57. package/cjs/scenegraph/component/table-component.js +9 -16
  58. package/cjs/scenegraph/component/table-component.js.map +1 -1
  59. package/cjs/scenegraph/debug-tool/debug-tool.d.ts +1 -3
  60. package/cjs/scenegraph/debug-tool/debug-tool.js +6 -22
  61. package/cjs/scenegraph/debug-tool/debug-tool.js.map +1 -1
  62. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +3 -3
  63. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  64. package/cjs/scenegraph/graphic/contributions/index.js +4 -4
  65. package/cjs/scenegraph/graphic/contributions/index.js.map +1 -1
  66. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +1 -1
  67. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  68. package/cjs/scenegraph/group-creater/cell-helper.js +6 -6
  69. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  70. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +2 -4
  71. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  72. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +2 -4
  73. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  74. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js +10 -13
  75. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  76. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +26 -22
  77. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  78. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +5 -7
  79. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  80. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +2 -4
  81. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  82. package/cjs/scenegraph/group-creater/column-helper.d.ts +1 -10
  83. package/cjs/scenegraph/group-creater/column-helper.js +9 -51
  84. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  85. package/cjs/scenegraph/group-creater/progress/proxy.d.ts +1 -1
  86. package/cjs/scenegraph/group-creater/progress/proxy.js +8 -8
  87. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  88. package/cjs/scenegraph/scenegraph.d.ts +5 -3
  89. package/cjs/scenegraph/scenegraph.js +40 -181
  90. package/cjs/scenegraph/scenegraph.js.map +1 -1
  91. package/cjs/scenegraph/select/create-select-border.d.ts +3 -0
  92. package/cjs/scenegraph/select/create-select-border.js +38 -0
  93. package/cjs/scenegraph/select/create-select-border.js.map +1 -0
  94. package/cjs/scenegraph/select/delete-select-border.d.ts +3 -0
  95. package/cjs/scenegraph/select/delete-select-border.js +19 -0
  96. package/cjs/scenegraph/select/delete-select-border.js.map +1 -0
  97. package/cjs/scenegraph/select/move-select-border.d.ts +2 -0
  98. package/cjs/scenegraph/select/move-select-border.js +13 -0
  99. package/cjs/scenegraph/select/move-select-border.js.map +1 -0
  100. package/cjs/scenegraph/select/update-select-border.d.ts +3 -0
  101. package/cjs/scenegraph/select/update-select-border.js +115 -0
  102. package/cjs/scenegraph/select/update-select-border.js.map +1 -0
  103. package/cjs/scenegraph/style/frame-border.d.ts +2 -0
  104. package/cjs/scenegraph/style/frame-border.js +46 -18
  105. package/cjs/scenegraph/style/frame-border.js.map +1 -1
  106. package/cjs/scenegraph/utils/get-cell-merge.js +1 -0
  107. package/cjs/scenegraph/utils/get-cell-merge.js.map +1 -1
  108. package/cjs/scenegraph/utils/text-icon-layout.js +1 -4
  109. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  110. package/cjs/state/common/check-in-select.d.ts +1 -2
  111. package/cjs/state/common/check-in-select.js.map +1 -1
  112. package/cjs/state/hover/col.d.ts +1 -2
  113. package/cjs/state/hover/col.js.map +1 -1
  114. package/cjs/state/hover/is-cell-hover.js +5 -5
  115. package/cjs/state/hover/is-cell-hover.js.map +1 -1
  116. package/cjs/state/hover/row.d.ts +1 -2
  117. package/cjs/state/hover/row.js.map +1 -1
  118. package/cjs/state/hover/single.d.ts +1 -2
  119. package/cjs/state/hover/single.js.map +1 -1
  120. package/cjs/state/hover/update-position.js +10 -10
  121. package/cjs/state/hover/update-position.js.map +1 -1
  122. package/cjs/state/select/update-position.js +4 -4
  123. package/cjs/state/select/update-position.js.map +1 -1
  124. package/cjs/state/sort/index.js +2 -2
  125. package/cjs/state/sort/index.js.map +1 -1
  126. package/cjs/state/spark-line/index.js +2 -4
  127. package/cjs/state/spark-line/index.js.map +1 -1
  128. package/cjs/state/state.d.ts +3 -19
  129. package/cjs/state/state.js +12 -24
  130. package/cjs/state/state.js.map +1 -1
  131. package/cjs/tools/NumberMap.js +2 -1
  132. package/cjs/tools/env.js +0 -1
  133. package/cjs/tools/global.d.ts +2 -0
  134. package/cjs/tools/global.js +5 -2
  135. package/cjs/tools/global.js.map +1 -1
  136. package/cjs/tools/icons.js +1 -1
  137. package/cjs/tools/isx.js +1 -1
  138. package/cjs/tools/pixel-ratio.d.ts +1 -0
  139. package/cjs/tools/pixel-ratio.js +15 -0
  140. package/cjs/tools/pixel-ratio.js.map +1 -0
  141. package/cjs/tools/sort.d.ts +2 -1
  142. package/cjs/tools/sort.js +1 -1
  143. package/cjs/tools/sort.js.map +1 -1
  144. package/cjs/tools/style.js +1 -1
  145. package/cjs/tools/util.d.ts +2 -1
  146. package/cjs/tools/util.js.map +1 -1
  147. package/cjs/ts-types/common.d.ts +14 -1
  148. package/cjs/ts-types/common.js +9 -1
  149. package/cjs/ts-types/common.js.map +1 -1
  150. package/cjs/ts-types/customElement.d.ts +9 -9
  151. package/cjs/ts-types/customElement.js.map +1 -1
  152. package/cjs/ts-types/events.d.ts +3 -3
  153. package/cjs/ts-types/events.js.map +1 -1
  154. package/cjs/ts-types/index.d.ts +1 -1
  155. package/cjs/ts-types/index.js +1 -1
  156. package/cjs/ts-types/index.js.map +1 -1
  157. package/cjs/ts-types/list-table/define/index.d.ts +3 -3
  158. package/cjs/ts-types/list-table/define/index.js.map +1 -1
  159. package/cjs/ts-types/list-table/define/sparkline-define.d.ts +1 -1
  160. package/cjs/ts-types/list-table/define/sparkline-define.js.map +1 -1
  161. package/cjs/ts-types/new-data-set.d.ts +2 -1
  162. package/cjs/ts-types/new-data-set.js.map +1 -1
  163. package/cjs/ts-types/pivot-table/indicator/sparkline-indicator.d.ts +1 -1
  164. package/cjs/ts-types/pivot-table/indicator/sparkline-indicator.js.map +1 -1
  165. package/cjs/ts-types/sparkline.d.ts +39 -0
  166. package/cjs/ts-types/{chartType.js → sparkline.js} +1 -1
  167. package/cjs/ts-types/sparkline.js.map +1 -0
  168. package/cjs/ts-types/table-engine.d.ts +6 -6
  169. package/cjs/ts-types/table-engine.js.map +1 -1
  170. package/dist/vtable.js +24119 -24350
  171. package/dist/vtable.min.js +2 -2
  172. package/es/ListTable.d.ts +2 -2
  173. package/es/ListTable.js.map +1 -1
  174. package/es/PivotTable.d.ts +4 -4
  175. package/es/PivotTable.js.map +1 -1
  176. package/es/core/BaseTable.js +18 -12
  177. package/es/core/BaseTable.js.map +1 -1
  178. package/es/core/FouseInput.js +1 -1
  179. package/es/core/TABLE_EVENT_TYPE.js +1 -1
  180. package/es/core/style.js +1 -1
  181. package/es/core/tableHelper.d.ts +11 -0
  182. package/es/core/tableHelper.js +49 -1
  183. package/es/core/tableHelper.js.map +1 -1
  184. package/es/core.d.ts +1 -1
  185. package/es/core.js +1 -3
  186. package/es/core.js.map +1 -1
  187. package/es/data/CachedDataSource.js +2 -1
  188. package/es/data/DataSource.d.ts +2 -2
  189. package/es/data/DataSource.js.map +1 -1
  190. package/es/dataset/dataset.js.map +1 -1
  191. package/es/dataset/flatDataToObject.js +1 -2
  192. package/es/event/event.js +4 -4
  193. package/es/event/event.js.map +1 -1
  194. package/es/event/sparkline-event.d.ts +2 -0
  195. package/es/event/{chart.js → sparkline-event.js} +8 -6
  196. package/es/event/sparkline-event.js.map +1 -0
  197. package/es/header-helper/header-helper.d.ts +2 -2
  198. package/es/header-helper/header-helper.js.map +1 -1
  199. package/es/index.d.ts +1 -1
  200. package/es/index.js +1 -1
  201. package/es/index.js.map +1 -1
  202. package/es/layout/pivot-header-layout.js +2 -1
  203. package/es/layout/simple-header-layout.js +3 -1
  204. package/es/layout/simple-header-layout.js.map +1 -1
  205. package/es/plugins/themes.js +1 -2
  206. package/es/render/layout/arc.d.ts +4 -4
  207. package/es/render/layout/arc.js +2 -2
  208. package/es/render/layout/arc.js.map +1 -1
  209. package/es/render/layout/circle.d.ts +4 -4
  210. package/es/render/layout/circle.js +1 -1
  211. package/es/render/layout/circle.js.map +1 -1
  212. package/es/render/layout/container.js +2 -2
  213. package/es/render/layout/container.js.map +1 -1
  214. package/es/render/layout/element.d.ts +4 -8
  215. package/es/render/layout/element.js.map +1 -1
  216. package/es/render/layout/rect.d.ts +4 -4
  217. package/es/render/layout/rect.js +1 -1
  218. package/es/render/layout/rect.js.map +1 -1
  219. package/es/render/layout/text.d.ts +2 -3
  220. package/es/render/layout/text.js +1 -1
  221. package/es/render/layout/text.js.map +1 -1
  222. package/es/scenegraph/component/cell-mover.js +3 -5
  223. package/es/scenegraph/component/cell-mover.js.map +1 -1
  224. package/es/scenegraph/component/custom.js +7 -16
  225. package/es/scenegraph/component/custom.js.map +1 -1
  226. package/es/scenegraph/component/menu.js +6 -10
  227. package/es/scenegraph/component/menu.js.map +1 -1
  228. package/es/scenegraph/component/table-component.js +9 -16
  229. package/es/scenegraph/component/table-component.js.map +1 -1
  230. package/es/scenegraph/debug-tool/debug-tool.d.ts +1 -3
  231. package/es/scenegraph/debug-tool/debug-tool.js +7 -23
  232. package/es/scenegraph/debug-tool/debug-tool.js.map +1 -1
  233. package/es/scenegraph/graphic/contributions/group-contribution-render.js +3 -3
  234. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  235. package/es/scenegraph/graphic/contributions/index.js +6 -4
  236. package/es/scenegraph/graphic/contributions/index.js.map +1 -1
  237. package/es/scenegraph/graphic/contributions/rect-contribution-render.js +1 -1
  238. package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  239. package/es/scenegraph/group-creater/cell-helper.js +5 -5
  240. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  241. package/es/scenegraph/group-creater/cell-type/chart-cell.js +2 -4
  242. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  243. package/es/scenegraph/group-creater/cell-type/image-cell.js +2 -4
  244. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  245. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js +10 -13
  246. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  247. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +26 -22
  248. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  249. package/es/scenegraph/group-creater/cell-type/text-cell.js +4 -6
  250. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  251. package/es/scenegraph/group-creater/cell-type/video-cell.js +2 -4
  252. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  253. package/es/scenegraph/group-creater/column-helper.d.ts +1 -10
  254. package/es/scenegraph/group-creater/column-helper.js +5 -50
  255. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  256. package/es/scenegraph/group-creater/progress/proxy.d.ts +1 -1
  257. package/es/scenegraph/group-creater/progress/proxy.js +9 -7
  258. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  259. package/es/scenegraph/scenegraph.d.ts +5 -3
  260. package/es/scenegraph/scenegraph.js +43 -178
  261. package/es/scenegraph/scenegraph.js.map +1 -1
  262. package/es/scenegraph/select/create-select-border.d.ts +3 -0
  263. package/es/scenegraph/select/create-select-border.js +29 -0
  264. package/es/scenegraph/select/create-select-border.js.map +1 -0
  265. package/es/scenegraph/select/delete-select-border.d.ts +3 -0
  266. package/es/scenegraph/select/delete-select-border.js +12 -0
  267. package/es/scenegraph/select/delete-select-border.js.map +1 -0
  268. package/es/scenegraph/select/move-select-border.d.ts +2 -0
  269. package/es/scenegraph/select/move-select-border.js +7 -0
  270. package/es/scenegraph/select/move-select-border.js.map +1 -0
  271. package/es/scenegraph/select/update-select-border.d.ts +3 -0
  272. package/es/scenegraph/select/update-select-border.js +107 -0
  273. package/es/scenegraph/select/update-select-border.js.map +1 -0
  274. package/es/scenegraph/style/frame-border.d.ts +2 -0
  275. package/es/scenegraph/style/frame-border.js +44 -14
  276. package/es/scenegraph/style/frame-border.js.map +1 -1
  277. package/es/scenegraph/utils/get-cell-merge.js +1 -0
  278. package/es/scenegraph/utils/get-cell-merge.js.map +1 -1
  279. package/es/scenegraph/utils/text-icon-layout.js +1 -4
  280. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  281. package/es/state/common/check-in-select.d.ts +1 -2
  282. package/es/state/common/check-in-select.js.map +1 -1
  283. package/es/state/hover/col.d.ts +1 -2
  284. package/es/state/hover/col.js.map +1 -1
  285. package/es/state/hover/is-cell-hover.js +2 -2
  286. package/es/state/hover/is-cell-hover.js.map +1 -1
  287. package/es/state/hover/row.d.ts +1 -2
  288. package/es/state/hover/row.js.map +1 -1
  289. package/es/state/hover/single.d.ts +1 -2
  290. package/es/state/hover/single.js.map +1 -1
  291. package/es/state/hover/update-position.js +1 -1
  292. package/es/state/hover/update-position.js.map +1 -1
  293. package/es/state/select/update-position.js +1 -1
  294. package/es/state/select/update-position.js.map +1 -1
  295. package/es/state/sort/index.js +2 -2
  296. package/es/state/sort/index.js.map +1 -1
  297. package/es/state/spark-line/index.js +2 -4
  298. package/es/state/spark-line/index.js.map +1 -1
  299. package/es/state/state.d.ts +3 -19
  300. package/es/state/state.js +5 -22
  301. package/es/state/state.js.map +1 -1
  302. package/es/tools/NumberMap.js +2 -1
  303. package/es/tools/env.js +0 -1
  304. package/es/tools/global.d.ts +2 -0
  305. package/es/tools/global.js +4 -0
  306. package/es/tools/global.js.map +1 -1
  307. package/es/tools/icons.js +1 -1
  308. package/es/tools/isx.js +2 -1
  309. package/es/tools/pixel-ratio.d.ts +1 -0
  310. package/es/tools/pixel-ratio.js +11 -0
  311. package/es/tools/pixel-ratio.js.map +1 -0
  312. package/es/tools/sort.d.ts +2 -1
  313. package/es/tools/sort.js +1 -1
  314. package/es/tools/sort.js.map +1 -1
  315. package/es/tools/style.js +1 -1
  316. package/es/tools/util.d.ts +2 -1
  317. package/es/tools/util.js.map +1 -1
  318. package/es/ts-types/common.d.ts +14 -1
  319. package/es/ts-types/common.js +12 -1
  320. package/es/ts-types/common.js.map +1 -1
  321. package/es/ts-types/customElement.d.ts +9 -9
  322. package/es/ts-types/customElement.js.map +1 -1
  323. package/es/ts-types/events.d.ts +3 -3
  324. package/es/ts-types/events.js.map +1 -1
  325. package/es/ts-types/index.d.ts +1 -1
  326. package/es/ts-types/index.js +1 -1
  327. package/es/ts-types/index.js.map +1 -1
  328. package/es/ts-types/list-table/define/index.d.ts +3 -3
  329. package/es/ts-types/list-table/define/index.js.map +1 -1
  330. package/es/ts-types/list-table/define/sparkline-define.d.ts +1 -1
  331. package/es/ts-types/list-table/define/sparkline-define.js.map +1 -1
  332. package/es/ts-types/new-data-set.d.ts +2 -1
  333. package/es/ts-types/new-data-set.js.map +1 -1
  334. package/es/ts-types/pivot-table/indicator/sparkline-indicator.d.ts +1 -1
  335. package/es/ts-types/pivot-table/indicator/sparkline-indicator.js.map +1 -1
  336. package/es/ts-types/sparkline.d.ts +39 -0
  337. package/es/ts-types/sparkline.js +2 -0
  338. package/es/ts-types/sparkline.js.map +1 -0
  339. package/es/ts-types/table-engine.d.ts +6 -6
  340. package/es/ts-types/table-engine.js.map +1 -1
  341. package/package.json +10 -6
  342. package/cjs/event/chart.d.ts +0 -2
  343. package/cjs/event/chart.js.map +0 -1
  344. package/cjs/ts-types/chartType.d.ts +0 -53
  345. package/cjs/ts-types/chartType.js.map +0 -1
  346. package/es/event/chart.d.ts +0 -2
  347. package/es/event/chart.js.map +0 -1
  348. package/es/ts-types/chartType.d.ts +0 -53
  349. package/es/ts-types/chartType.js +0 -2
  350. package/es/ts-types/chartType.js.map +0 -1
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.getCellTheme = exports.createCellGroup = void 0;
6
6
 
7
- const vrender_1 = require("@visactor/vrender"), util_1 = require("../../../tools/util"), group_1 = require("../../graphic/group"), get_prop_1 = require("../../utils/get-prop"), text_icon_layout_1 = require("../../utils/text-icon-layout"), column_helper_1 = require("../column-helper");
7
+ const vrender_1 = require("@visactor/vrender"), util_1 = require("../../../tools/util"), group_1 = require("../../graphic/group"), get_prop_1 = require("../../utils/get-prop"), text_icon_layout_1 = require("../../utils/text-icon-layout"), tableHelper_1 = require("../../../core/tableHelper");
8
8
 
9
9
  function createCellGroup(table, columnGroup, xOrigin, yOrigin, col, row, colWidth, cellWidth, cellHeight, padding, textAlign, textBaseline, mayHaveIcon, isfunctionalProps, renderDefault, cellTheme) {
10
10
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
@@ -17,11 +17,9 @@ function createCellGroup(table, columnGroup, xOrigin, yOrigin, col, row, colWidt
17
17
  y: yOrigin,
18
18
  width: cellWidth,
19
19
  height: cellHeight,
20
- fill: !0,
21
- stroke: !0,
22
20
  lineWidth: null !== (_g = null === (_f = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _f ? void 0 : _f.lineWidth) && void 0 !== _g ? _g : void 0,
23
- fillColor: null !== (_j = null === (_h = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _h ? void 0 : _h.fillColor) && void 0 !== _j ? _j : void 0,
24
- strokeColor: null !== (_l = null === (_k = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _k ? void 0 : _k.strokeColor) && void 0 !== _l ? _l : void 0,
21
+ fill: null !== (_j = null === (_h = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _h ? void 0 : _h.fill) && void 0 !== _j ? _j : void 0,
22
+ stroke: null !== (_l = null === (_k = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _k ? void 0 : _k.stroke) && void 0 !== _l ? _l : void 0,
25
23
  strokeArrayWidth: null !== (_o = null === (_m = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _m ? void 0 : _m.strokeArrayWidth) && void 0 !== _o ? _o : void 0,
26
24
  strokeArrayColor: null !== (_q = null === (_p = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _p ? void 0 : _p.strokeArrayColor) && void 0 !== _q ? _q : void 0,
27
25
  cursor: null !== (_s = null === (_r = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _r ? void 0 : _r.cursor) && void 0 !== _s ? _s : void 0,
@@ -40,7 +38,7 @@ function createCellGroup(table, columnGroup, xOrigin, yOrigin, col, row, colWidt
40
38
  startAngle: Math.PI / 2,
41
39
  endAngle: Math.PI,
42
40
  outerRadius: 6,
43
- fillColor: "#3073F2",
41
+ fill: "#3073F2",
44
42
  pickable: !1
45
43
  });
46
44
  mark.name = "mark", cellGroup.appendChild(mark);
@@ -50,7 +48,7 @@ function createCellGroup(table, columnGroup, xOrigin, yOrigin, col, row, colWidt
50
48
  }
51
49
 
52
50
  function getCellTheme(table, col, row, cellTheme) {
53
- const headerStyle = table._getCellStyle(col, row), theme = (0, column_helper_1.getStyleTheme)(headerStyle, table, col, row, get_prop_1.getFunctionalProp).theme;
51
+ const headerStyle = table._getCellStyle(col, row), theme = (0, tableHelper_1.getStyleTheme)(headerStyle, table, col, row, get_prop_1.getFunctionalProp).theme;
54
52
  for (const prop in theme.group) (0, util_1.isValid)(theme.group[prop]) && (cellTheme || (cellTheme = {}),
55
53
  cellTheme.group || (cellTheme.group = {}), cellTheme.group[prop] = theme.group[prop]);
56
54
  for (const prop in theme.text) (0, util_1.isValid)(theme.text[prop]) && (cellTheme || (cellTheme = {}),
@@ -1 +1 @@
1
- {"version":3,"sources":["scenegraph/group-creater/cell-type/text-cell.ts"],"names":[],"mappings":"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","file":"text-cell.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { IThemeSpec } from '@visactor/vrender';\nimport { createArc } from '@visactor/vrender';\nimport { isValid } from '../../../tools/util';\nimport { Group } from '../../graphic/group';\n// import { parseFont } from '../../utils/font';\nimport { getFunctionalProp } from '../../utils/get-prop';\nimport { createCellContent } from '../../utils/text-icon-layout';\nimport { getStyleTheme } from '../column-helper';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\n\n/**\n * @description: 创建单元格场景节点\n * @param {Group} columnGroup 列Group\n * @param {number} xOrigin 起始x坐标\n * @param {number} yOrigin 起始y坐标\n * @param {number} col\n * @param {number} row\n * @param {BaseTableAPI} table\n * @param {number | 'auto'} colWidth 配置列宽\n * @param {number} padding 单元格padding\n * @param {CanvasTextAlign} textAlign\n * @param {CanvasTextBaseline} textBaseline\n * @param {boolean} noWrap 不进行折行(default column type)\n * @param {IThemeSpec} cellTheme 单元格主题\n * @return {Group}\n */\nexport function createCellGroup(\n table: BaseTableAPI,\n columnGroup: Group,\n xOrigin: number,\n yOrigin: number,\n col: number,\n row: number,\n // rowHeight: number,\n colWidth: number | 'auto',\n cellWidth: number,\n cellHeight: number,\n padding: number[],\n textAlign: CanvasTextAlign,\n textBaseline: CanvasTextBaseline,\n mayHaveIcon: boolean,\n isfunctionalProps: boolean,\n renderDefault: boolean,\n cellTheme?: IThemeSpec\n): Group {\n // 处理函数样式\n if (isfunctionalProps) {\n cellTheme = getCellTheme(table, col, row, cellTheme);\n }\n const headerStyle = table._getCellStyle(col, row); // to be fixed\n const functionalPadding = getFunctionalProp('padding', headerStyle, col, row, table);\n if (isValid(functionalPadding)) {\n padding = functionalPadding;\n }\n if (cellTheme?.text?.textAlign) {\n textAlign = cellTheme?.text?.textAlign;\n }\n if (cellTheme?.text?.textBaseline) {\n textBaseline = cellTheme?.text?.textBaseline;\n }\n const { autoRowHeight } = table.internalProps;\n const autoColWidth = colWidth === 'auto';\n const autoWrapText = headerStyle.autoWrapText ?? table.internalProps.autoWrapText;\n const lineClamp = headerStyle.lineClamp;\n\n // cell\n const cellGroup = new Group({\n x: xOrigin,\n y: yOrigin,\n width: cellWidth,\n height: cellHeight,\n // 背景相关,cell背景由cellGroup绘制\n fill: true,\n stroke: true,\n // stroke: [true, false, false, false],\n\n lineWidth: cellTheme?.group?.lineWidth ?? undefined,\n fillColor: cellTheme?.group?.fillColor ?? undefined,\n strokeColor: cellTheme?.group?.strokeColor ?? undefined,\n strokeArrayWidth: (cellTheme?.group as any)?.strokeArrayWidth ?? undefined,\n strokeArrayColor: (cellTheme?.group as any)?.strokeArrayColor ?? undefined,\n cursor: (cellTheme?.group as any)?.cursor ?? undefined,\n\n lineCap: 'square',\n\n clip: true\n } as any);\n cellGroup.role = 'cell';\n cellGroup.col = col;\n cellGroup.row = row;\n columnGroup.addChild(cellGroup);\n\n if (renderDefault) {\n const textStr: string = table.getCellValue(col, row);\n\n let icons;\n if (mayHaveIcon) {\n icons = table.getCellIcons(col, row);\n }\n\n createCellContent(\n cellGroup,\n icons,\n textStr,\n padding as any,\n autoColWidth,\n autoRowHeight,\n autoWrapText,\n typeof lineClamp === 'number' ? lineClamp : undefined,\n // autoColWidth ? 0 : colWidth,\n // table.getRowHeight(row),\n cellWidth,\n cellHeight,\n textAlign,\n textBaseline,\n cellTheme\n );\n\n if ((cellTheme as any)?._vtable?.marked) {\n const mark = createArc({\n x: cellGroup.attribute.width,\n y: 0,\n startAngle: Math.PI / 2,\n endAngle: Math.PI,\n outerRadius: 6,\n fillColor: '#3073F2',\n pickable: false\n });\n mark.name = 'mark';\n\n cellGroup.appendChild(mark);\n }\n }\n\n return cellGroup;\n}\n\n/**\n * @description: 获取函数式赋值的样式,记录在cellTheme中\n * @param {BaseTableAPI} table\n * @param {number} col\n * @param {number} row\n * @param {IThemeSpec} cellTheme\n * @return {IThemeSpec | undefined}\n */\nexport function getCellTheme(\n table: BaseTableAPI,\n col: number,\n row: number,\n cellTheme?: IThemeSpec\n): IThemeSpec | undefined {\n // get column header style\n const headerStyle = table._getCellStyle(col, row);\n\n const theme = getStyleTheme(headerStyle, table, col, row, getFunctionalProp).theme;\n\n for (const prop in theme.group) {\n if (isValid(theme.group[prop])) {\n if (!cellTheme) {\n cellTheme = {};\n }\n\n if (!cellTheme.group) {\n cellTheme.group = {};\n }\n\n cellTheme.group[prop] = theme.group[prop];\n }\n }\n\n for (const prop in theme.text) {\n if (isValid(theme.text[prop])) {\n if (!cellTheme) {\n cellTheme = {};\n }\n\n if (!cellTheme.text) {\n cellTheme.text = {};\n }\n\n cellTheme.text[prop] = theme.text[prop];\n }\n }\n\n for (const prop in theme._vtable) {\n if (isValid(theme._vtable[prop])) {\n if (!cellTheme) {\n cellTheme = {};\n }\n\n if (!(cellTheme as any)._vtable) {\n (cellTheme as any)._vtable = {};\n }\n\n (cellTheme as any)._vtable[prop] = theme._vtable[prop];\n }\n }\n return cellTheme;\n}\n"]}
1
+ {"version":3,"sources":["scenegraph/group-creater/cell-type/text-cell.ts"],"names":[],"mappings":"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","file":"text-cell.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { IThemeSpec } from '@visactor/vrender';\nimport { createArc } from '@visactor/vrender';\nimport { isValid } from '../../../tools/util';\nimport { Group } from '../../graphic/group';\n// import { parseFont } from '../../utils/font';\nimport { getFunctionalProp } from '../../utils/get-prop';\nimport { createCellContent } from '../../utils/text-icon-layout';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\nimport { getStyleTheme } from '../../../core/tableHelper';\n\n/**\n * @description: 创建单元格场景节点\n * @param {Group} columnGroup 列Group\n * @param {number} xOrigin 起始x坐标\n * @param {number} yOrigin 起始y坐标\n * @param {number} col\n * @param {number} row\n * @param {BaseTableAPI} table\n * @param {number | 'auto'} colWidth 配置列宽\n * @param {number} padding 单元格padding\n * @param {CanvasTextAlign} textAlign\n * @param {CanvasTextBaseline} textBaseline\n * @param {boolean} noWrap 不进行折行(default column type)\n * @param {IThemeSpec} cellTheme 单元格主题\n * @return {Group}\n */\nexport function createCellGroup(\n table: BaseTableAPI,\n columnGroup: Group,\n xOrigin: number,\n yOrigin: number,\n col: number,\n row: number,\n // rowHeight: number,\n colWidth: number | 'auto',\n cellWidth: number,\n cellHeight: number,\n padding: number[],\n textAlign: CanvasTextAlign,\n textBaseline: CanvasTextBaseline,\n mayHaveIcon: boolean,\n isfunctionalProps: boolean,\n renderDefault: boolean,\n cellTheme?: IThemeSpec\n): Group {\n // 处理函数样式\n if (isfunctionalProps) {\n cellTheme = getCellTheme(table, col, row, cellTheme);\n }\n const headerStyle = table._getCellStyle(col, row); // to be fixed\n const functionalPadding = getFunctionalProp('padding', headerStyle, col, row, table);\n if (isValid(functionalPadding)) {\n padding = functionalPadding;\n }\n if (cellTheme?.text?.textAlign) {\n textAlign = cellTheme?.text?.textAlign;\n }\n if (cellTheme?.text?.textBaseline) {\n textBaseline = cellTheme?.text?.textBaseline;\n }\n const { autoRowHeight } = table.internalProps;\n const autoColWidth = colWidth === 'auto';\n const autoWrapText = headerStyle.autoWrapText ?? table.internalProps.autoWrapText;\n const lineClamp = headerStyle.lineClamp;\n\n // cell\n const cellGroup = new Group({\n x: xOrigin,\n y: yOrigin,\n width: cellWidth,\n height: cellHeight,\n // 背景相关,cell背景由cellGroup绘制\n lineWidth: cellTheme?.group?.lineWidth ?? undefined,\n fill: cellTheme?.group?.fill ?? undefined,\n stroke: cellTheme?.group?.stroke ?? undefined,\n strokeArrayWidth: (cellTheme?.group as any)?.strokeArrayWidth ?? undefined,\n strokeArrayColor: (cellTheme?.group as any)?.strokeArrayColor ?? undefined,\n cursor: (cellTheme?.group as any)?.cursor ?? undefined,\n\n lineCap: 'square',\n\n clip: true\n } as any);\n cellGroup.role = 'cell';\n cellGroup.col = col;\n cellGroup.row = row;\n columnGroup.addChild(cellGroup);\n\n if (renderDefault) {\n const textStr: string = table.getCellValue(col, row);\n\n let icons;\n if (mayHaveIcon) {\n icons = table.getCellIcons(col, row);\n }\n\n createCellContent(\n cellGroup,\n icons,\n textStr,\n padding as any,\n autoColWidth,\n autoRowHeight,\n autoWrapText,\n typeof lineClamp === 'number' ? lineClamp : undefined,\n // autoColWidth ? 0 : colWidth,\n // table.getRowHeight(row),\n cellWidth,\n cellHeight,\n textAlign,\n textBaseline,\n cellTheme\n );\n\n if ((cellTheme as any)?._vtable?.marked) {\n const mark = createArc({\n x: cellGroup.attribute.width,\n y: 0,\n startAngle: Math.PI / 2,\n endAngle: Math.PI,\n outerRadius: 6,\n fill: '#3073F2',\n pickable: false\n });\n mark.name = 'mark';\n\n cellGroup.appendChild(mark);\n }\n }\n\n return cellGroup;\n}\n\n/**\n * @description: 获取函数式赋值的样式,记录在cellTheme中\n * @param {BaseTableAPI} table\n * @param {number} col\n * @param {number} row\n * @param {IThemeSpec} cellTheme\n * @return {IThemeSpec | undefined}\n */\nexport function getCellTheme(\n table: BaseTableAPI,\n col: number,\n row: number,\n cellTheme?: IThemeSpec\n): IThemeSpec | undefined {\n // get column header style\n const headerStyle = table._getCellStyle(col, row);\n\n const theme = getStyleTheme(headerStyle, table, col, row, getFunctionalProp).theme;\n\n for (const prop in theme.group) {\n if (isValid(theme.group[prop])) {\n if (!cellTheme) {\n cellTheme = {};\n }\n\n if (!cellTheme.group) {\n cellTheme.group = {};\n }\n\n cellTheme.group[prop] = theme.group[prop];\n }\n }\n\n for (const prop in theme.text) {\n if (isValid(theme.text[prop])) {\n if (!cellTheme) {\n cellTheme = {};\n }\n\n if (!cellTheme.text) {\n cellTheme.text = {};\n }\n\n cellTheme.text[prop] = theme.text[prop];\n }\n }\n\n for (const prop in theme._vtable) {\n if (isValid(theme._vtable[prop])) {\n if (!cellTheme) {\n cellTheme = {};\n }\n\n if (!(cellTheme as any)._vtable) {\n (cellTheme as any)._vtable = {};\n }\n\n (cellTheme as any)._vtable[prop] = theme._vtable[prop];\n }\n }\n return cellTheme;\n}\n"]}
@@ -42,11 +42,9 @@ function createVideoCellGroup(columnGroup, xOrigin, yOrigin, col, row, width, he
42
42
  y: yOrigin,
43
43
  width: width,
44
44
  height: height,
45
- fill: !0,
46
- stroke: !0,
47
45
  lineWidth: null !== (_f = null === (_e = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _e ? void 0 : _e.lineWidth) && void 0 !== _f ? _f : void 0,
48
- fillColor: null !== (_h = null === (_g = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _g ? void 0 : _g.fillColor) && void 0 !== _h ? _h : void 0,
49
- strokeColor: null !== (_k = null === (_j = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _j ? void 0 : _j.strokeColor) && void 0 !== _k ? _k : void 0,
46
+ fill: null !== (_h = null === (_g = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _g ? void 0 : _g.fill) && void 0 !== _h ? _h : void 0,
47
+ stroke: null !== (_k = null === (_j = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _j ? void 0 : _j.stroke) && void 0 !== _k ? _k : void 0,
50
48
  strokeArrayWidth: null !== (_m = null === (_l = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _l ? void 0 : _l.strokeArrayWidth) && void 0 !== _m ? _m : void 0,
51
49
  strokeArrayColor: null !== (_p = null === (_o = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _o ? void 0 : _o.strokeArrayColor) && void 0 !== _p ? _p : void 0,
52
50
  cursor: null !== (_r = null === (_q = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _q ? void 0 : _q.cursor) && void 0 !== _r ? _r : void 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["scenegraph/group-creater/cell-type/video-cell.ts"],"names":[],"mappings":"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","file":"video-cell.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { Cursor, IImage, IThemeSpec } from '@visactor/vrender';\nimport { createRect, createImage } from '@visactor/vrender';\nimport * as icons from '../../../icons';\nimport { Group } from '../../graphic/group';\nimport { calcKeepAspectRatioSize } from '../../utils/keep-aspect-ratio';\nimport { Icon } from '../../graphic/icon';\nimport { calcStartPosition } from '../../utils/cell-pos';\nimport { _adjustWidthHeight } from './image-cell';\nimport { getFunctionalProp, getProp } from '../../utils/get-prop';\nimport { isValid } from '../../../tools/util';\nimport { getCellTheme } from './text-cell';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\n\nconst regedIcons = icons.get();\n\nexport function createVideoCellGroup(\n columnGroup: Group,\n xOrigin: number,\n yOrigin: number,\n col: number,\n row: number,\n width: number,\n height: number,\n keepAspectRatio: boolean,\n imageAutoSizing: boolean,\n padding: [number, number, number, number],\n textAlign: CanvasTextAlign,\n textBaseline: CanvasTextBaseline,\n table: BaseTableAPI,\n cellTheme?: IThemeSpec\n) {\n cellTheme = getCellTheme(table, col, row, cellTheme);\n const headerStyle = table._getCellStyle(col, row); // to be fixed\n const functionalPadding = getFunctionalProp('padding', headerStyle, col, row, table);\n // const margin = getProp('padding', headerStyle, col, row, table);\n if (isValid(functionalPadding)) {\n padding = functionalPadding;\n }\n if (cellTheme?.text?.textAlign) {\n textAlign = cellTheme?.text?.textAlign;\n }\n if (cellTheme?.text?.textBaseline) {\n textBaseline = cellTheme?.text?.textBaseline;\n }\n\n // cell\n const cellGroup = new Group({\n x: xOrigin,\n y: yOrigin,\n width,\n height,\n // childrenPickable: false,\n\n // 背景相关,cell背景由cellGroup绘制\n fill: true,\n stroke: true,\n\n lineWidth: cellTheme?.group?.lineWidth ?? undefined,\n fillColor: cellTheme?.group?.fillColor ?? undefined,\n strokeColor: cellTheme?.group?.strokeColor ?? undefined,\n strokeArrayWidth: (cellTheme?.group as any)?.strokeArrayWidth ?? undefined,\n strokeArrayColor: (cellTheme?.group as any)?.strokeArrayColor ?? undefined,\n cursor: (cellTheme?.group as any)?.cursor ?? undefined,\n\n lineCap: 'square',\n\n clip: true\n } as any);\n cellGroup.role = 'cell';\n cellGroup.col = col;\n cellGroup.row = row;\n columnGroup.addChild(cellGroup);\n\n // video\n const value = table.getCellValue(col, row);\n const video = document.createElement('video');\n video.addEventListener('loadeddata', (): void => {\n if (imageAutoSizing) {\n _adjustWidthHeight(col, row, video.videoWidth, video.videoHeight, table.scenegraph, padding);\n }\n const width = cellGroup.attribute.width;\n const height = cellGroup.attribute.height;\n // 更新宽高\n if (keepAspectRatio) {\n const { width: videoWidth, height: videoHeight } = calcKeepAspectRatioSize(\n video.videoWidth,\n video.videoHeight,\n width - padding[1] - padding[3],\n height - padding[0] - padding[2]\n );\n const pos = calcStartPosition(0, 0, width, height, videoWidth, videoHeight, textAlign, textBaseline, padding);\n\n image.setAttributes({\n width: videoWidth,\n height: videoHeight,\n x: pos.x,\n y: pos.y\n });\n } else {\n image.setAttributes({\n x: padding[3],\n y: padding[0],\n width: width - padding[1] - padding[3],\n height: height - padding[2] - padding[0]\n });\n }\n\n const left = 0;\n const top = 0;\n // 播放按钮\n const iconSize = Math.floor(Math.min(width - padding[1] - padding[3], height - padding[2] - padding[0]) / 2);\n const anchorX =\n left + (width > image.attribute.width ? image.attribute.x - left + image.attribute.width / 2 : width / 2);\n const anchorY =\n top + (height > image.attribute.height ? image.attribute.y - top + image.attribute.height / 2 : height / 2);\n\n const playIcon: Icon = new Icon({\n x: anchorX - iconSize / 2,\n y: anchorY - iconSize / 2,\n width: iconSize,\n height: iconSize,\n image: (regedIcons.play as any).svg,\n cursor: (regedIcons.play as any).cursor\n });\n playIcon.role = 'play-icon';\n cellGroup.appendChild(playIcon);\n // 触发重绘\n table.scenegraph.updateNextFrame();\n });\n video.onerror = (): void => {\n // image.setAttribute('image', (regedIcons.damage_pic as any).svg);\n (image as any).image = (regedIcons.damage_pic as any).svg;\n };\n video.src = value;\n video.setAttribute('preload', 'auto');\n\n const image: IImage = createImage({\n x: padding[3],\n y: padding[0],\n width: width - padding[1] - padding[3],\n height: height - padding[2] - padding[0],\n image: video as any,\n cursor: 'pointer' as Cursor\n });\n image.name = 'image';\n cellGroup.appendChild(image);\n\n return cellGroup;\n}\n"]}
1
+ {"version":3,"sources":["scenegraph/group-creater/cell-type/video-cell.ts"],"names":[],"mappings":"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","file":"video-cell.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { Cursor, IImage, IThemeSpec } from '@visactor/vrender';\nimport { createRect, createImage } from '@visactor/vrender';\nimport * as icons from '../../../icons';\nimport { Group } from '../../graphic/group';\nimport { calcKeepAspectRatioSize } from '../../utils/keep-aspect-ratio';\nimport { Icon } from '../../graphic/icon';\nimport { calcStartPosition } from '../../utils/cell-pos';\nimport { _adjustWidthHeight } from './image-cell';\nimport { getFunctionalProp, getProp } from '../../utils/get-prop';\nimport { isValid } from '../../../tools/util';\nimport { getCellTheme } from './text-cell';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\n\nconst regedIcons = icons.get();\n\nexport function createVideoCellGroup(\n columnGroup: Group,\n xOrigin: number,\n yOrigin: number,\n col: number,\n row: number,\n width: number,\n height: number,\n keepAspectRatio: boolean,\n imageAutoSizing: boolean,\n padding: [number, number, number, number],\n textAlign: CanvasTextAlign,\n textBaseline: CanvasTextBaseline,\n table: BaseTableAPI,\n cellTheme?: IThemeSpec\n) {\n cellTheme = getCellTheme(table, col, row, cellTheme);\n const headerStyle = table._getCellStyle(col, row); // to be fixed\n const functionalPadding = getFunctionalProp('padding', headerStyle, col, row, table);\n // const margin = getProp('padding', headerStyle, col, row, table);\n if (isValid(functionalPadding)) {\n padding = functionalPadding;\n }\n if (cellTheme?.text?.textAlign) {\n textAlign = cellTheme?.text?.textAlign;\n }\n if (cellTheme?.text?.textBaseline) {\n textBaseline = cellTheme?.text?.textBaseline;\n }\n\n // cell\n const cellGroup = new Group({\n x: xOrigin,\n y: yOrigin,\n width,\n height,\n // childrenPickable: false,\n\n // 背景相关,cell背景由cellGroup绘制\n lineWidth: cellTheme?.group?.lineWidth ?? undefined,\n fill: cellTheme?.group?.fill ?? undefined,\n stroke: cellTheme?.group?.stroke ?? undefined,\n strokeArrayWidth: (cellTheme?.group as any)?.strokeArrayWidth ?? undefined,\n strokeArrayColor: (cellTheme?.group as any)?.strokeArrayColor ?? undefined,\n cursor: (cellTheme?.group as any)?.cursor ?? undefined,\n\n lineCap: 'square',\n\n clip: true\n } as any);\n cellGroup.role = 'cell';\n cellGroup.col = col;\n cellGroup.row = row;\n columnGroup.addChild(cellGroup);\n\n // video\n const value = table.getCellValue(col, row);\n const video = document.createElement('video');\n video.addEventListener('loadeddata', (): void => {\n if (imageAutoSizing) {\n _adjustWidthHeight(col, row, video.videoWidth, video.videoHeight, table.scenegraph, padding);\n }\n const width = cellGroup.attribute.width;\n const height = cellGroup.attribute.height;\n // 更新宽高\n if (keepAspectRatio) {\n const { width: videoWidth, height: videoHeight } = calcKeepAspectRatioSize(\n video.videoWidth,\n video.videoHeight,\n width - padding[1] - padding[3],\n height - padding[0] - padding[2]\n );\n const pos = calcStartPosition(0, 0, width, height, videoWidth, videoHeight, textAlign, textBaseline, padding);\n\n image.setAttributes({\n width: videoWidth,\n height: videoHeight,\n x: pos.x,\n y: pos.y\n });\n } else {\n image.setAttributes({\n x: padding[3],\n y: padding[0],\n width: width - padding[1] - padding[3],\n height: height - padding[2] - padding[0]\n });\n }\n\n const left = 0;\n const top = 0;\n // 播放按钮\n const iconSize = Math.floor(Math.min(width - padding[1] - padding[3], height - padding[2] - padding[0]) / 2);\n const anchorX =\n left + (width > image.attribute.width ? image.attribute.x - left + image.attribute.width / 2 : width / 2);\n const anchorY =\n top + (height > image.attribute.height ? image.attribute.y - top + image.attribute.height / 2 : height / 2);\n\n const playIcon: Icon = new Icon({\n x: anchorX - iconSize / 2,\n y: anchorY - iconSize / 2,\n width: iconSize,\n height: iconSize,\n image: (regedIcons.play as any).svg,\n cursor: (regedIcons.play as any).cursor\n });\n playIcon.role = 'play-icon';\n cellGroup.appendChild(playIcon);\n // 触发重绘\n table.scenegraph.updateNextFrame();\n });\n video.onerror = (): void => {\n // image.setAttribute('image', (regedIcons.damage_pic as any).svg);\n (image as any).image = (regedIcons.damage_pic as any).svg;\n };\n video.src = value;\n video.setAttribute('preload', 'auto');\n\n const image: IImage = createImage({\n x: padding[3],\n y: padding[0],\n width: width - padding[1] - padding[3],\n height: height - padding[2] - padding[0],\n image: video as any,\n cursor: 'pointer' as Cursor\n });\n image.name = 'image';\n cellGroup.appendChild(image);\n\n return cellGroup;\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { IThemeSpec } from '@visactor/vrender';
2
- import type { CellType, FullExtendStyle, ICustomLayout, ICustomRender } from '../../ts-types';
2
+ import type { CellType, ICustomLayout, ICustomRender } from '../../ts-types';
3
3
  import { Group } from '../graphic/group';
4
4
  import type { MergeMap } from './column';
5
5
  import type { BaseTableAPI } from '../../ts-types/base-table';
@@ -13,12 +13,3 @@ export declare function getColumnGroupTheme(col: number, colWidth: number, table
13
13
  };
14
14
  hasFunctionPros: boolean;
15
15
  };
16
- export declare function getStyleTheme(headerStyle: FullExtendStyle, table: BaseTableAPI, col: number, row: number, getProp: any, needGetTheme?: boolean): {
17
- hasFunctionPros: boolean;
18
- theme?: undefined;
19
- } | {
20
- theme: IThemeSpec & {
21
- _vtable: any;
22
- };
23
- hasFunctionPros: boolean;
24
- };
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.getStyleTheme = exports.getColumnGroupTheme = exports.createComplexColumn = void 0;
5
+ }), exports.getColumnGroupTheme = exports.createComplexColumn = void 0;
6
6
 
7
- const group_1 = require("../graphic/group"), get_prop_1 = require("../utils/get-prop"), padding_1 = require("../utils/padding"), font_1 = require("../utils/font"), cell_helper_1 = require("./cell-helper");
7
+ const group_1 = require("../graphic/group"), get_prop_1 = require("../utils/get-prop"), cell_helper_1 = require("./cell-helper"), tableHelper_1 = require("../../core/tableHelper");
8
8
 
9
9
  function createComplexColumn(columnGroup, col, colWidth, rowStart, rowEnd, mergeMap, defaultRowHeight, table, cellType, rowLimit, customRender, customLayout) {
10
10
  var _a, _b, _c, _d, _e, _f;
@@ -12,7 +12,8 @@ function createComplexColumn(columnGroup, col, colWidth, rowStart, rowEnd, merge
12
12
  const useColumnTheme = (table.isListTable() && !table.scenegraph.transpose || table.isPivotTable() && table.internalProps.layoutMap.indicatorsAsCol) && "body" === cellType;
13
13
  if (useColumnTheme) if (columnGroup.childrenCount) {
14
14
  if (columnGroup.theme) {
15
- const style = table._getCellStyle(col, table.columnHeaderLevelCount), {hasFunctionPros: hasFunctionPros} = getStyleTheme(style, table, col, table.columnHeaderLevelCount, get_prop_1.getRawProp, !1);
15
+ const style = table._getCellStyle(col, table.columnHeaderLevelCount), {hasFunctionPros: hasFunctionPros} = (0,
16
+ tableHelper_1.getStyleTheme)(style, table, col, table.columnHeaderLevelCount, get_prop_1.getRawProp, !1);
16
17
  isfunctionalProps = hasFunctionPros;
17
18
  const columnTheme = columnGroup.theme.userTheme;
18
19
  columnTheme._vtable.padding && (padding = columnTheme._vtable.padding), columnTheme.text.textAlign && (textAlign = columnTheme.text.textAlign),
@@ -34,7 +35,8 @@ function createComplexColumn(columnGroup, col, colWidth, rowStart, rowEnd, merge
34
35
  const row = j, define = "body" !== cellType ? table.getHeaderDefine(col, row) : table.getBodyColumnDefine(col, row), mayHaveIcon = "body" !== cellType || !!(null == define ? void 0 : define.icon);
35
36
  let cellTheme;
36
37
  if (!useColumnTheme) {
37
- cellTheme = getStyleTheme(table._getCellStyle(col, row), table, col, row, get_prop_1.getProp).theme,
38
+ const headerStyle = table._getCellStyle(col, row);
39
+ cellTheme = (0, tableHelper_1.getStyleTheme)(headerStyle, table, col, row, get_prop_1.getProp).theme,
38
40
  cellTheme.group.width = colWidth, cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight,
39
41
  cellTheme._vtable.padding && (padding = cellTheme._vtable.padding), cellTheme.text.textAlign && (textAlign = cellTheme.text.textAlign),
40
42
  cellTheme.text.textBaseline && (textBaseline = cellTheme.text.textBaseline);
@@ -80,57 +82,13 @@ function createComplexColumn(columnGroup, col, colWidth, rowStart, rowEnd, merge
80
82
  }
81
83
 
82
84
  function getColumnGroupTheme(col, colWidth, table) {
83
- const style = table._getCellStyle(col, table.columnHeaderLevelCount), {theme: columnTheme, hasFunctionPros: hasFunctionPros} = getStyleTheme(style, table, col, table.columnHeaderLevelCount, get_prop_1.getRawProp);
85
+ const style = table._getCellStyle(col, table.columnHeaderLevelCount), {theme: columnTheme, hasFunctionPros: hasFunctionPros} = (0,
86
+ tableHelper_1.getStyleTheme)(style, table, col, table.columnHeaderLevelCount, get_prop_1.getRawProp);
84
87
  return columnTheme.group.width = colWidth, columnTheme.group.height = 0, {
85
88
  theme: columnTheme,
86
89
  hasFunctionPros: hasFunctionPros
87
90
  };
88
91
  }
89
92
 
90
- function getStyleTheme(headerStyle, table, col, row, getProp, needGetTheme = !0) {
91
- const padding = (0, padding_1.getPadding)(getProp("padding", headerStyle, col, row, table)), bgColor = getProp("bgColor", headerStyle, col, row, table), font = getProp("font", headerStyle, col, row, table);
92
- let fontFamily, fontSize, fontWeight;
93
- if (font) {
94
- const {family: family, size: size, weight: weight} = (0, font_1.parseFont)(font);
95
- fontFamily = family.join(" "), fontSize = size, fontWeight = weight;
96
- } else fontFamily = getProp("fontFamily", headerStyle, col, row, table), fontSize = getProp("fontSize", headerStyle, col, row, table),
97
- fontWeight = getProp("fontWeight", headerStyle, col, row, table);
98
- const textAlign = getProp("textAlign", headerStyle, col, row, table), textBaseline = getProp("textBaseline", headerStyle, col, row, table), color = getProp("color", headerStyle, col, row, table), lineHeight = getProp("lineHeight", headerStyle, col, row, table), underline = getProp("underline", headerStyle, col, row, table), lineThrough = getProp("lineThrough", headerStyle, col, row, table), textDecorationWidth = Math.max(1, Math.floor(fontSize / 10)), textOverflow = getProp("textOverflow", headerStyle, col, row, table), borderColor = getProp("borderColor", headerStyle, col, row, table), borderLineWidth = getProp("borderLineWidth", headerStyle, col, row, table), borderLineDash = getProp("borderLineDash", headerStyle, col, row, table), marked = getProp("marked", headerStyle, col, row, table), hasFunctionPros = !(padding && bgColor && font && textAlign && textBaseline && color && textOverflow && borderColor && borderLineWidth && borderLineDash && "boolean" == typeof underline && "boolean" == typeof lineThrough && "boolean" == typeof marked);
99
- if (!needGetTheme) return {
100
- hasFunctionPros: hasFunctionPros
101
- };
102
- const theme = {
103
- text: {
104
- fontFamily: fontFamily,
105
- fontSize: fontSize,
106
- fontWeight: fontWeight,
107
- fillColor: color,
108
- textAlign: textAlign,
109
- textBaseline: textBaseline,
110
- lineHeight: null != lineHeight ? lineHeight : fontSize,
111
- underline: underline ? textDecorationWidth : void 0,
112
- lineThrough: lineThrough ? textDecorationWidth : void 0,
113
- ellipsis: textOverflow && "clip" !== textOverflow ? "ellipsis" === textOverflow ? "..." : textOverflow : void 0
114
- },
115
- group: {
116
- fillColor: bgColor,
117
- lineDash: borderLineDash,
118
- lineWidth: borderLineWidth,
119
- strokeColor: borderColor
120
- },
121
- _vtable: {
122
- padding: padding,
123
- marked: marked
124
- }
125
- };
126
- return Array.isArray(borderLineWidth) && (theme.group.strokeArrayWidth = (0, padding_1.getPadding)(borderLineWidth)),
127
- Array.isArray(borderColor) && (theme.group.strokeArrayColor = (0, padding_1.getPadding)(borderColor)),
128
- {
129
- theme: theme,
130
- hasFunctionPros: hasFunctionPros
131
- };
132
- }
133
-
134
- exports.createComplexColumn = createComplexColumn, exports.getColumnGroupTheme = getColumnGroupTheme,
135
- exports.getStyleTheme = getStyleTheme;
93
+ exports.createComplexColumn = createComplexColumn, exports.getColumnGroupTheme = getColumnGroupTheme;
136
94
  //# sourceMappingURL=column-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["scenegraph/group-creater/column-helper.ts"],"names":[],"mappings":"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","file":"column-helper.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { IThemeSpec } from '@visactor/vrender';\nimport type {\n CellType,\n FullExtendStyle,\n ICustomLayout,\n ICustomRender,\n MappingRule,\n TextColumnDefine\n} from '../../ts-types';\nimport { Group } from '../graphic/group';\nimport { getProp, getRawProp } from '../utils/get-prop';\n// import { dealMergeCell, getStyleTheme } from './text-column';\nimport type { MergeMap } from './column';\nimport { getPadding } from '../utils/padding';\nimport { parseFont } from '../utils/font';\nimport type { PivotHeaderLayoutMap } from '../../layout/pivot-header-layout';\nimport type { ICustomLayoutFuc } from '../../ts-types/customLayout';\nimport { createCell } from './cell-helper';\nimport type { BaseTableAPI, PivotTableProtected } from '../../ts-types/base-table';\n/**\n * 创建复合列 同一列支持创建不同类型单元格\n * @param columnGroup 列Group\n * @param col\n * @param colWidth 配置列宽\n * @param rowStart\n * @param rowEnd\n * @param mergeMap merge单元格信息\n * @param defaultRowHeight\n * @param table\n * @param cellType\n * @param rowLimit\n * @param customRender\n * @param customLayout\n * @returns\n */\nexport function createComplexColumn(\n columnGroup: Group,\n col: number,\n colWidth: number,\n rowStart: number,\n rowEnd: number,\n mergeMap: MergeMap,\n defaultRowHeight: number | number[],\n table: BaseTableAPI,\n cellType: CellType,\n rowLimit?: number,\n customRender?: ICustomRender,\n customLayout?: ICustomLayout\n) {\n let maxWidth = 0;\n let padding;\n let textAlign;\n let textBaseline;\n let isfunctionalProps = false;\n /** useColumnTheme 判断是否可以使用columnTheme */\n const useColumnTheme =\n ((table.isListTable() && !table.scenegraph.transpose) ||\n (table.isPivotTable() && (table.internalProps.layoutMap as PivotHeaderLayoutMap).indicatorsAsCol)) &&\n cellType === 'body';\n\n if (useColumnTheme) {\n if (!columnGroup.childrenCount) {\n // 只在首屏生效\n const { theme: columnTheme, hasFunctionPros } = getColumnGroupTheme(col, colWidth, table);\n isfunctionalProps = hasFunctionPros;\n // get column header style\n if (columnTheme._vtable.padding) {\n padding = columnTheme._vtable.padding;\n }\n if (columnTheme.text.textAlign) {\n textAlign = columnTheme.text.textAlign;\n }\n if (columnTheme.text.textBaseline) {\n textBaseline = columnTheme.text.textBaseline;\n }\n columnGroup.setTheme(columnTheme);\n } else if (columnGroup.theme) {\n const style = table._getCellStyle(col, table.columnHeaderLevelCount); // to be fixed\n const { hasFunctionPros } = getStyleTheme(style, table, col, table.columnHeaderLevelCount, getRawProp, false);\n isfunctionalProps = hasFunctionPros;\n const columnTheme = columnGroup.theme.userTheme as any;\n // 渐进加载时获取\n if (columnTheme._vtable.padding) {\n padding = columnTheme._vtable.padding;\n }\n if (columnTheme.text.textAlign) {\n textAlign = columnTheme.text.textAlign;\n }\n if (columnTheme.text.textBaseline) {\n textBaseline = columnTheme.text.textBaseline;\n }\n }\n }\n let bgColorFunc: Function;\n // 判断是否有mapping 遍历dataset中mappingRules\n if ((table.internalProps as PivotTableProtected)?.dataConfig?.mappingRules && cellType === 'body') {\n (table.internalProps as PivotTableProtected)?.dataConfig?.mappingRules?.forEach(\n (mappingRule: MappingRule, i: number) => {\n if (mappingRule.bgColor) {\n bgColorFunc = mappingRule.bgColor.mapping;\n }\n }\n );\n }\n let y = 0;\n if ((columnGroup.lastChild as Group)?.attribute) {\n // 支持插入单元格\n y = (columnGroup.lastChild as Group).attribute.y + (columnGroup.lastChild as Group).attribute.height;\n }\n\n for (let j = rowStart; j <= rowEnd; j++) {\n const row = j;\n const define = cellType !== 'body' ? table.getHeaderDefine(col, row) : table.getBodyColumnDefine(col, row);\n const mayHaveIcon = cellType !== 'body' ? true : !!define?.icon;\n let cellTheme;\n if (!useColumnTheme) {\n const headerStyle = table._getCellStyle(col, row);\n cellTheme = getStyleTheme(headerStyle, table, col, row, getProp).theme;\n cellTheme.group.width = colWidth;\n cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight;\n if (cellTheme._vtable.padding) {\n padding = cellTheme._vtable.padding;\n }\n if (cellTheme.text.textAlign) {\n textAlign = cellTheme.text.textAlign;\n }\n if (cellTheme.text.textBaseline) {\n textBaseline = cellTheme.text.textBaseline;\n }\n }\n // margin = getProp('margin', headerStyle, col, 0, table)\n\n let cellGroup;\n let cellWidth = colWidth;\n let cellHeight = table.internalProps.autoRowHeight ? 0 : table.getRowHeight(row);\n const type =\n (table.isHeader(col, row) ? table._getHeaderLayoutMap(col, row).headerType : table.getBodyColumnType(col, row)) ||\n 'text';\n // 处理单元格合并\n let mergeResult;\n let range;\n let isMerge;\n if (cellType !== 'body' || (define as TextColumnDefine)?.mergeCell) {\n // 只有表头或者column配置合并单元格后再进行信息获取\n range = table.getCellRange(col, row);\n isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n // 所有Merge单元格,只保留左上角一个真实的单元格,其他使用空Group占位\n if (isMerge) {\n cellWidth = 0;\n cellHeight = 0;\n mergeResult = mergeMap.get(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`);\n if (!mergeResult) {\n for (let col = range.start.col; col <= range.end.col; col++) {\n cellWidth += table.getColWidth(col);\n }\n\n // let cellHeight = 0;\n for (let i = range.start.row; i <= range.end.row; i++) {\n cellHeight += table.getRowHeight(i);\n }\n\n mergeMap.set(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`, {\n x: 0,\n y,\n cellWidth,\n cellHeight\n });\n }\n }\n }\n\n // let cellWidth = 0;\n // let cellHeight = 0;\n if (mergeResult) {\n // 已有Merge单元格,使用空Group占位\n const cellGroup = new Group({\n x: 0,\n y,\n width: 0,\n height: 0,\n visible: false,\n pickable: false\n });\n cellGroup.role = 'shadow-cell';\n cellGroup.col = col;\n cellGroup.row = row;\n cellGroup.mergeCol = range.start.col;\n cellGroup.mergeRow = range.start.row;\n columnGroup.addChild(cellGroup);\n range = table.getCellRange(col, row);\n y += mergeResult.cellHeight / (range.end.row - range.start.row + 1);\n maxWidth = Math.max(maxWidth, mergeResult.cellWidth);\n } else {\n const cellGroup = createCell(\n type,\n define,\n table,\n col,\n row,\n colWidth,\n bgColorFunc,\n customRender,\n customLayout,\n cellWidth,\n cellHeight,\n columnGroup,\n y,\n padding,\n textAlign,\n textBaseline,\n mayHaveIcon,\n isfunctionalProps,\n isMerge,\n range,\n cellTheme\n );\n const height = cellGroup.attribute.height;\n y += isMerge ? height / (range.end.row - range.start.row + 1) : height;\n }\n if (rowLimit && row > rowLimit) {\n break;\n }\n }\n\n columnGroup.setAttribute('width', colWidth);\n return {\n width: colWidth,\n height: y\n };\n}\n\n/**\n * 获取列分组主题\n * @param col 列索引\n * @param colWidth 列宽\n * @param table 表格实例\n * @returns 列分组主题\n */\nexport function getColumnGroupTheme(\n col: number,\n colWidth: number,\n table: BaseTableAPI\n): { theme: IThemeSpec & { _vtable: any }; hasFunctionPros: boolean } {\n const style = table._getCellStyle(col, table.columnHeaderLevelCount); // to be fixed\n const { theme: columnTheme, hasFunctionPros } = getStyleTheme(\n style,\n table,\n col,\n table.columnHeaderLevelCount,\n getRawProp\n );\n\n // get column header style\n columnTheme.group.width = colWidth;\n columnTheme.group.height = 0;\n return { theme: columnTheme, hasFunctionPros };\n}\n\n/**\n * @description: 从style对象里获取theme所需要的属性\n * @param {FullExtendStyle} headerStyle\n * @param {BaseTableAPI} table\n * @param {number} col\n * @param {number} row\n * @param {any} getProp\n * @return {*}\n */\nexport function getStyleTheme(\n headerStyle: FullExtendStyle,\n table: BaseTableAPI,\n col: number,\n row: number,\n getProp: any,\n needGetTheme = true\n) {\n // 属性参考IStyleOption\n const padding = getPadding(getProp('padding', headerStyle, col, row, table));\n const bgColor = getProp('bgColor', headerStyle, col, row, table);\n\n const font = getProp('font', headerStyle, col, row, table);\n let fontFamily;\n let fontSize;\n let fontWeight;\n if (font) {\n // 后期会弃用直接设置font,而使用fontFamily fontSize fontWeight 等属性\n const { family, size, weight } = parseFont(font);\n fontFamily = family.join(' ');\n fontSize = size;\n fontWeight = weight;\n } else {\n fontFamily = getProp('fontFamily', headerStyle, col, row, table);\n fontSize = getProp('fontSize', headerStyle, col, row, table);\n fontWeight = getProp('fontWeight', headerStyle, col, row, table);\n }\n\n // const fontSize = getFontSize(font);\n // const fontWeight = getFontWeight(font);\n\n const textAlign = getProp('textAlign', headerStyle, col, row, table);\n const textBaseline = getProp('textBaseline', headerStyle, col, row, table);\n const color = getProp('color', headerStyle, col, row, table);\n\n const lineHeight = getProp('lineHeight', headerStyle, col, row, table);\n const underline = getProp('underline', headerStyle, col, row, table); // boolean\n // const underlineColor = getProp('underlineColor', headerStyle, col, row, table);\n // const underlineDash = getProp('underlineDash', headerStyle, col, row, table);\n const lineThrough = getProp('lineThrough', headerStyle, col, row, table); // boolean\n // const lineThroughColor = getProp('lineThroughColor', headerStyle, col, row, table);\n // const lineThroughDash = getProp('lineThroughDash', headerStyle, col, row, table);\n const textDecorationWidth = Math.max(1, Math.floor(fontSize / 10));\n\n const textOverflow = getProp('textOverflow', headerStyle, col, row, table); // 'clip' | 'ellipsis' | string\n const borderColor = getProp('borderColor', headerStyle, col, row, table); // string | string[]\n const borderLineWidth = getProp('borderLineWidth', headerStyle, col, row, table); // number | number[]\n const borderLineDash = getProp('borderLineDash', headerStyle, col, row, table); // number[] | (number[] | null)[]\n\n const marked = getProp('marked', headerStyle, col, row, table); // boolean\n\n const hasFunctionPros =\n !padding ||\n !bgColor ||\n !font ||\n !textAlign ||\n !textBaseline ||\n !color ||\n !textOverflow ||\n !borderColor ||\n !borderLineWidth ||\n !borderLineDash ||\n typeof underline !== 'boolean' ||\n typeof lineThrough !== 'boolean' ||\n typeof marked !== 'boolean';\n if (!needGetTheme) {\n return { hasFunctionPros };\n }\n const theme: IThemeSpec & { _vtable: any } = {\n text: {\n fontFamily,\n fontSize,\n fontWeight,\n fillColor: color,\n textAlign,\n textBaseline,\n lineHeight: lineHeight ?? fontSize,\n underline: underline ? textDecorationWidth : undefined,\n lineThrough: lineThrough ? textDecorationWidth : undefined,\n ellipsis:\n !textOverflow || textOverflow === 'clip' ? undefined : textOverflow === 'ellipsis' ? '...' : textOverflow\n },\n group: {\n fillColor: bgColor,\n lineDash: borderLineDash,\n lineWidth: borderLineWidth,\n strokeColor: borderColor\n },\n _vtable: {\n padding,\n marked\n }\n };\n\n if (Array.isArray(borderLineWidth)) {\n (theme.group as any).strokeArrayWidth = getPadding(borderLineWidth);\n }\n if (Array.isArray(borderColor)) {\n (theme.group as any).strokeArrayColor = getPadding(borderColor);\n }\n\n return {\n theme,\n hasFunctionPros\n };\n}\n"]}
1
+ {"version":3,"sources":["scenegraph/group-creater/column-helper.ts"],"names":[],"mappings":"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","file":"column-helper.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { IThemeSpec } from '@visactor/vrender';\nimport type {\n CellType,\n FullExtendStyle,\n ICustomLayout,\n ICustomRender,\n MappingRule,\n TextColumnDefine\n} from '../../ts-types';\nimport { Group } from '../graphic/group';\nimport { getProp, getRawProp } from '../utils/get-prop';\nimport type { MergeMap } from './column';\nimport { getPadding } from '../utils/padding';\nimport { parseFont } from '../utils/font';\nimport type { PivotHeaderLayoutMap } from '../../layout/pivot-header-layout';\nimport { createCell } from './cell-helper';\nimport type { BaseTableAPI, PivotTableProtected } from '../../ts-types/base-table';\nimport { getStyleTheme } from '../../core/tableHelper';\n/**\n * 创建复合列 同一列支持创建不同类型单元格\n * @param columnGroup 列Group\n * @param col\n * @param colWidth 配置列宽\n * @param rowStart\n * @param rowEnd\n * @param mergeMap merge单元格信息\n * @param defaultRowHeight\n * @param table\n * @param cellType\n * @param rowLimit\n * @param customRender\n * @param customLayout\n * @returns\n */\nexport function createComplexColumn(\n columnGroup: Group,\n col: number,\n colWidth: number,\n rowStart: number,\n rowEnd: number,\n mergeMap: MergeMap,\n defaultRowHeight: number | number[],\n table: BaseTableAPI,\n cellType: CellType,\n rowLimit?: number,\n customRender?: ICustomRender,\n customLayout?: ICustomLayout\n) {\n let maxWidth = 0;\n let padding;\n let textAlign;\n let textBaseline;\n let isfunctionalProps = false;\n /** useColumnTheme 判断是否可以使用columnTheme */\n const useColumnTheme =\n ((table.isListTable() && !table.scenegraph.transpose) ||\n (table.isPivotTable() && (table.internalProps.layoutMap as PivotHeaderLayoutMap).indicatorsAsCol)) &&\n cellType === 'body';\n\n if (useColumnTheme) {\n if (!columnGroup.childrenCount) {\n // 只在首屏生效\n const { theme: columnTheme, hasFunctionPros } = getColumnGroupTheme(col, colWidth, table);\n isfunctionalProps = hasFunctionPros;\n // get column header style\n if (columnTheme._vtable.padding) {\n padding = columnTheme._vtable.padding;\n }\n if (columnTheme.text.textAlign) {\n textAlign = columnTheme.text.textAlign;\n }\n if (columnTheme.text.textBaseline) {\n textBaseline = columnTheme.text.textBaseline;\n }\n columnGroup.setTheme(columnTheme);\n } else if (columnGroup.theme) {\n const style = table._getCellStyle(col, table.columnHeaderLevelCount); // to be fixed\n const { hasFunctionPros } = getStyleTheme(style, table, col, table.columnHeaderLevelCount, getRawProp, false);\n isfunctionalProps = hasFunctionPros;\n const columnTheme = columnGroup.theme.userTheme as any;\n // 渐进加载时获取\n if (columnTheme._vtable.padding) {\n padding = columnTheme._vtable.padding;\n }\n if (columnTheme.text.textAlign) {\n textAlign = columnTheme.text.textAlign;\n }\n if (columnTheme.text.textBaseline) {\n textBaseline = columnTheme.text.textBaseline;\n }\n }\n }\n let bgColorFunc: Function;\n // 判断是否有mapping 遍历dataset中mappingRules\n if ((table.internalProps as PivotTableProtected)?.dataConfig?.mappingRules && cellType === 'body') {\n (table.internalProps as PivotTableProtected)?.dataConfig?.mappingRules?.forEach(\n (mappingRule: MappingRule, i: number) => {\n if (mappingRule.bgColor) {\n bgColorFunc = mappingRule.bgColor.mapping;\n }\n }\n );\n }\n let y = 0;\n if ((columnGroup.lastChild as Group)?.attribute) {\n // 支持插入单元格\n y = (columnGroup.lastChild as Group).attribute.y + (columnGroup.lastChild as Group).attribute.height;\n }\n\n for (let j = rowStart; j <= rowEnd; j++) {\n const row = j;\n const define = cellType !== 'body' ? table.getHeaderDefine(col, row) : table.getBodyColumnDefine(col, row);\n const mayHaveIcon = cellType !== 'body' ? true : !!define?.icon;\n let cellTheme;\n if (!useColumnTheme) {\n const headerStyle = table._getCellStyle(col, row);\n cellTheme = getStyleTheme(headerStyle, table, col, row, getProp).theme;\n cellTheme.group.width = colWidth;\n cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight;\n if (cellTheme._vtable.padding) {\n padding = cellTheme._vtable.padding;\n }\n if (cellTheme.text.textAlign) {\n textAlign = cellTheme.text.textAlign;\n }\n if (cellTheme.text.textBaseline) {\n textBaseline = cellTheme.text.textBaseline;\n }\n }\n // margin = getProp('margin', headerStyle, col, 0, table)\n\n let cellGroup;\n let cellWidth = colWidth;\n let cellHeight = table.internalProps.autoRowHeight ? 0 : table.getRowHeight(row);\n const type =\n (table.isHeader(col, row) ? table._getHeaderLayoutMap(col, row).headerType : table.getBodyColumnType(col, row)) ||\n 'text';\n // 处理单元格合并\n let mergeResult;\n let range;\n let isMerge;\n if (cellType !== 'body' || (define as TextColumnDefine)?.mergeCell) {\n // 只有表头或者column配置合并单元格后再进行信息获取\n range = table.getCellRange(col, row);\n isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n // 所有Merge单元格,只保留左上角一个真实的单元格,其他使用空Group占位\n if (isMerge) {\n cellWidth = 0;\n cellHeight = 0;\n mergeResult = mergeMap.get(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`);\n if (!mergeResult) {\n for (let col = range.start.col; col <= range.end.col; col++) {\n cellWidth += table.getColWidth(col);\n }\n\n // let cellHeight = 0;\n for (let i = range.start.row; i <= range.end.row; i++) {\n cellHeight += table.getRowHeight(i);\n }\n\n mergeMap.set(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`, {\n x: 0,\n y,\n cellWidth,\n cellHeight\n });\n }\n }\n }\n\n // let cellWidth = 0;\n // let cellHeight = 0;\n if (mergeResult) {\n // 已有Merge单元格,使用空Group占位\n const cellGroup = new Group({\n x: 0,\n y,\n width: 0,\n height: 0,\n visible: false,\n pickable: false\n });\n cellGroup.role = 'shadow-cell';\n cellGroup.col = col;\n cellGroup.row = row;\n cellGroup.mergeCol = range.start.col;\n cellGroup.mergeRow = range.start.row;\n columnGroup.addChild(cellGroup);\n range = table.getCellRange(col, row);\n y += mergeResult.cellHeight / (range.end.row - range.start.row + 1);\n maxWidth = Math.max(maxWidth, mergeResult.cellWidth);\n } else {\n const cellGroup = createCell(\n type,\n define,\n table,\n col,\n row,\n colWidth,\n bgColorFunc,\n customRender,\n customLayout,\n cellWidth,\n cellHeight,\n columnGroup,\n y,\n padding,\n textAlign,\n textBaseline,\n mayHaveIcon,\n isfunctionalProps,\n isMerge,\n range,\n cellTheme\n );\n const height = cellGroup.attribute.height;\n y += isMerge ? height / (range.end.row - range.start.row + 1) : height;\n }\n if (rowLimit && row > rowLimit) {\n break;\n }\n }\n\n columnGroup.setAttribute('width', colWidth);\n return {\n width: colWidth,\n height: y\n };\n}\n\n/**\n * 获取列分组主题\n * @param col 列索引\n * @param colWidth 列宽\n * @param table 表格实例\n * @returns 列分组主题\n */\nexport function getColumnGroupTheme(\n col: number,\n colWidth: number,\n table: BaseTableAPI\n): { theme: IThemeSpec & { _vtable: any }; hasFunctionPros: boolean } {\n const style = table._getCellStyle(col, table.columnHeaderLevelCount); // to be fixed\n const { theme: columnTheme, hasFunctionPros } = getStyleTheme(\n style,\n table,\n col,\n table.columnHeaderLevelCount,\n getRawProp\n );\n\n // get column header style\n columnTheme.group.width = colWidth;\n columnTheme.group.height = 0;\n return { theme: columnTheme, hasFunctionPros };\n}\n"]}
@@ -41,5 +41,5 @@ export declare class SceneProxy {
41
41
  updateCellGroupPosition(cellGroup: Group, newRow: number, y: number): void;
42
42
  updateCellGroupContent(cellGroup: Group): void;
43
43
  sortCell(): Promise<void>;
44
- highPerformanceGetCell(col: number, row: number): Group;
44
+ highPerformanceGetCell(col: number, row: number, rowStart?: number, rowEnd?: number): Group;
45
45
  }
@@ -30,7 +30,7 @@ Object.defineProperty(exports, "__esModule", {
30
30
  value: !0
31
31
  }), exports.SceneProxy = void 0;
32
32
 
33
- const update_height_1 = require("../../layout/update-height"), get_prop_1 = require("../../utils/get-prop"), padding_1 = require("../../utils/padding"), column_1 = require("../column"), column_helper_1 = require("../column-helper"), mergeMap = new Map;
33
+ const update_height_1 = require("../../layout/update-height"), scenegraph_1 = require("../../scenegraph"), get_prop_1 = require("../../utils/get-prop"), padding_1 = require("../../utils/padding"), column_1 = require("../column"), column_helper_1 = require("../column-helper"), mergeMap = new Map;
34
34
 
35
35
  class SceneProxy {
36
36
  constructor(table) {
@@ -101,7 +101,7 @@ class SceneProxy {
101
101
  this.y = y, this.screenTopRow = screenTopRow;
102
102
  const deltaRow = screenTopRow - this.referenceRow;
103
103
  deltaRow > 0 ? (this.moveCell(deltaRow, "up", screenTopRow), this.updateBody(y)) : deltaRow < 0 ? (this.moveCell(-deltaRow, "down", screenTopRow),
104
- this.updateBody(y)) : this.updateBody(y);
104
+ this.updateBody(y)) : this.updateBody(y), this.scenegraph.updateNextFrame();
105
105
  }));
106
106
  }
107
107
  updateBody(y) {
@@ -124,10 +124,9 @@ class SceneProxy {
124
124
  colGroup.insertBefore(cellGroup, colGroup.firstChild);
125
125
  }
126
126
  }
127
- const distStartRow = "up" === direction ? this.rowEnd + 1 : this.rowStart - count, syncTopRow = ("up" === direction ? this.rowEnd : this.rowStart,
128
- Math.max(this.bodyTopRow, screenTopRow - 2 * this.screenRowCount)), syncBottomRow = Math.min(this.bodyBottomRow, screenTopRow + 3 * this.screenRowCount);
127
+ const distStartRow = "up" === direction ? this.rowEnd + 1 : this.rowStart - count, distEndRow = "up" === direction ? this.rowEnd + count : this.rowStart - 1, syncTopRow = Math.max(this.bodyTopRow, screenTopRow - 2 * this.screenRowCount), syncBottomRow = Math.min(this.bodyBottomRow, screenTopRow + 3 * this.screenRowCount);
129
128
  for (let col = this.bodyLeftCol; col <= this.bodyRightCol; col++) for (let row = syncTopRow; row <= syncBottomRow; row++) {
130
- const cellGroup = this.highPerformanceGetCell(col, row);
129
+ const cellGroup = this.highPerformanceGetCell(col, row, distStartRow, distEndRow);
131
130
  this.updateCellGroupContent(cellGroup);
132
131
  }
133
132
  this.table.internalProps.autoRowHeight && updateAutoRow(this.bodyLeftCol, this.bodyRightCol, syncTopRow, syncBottomRow, this.table, direction),
@@ -150,7 +149,7 @@ class SceneProxy {
150
149
  syncBottomRow = Math.min(this.bodyBottomRow, screenTopRow + 3 * this.screenRowCount)),
151
150
  console.log("更新同步范围", syncTopRow, syncBottomRow);
152
151
  for (let col = this.bodyLeftCol; col <= this.bodyRightCol; col++) for (let row = syncTopRow; row <= syncBottomRow; row++) {
153
- const cellGroup = this.highPerformanceGetCell(col, row);
152
+ const cellGroup = this.highPerformanceGetCell(col, row, distStartRow, distEndRow);
154
153
  this.updateCellGroupContent(cellGroup);
155
154
  }
156
155
  console.log("updateAutoRow", distEndRow > this.bodyBottomRow - (this.rowEnd - this.rowStart + 1) ? "down" : "up"),
@@ -160,7 +159,7 @@ class SceneProxy {
160
159
  this.referenceRow = this.rowStart + Math.floor((this.rowEnd - this.rowStart) / 2),
161
160
  this.rowUpdatePos = this.rowStart, this.rowUpdateDirection = distEndRow > this.bodyBottomRow - (this.rowEnd - this.rowStart + 1) ? "down" : "up",
162
161
  console.log("move total end proxy", this.rowStart, this.rowEnd), console.log("move total end cell", this.table.scenegraph.bodyGroup.firstChild.firstChild.row, this.table.scenegraph.bodyGroup.firstChild.lastChild.row),
163
- this.scenegraph.renderSceneGraph(), this.table.internalProps.autoRowHeight || (yield this.progress());
162
+ this.table.internalProps.autoRowHeight || (yield this.progress());
164
163
  }
165
164
  }));
166
165
  }
@@ -210,7 +209,8 @@ class SceneProxy {
210
209
  this.table.internalProps.autoRowHeight || (yield this.progress());
211
210
  }));
212
211
  }
213
- highPerformanceGetCell(col, row) {
212
+ highPerformanceGetCell(col, row, rowStart = this.rowStart, rowEnd = this.rowEnd) {
213
+ if (row < rowStart || row > rowEnd) return scenegraph_1.emptyGroup;
214
214
  if (this.cellCache.get(col)) {
215
215
  const cacheCellGoup = this.cellCache.get(col);
216
216
  if ((cacheCellGoup._next || cacheCellGoup._prev) && Math.abs(cacheCellGoup.row - row) < row) {