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

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 (342) 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 +16 -10
  6. package/cjs/core/BaseTable.js.map +1 -1
  7. package/cjs/core/tableHelper.d.ts +11 -0
  8. package/cjs/core/tableHelper.js +47 -3
  9. package/cjs/core/tableHelper.js.map +1 -1
  10. package/cjs/core.d.ts +1 -1
  11. package/cjs/core.js +1 -10
  12. package/cjs/core.js.map +1 -1
  13. package/cjs/data/DataSource.d.ts +2 -2
  14. package/cjs/data/DataSource.js.map +1 -1
  15. package/cjs/dataset/dataset.js.map +1 -1
  16. package/cjs/event/event.js +21 -21
  17. package/cjs/event/event.js.map +1 -1
  18. package/cjs/event/sparkline-event.d.ts +2 -0
  19. package/cjs/event/{chart.js → sparkline-event.js} +10 -8
  20. package/cjs/event/sparkline-event.js.map +1 -0
  21. package/cjs/header-helper/header-helper.d.ts +2 -2
  22. package/cjs/header-helper/header-helper.js.map +1 -1
  23. package/cjs/index.d.ts +1 -1
  24. package/cjs/index.js +1 -1
  25. package/cjs/index.js.map +1 -1
  26. package/cjs/layout/simple-header-layout.js +3 -1
  27. package/cjs/layout/simple-header-layout.js.map +1 -1
  28. package/cjs/render/layout/arc.d.ts +4 -4
  29. package/cjs/render/layout/arc.js +2 -2
  30. package/cjs/render/layout/arc.js.map +1 -1
  31. package/cjs/render/layout/circle.d.ts +4 -4
  32. package/cjs/render/layout/circle.js +1 -1
  33. package/cjs/render/layout/circle.js.map +1 -1
  34. package/cjs/render/layout/container.js +2 -2
  35. package/cjs/render/layout/container.js.map +1 -1
  36. package/cjs/render/layout/element.d.ts +4 -8
  37. package/cjs/render/layout/element.js.map +1 -1
  38. package/cjs/render/layout/rect.d.ts +4 -4
  39. package/cjs/render/layout/rect.js +1 -1
  40. package/cjs/render/layout/rect.js.map +1 -1
  41. package/cjs/render/layout/text.d.ts +2 -3
  42. package/cjs/render/layout/text.js +1 -1
  43. package/cjs/render/layout/text.js.map +1 -1
  44. package/cjs/scenegraph/component/cell-content.js +9 -3
  45. package/cjs/scenegraph/component/cell-content.js.map +1 -1
  46. package/cjs/scenegraph/component/cell-mover.js +3 -5
  47. package/cjs/scenegraph/component/cell-mover.js.map +1 -1
  48. package/cjs/scenegraph/component/custom.js +9 -16
  49. package/cjs/scenegraph/component/custom.js.map +1 -1
  50. package/cjs/scenegraph/component/menu.js +6 -10
  51. package/cjs/scenegraph/component/menu.js.map +1 -1
  52. package/cjs/scenegraph/component/table-component.js +15 -21
  53. package/cjs/scenegraph/component/table-component.js.map +1 -1
  54. package/cjs/scenegraph/debug-tool/debug-tool.d.ts +1 -3
  55. package/cjs/scenegraph/debug-tool/debug-tool.js +6 -22
  56. package/cjs/scenegraph/debug-tool/debug-tool.js.map +1 -1
  57. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +16 -12
  58. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  59. package/cjs/scenegraph/graphic/contributions/index.js +4 -4
  60. package/cjs/scenegraph/graphic/contributions/index.js.map +1 -1
  61. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +1 -1
  62. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  63. package/cjs/scenegraph/group-creater/cell-helper.js +6 -6
  64. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  65. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +2 -4
  66. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  67. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +2 -4
  68. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  69. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js +10 -13
  70. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  71. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +32 -24
  72. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  73. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +5 -7
  74. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  75. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +2 -4
  76. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  77. package/cjs/scenegraph/group-creater/column-helper.d.ts +1 -10
  78. package/cjs/scenegraph/group-creater/column-helper.js +9 -51
  79. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  80. package/cjs/scenegraph/group-creater/progress/proxy.d.ts +1 -1
  81. package/cjs/scenegraph/group-creater/progress/proxy.js +8 -8
  82. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  83. package/cjs/scenegraph/layout/update-width.js +34 -16
  84. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  85. package/cjs/scenegraph/scenegraph.d.ts +5 -3
  86. package/cjs/scenegraph/scenegraph.js +41 -181
  87. package/cjs/scenegraph/scenegraph.js.map +1 -1
  88. package/cjs/scenegraph/select/create-select-border.d.ts +3 -0
  89. package/cjs/scenegraph/select/create-select-border.js +38 -0
  90. package/cjs/scenegraph/select/create-select-border.js.map +1 -0
  91. package/cjs/scenegraph/select/delete-select-border.d.ts +3 -0
  92. package/cjs/scenegraph/select/delete-select-border.js +19 -0
  93. package/cjs/scenegraph/select/delete-select-border.js.map +1 -0
  94. package/cjs/scenegraph/select/move-select-border.d.ts +2 -0
  95. package/cjs/scenegraph/select/move-select-border.js +13 -0
  96. package/cjs/scenegraph/select/move-select-border.js.map +1 -0
  97. package/cjs/scenegraph/select/update-select-border.d.ts +3 -0
  98. package/cjs/scenegraph/select/update-select-border.js +115 -0
  99. package/cjs/scenegraph/select/update-select-border.js.map +1 -0
  100. package/cjs/scenegraph/stick-text/index.d.ts +2 -0
  101. package/cjs/scenegraph/stick-text/index.js +72 -0
  102. package/cjs/scenegraph/stick-text/index.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 +4 -5
  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/global.d.ts +2 -0
  132. package/cjs/tools/global.js +5 -2
  133. package/cjs/tools/global.js.map +1 -1
  134. package/cjs/tools/pixel-ratio.d.ts +1 -0
  135. package/cjs/tools/pixel-ratio.js +15 -0
  136. package/cjs/tools/pixel-ratio.js.map +1 -0
  137. package/cjs/tools/sort.d.ts +2 -1
  138. package/cjs/tools/sort.js.map +1 -1
  139. package/cjs/tools/util.d.ts +2 -1
  140. package/cjs/tools/util.js.map +1 -1
  141. package/cjs/ts-types/common.d.ts +14 -1
  142. package/cjs/ts-types/common.js +9 -1
  143. package/cjs/ts-types/common.js.map +1 -1
  144. package/cjs/ts-types/customElement.d.ts +9 -9
  145. package/cjs/ts-types/customElement.js.map +1 -1
  146. package/cjs/ts-types/events.d.ts +3 -3
  147. package/cjs/ts-types/events.js.map +1 -1
  148. package/cjs/ts-types/index.d.ts +1 -1
  149. package/cjs/ts-types/index.js +1 -1
  150. package/cjs/ts-types/index.js.map +1 -1
  151. package/cjs/ts-types/list-table/define/index.d.ts +3 -3
  152. package/cjs/ts-types/list-table/define/index.js.map +1 -1
  153. package/cjs/ts-types/list-table/define/sparkline-define.d.ts +1 -1
  154. package/cjs/ts-types/list-table/define/sparkline-define.js.map +1 -1
  155. package/cjs/ts-types/new-data-set.d.ts +2 -1
  156. package/cjs/ts-types/new-data-set.js.map +1 -1
  157. package/cjs/ts-types/pivot-table/dimension/multilinetext-dimension.d.ts +1 -1
  158. package/cjs/ts-types/pivot-table/dimension/multilinetext-dimension.js.map +1 -1
  159. package/cjs/ts-types/pivot-table/indicator/sparkline-indicator.d.ts +1 -1
  160. package/cjs/ts-types/pivot-table/indicator/sparkline-indicator.js.map +1 -1
  161. package/cjs/ts-types/sparkline.d.ts +39 -0
  162. package/cjs/ts-types/{chartType.js → sparkline.js} +1 -1
  163. package/cjs/ts-types/sparkline.js.map +1 -0
  164. package/cjs/ts-types/table-engine.d.ts +6 -6
  165. package/cjs/ts-types/table-engine.js.map +1 -1
  166. package/dist/vtable.js +24033 -24161
  167. package/dist/vtable.min.js +2 -2
  168. package/es/ListTable.d.ts +2 -2
  169. package/es/ListTable.js.map +1 -1
  170. package/es/PivotTable.d.ts +4 -4
  171. package/es/PivotTable.js.map +1 -1
  172. package/es/core/BaseTable.js +17 -11
  173. package/es/core/BaseTable.js.map +1 -1
  174. package/es/core/tableHelper.d.ts +11 -0
  175. package/es/core/tableHelper.js +48 -0
  176. package/es/core/tableHelper.js.map +1 -1
  177. package/es/core.d.ts +1 -1
  178. package/es/core.js +1 -3
  179. package/es/core.js.map +1 -1
  180. package/es/data/DataSource.d.ts +2 -2
  181. package/es/data/DataSource.js.map +1 -1
  182. package/es/dataset/dataset.js.map +1 -1
  183. package/es/event/event.js +4 -4
  184. package/es/event/event.js.map +1 -1
  185. package/es/event/sparkline-event.d.ts +2 -0
  186. package/es/event/{chart.js → sparkline-event.js} +8 -6
  187. package/es/event/sparkline-event.js.map +1 -0
  188. package/es/header-helper/header-helper.d.ts +2 -2
  189. package/es/header-helper/header-helper.js.map +1 -1
  190. package/es/index.d.ts +1 -1
  191. package/es/index.js +1 -1
  192. package/es/index.js.map +1 -1
  193. package/es/layout/simple-header-layout.js +3 -1
  194. package/es/layout/simple-header-layout.js.map +1 -1
  195. package/es/render/layout/arc.d.ts +4 -4
  196. package/es/render/layout/arc.js +2 -2
  197. package/es/render/layout/arc.js.map +1 -1
  198. package/es/render/layout/circle.d.ts +4 -4
  199. package/es/render/layout/circle.js +1 -1
  200. package/es/render/layout/circle.js.map +1 -1
  201. package/es/render/layout/container.js +2 -2
  202. package/es/render/layout/container.js.map +1 -1
  203. package/es/render/layout/element.d.ts +4 -8
  204. package/es/render/layout/element.js.map +1 -1
  205. package/es/render/layout/rect.d.ts +4 -4
  206. package/es/render/layout/rect.js +1 -1
  207. package/es/render/layout/rect.js.map +1 -1
  208. package/es/render/layout/text.d.ts +2 -3
  209. package/es/render/layout/text.js +1 -1
  210. package/es/render/layout/text.js.map +1 -1
  211. package/es/scenegraph/component/cell-content.js +9 -3
  212. package/es/scenegraph/component/cell-content.js.map +1 -1
  213. package/es/scenegraph/component/cell-mover.js +3 -5
  214. package/es/scenegraph/component/cell-mover.js.map +1 -1
  215. package/es/scenegraph/component/custom.js +9 -16
  216. package/es/scenegraph/component/custom.js.map +1 -1
  217. package/es/scenegraph/component/menu.js +6 -10
  218. package/es/scenegraph/component/menu.js.map +1 -1
  219. package/es/scenegraph/component/table-component.js +15 -21
  220. package/es/scenegraph/component/table-component.js.map +1 -1
  221. package/es/scenegraph/debug-tool/debug-tool.d.ts +1 -3
  222. package/es/scenegraph/debug-tool/debug-tool.js +7 -23
  223. package/es/scenegraph/debug-tool/debug-tool.js.map +1 -1
  224. package/es/scenegraph/graphic/contributions/group-contribution-render.js +17 -11
  225. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  226. package/es/scenegraph/graphic/contributions/index.js +6 -4
  227. package/es/scenegraph/graphic/contributions/index.js.map +1 -1
  228. package/es/scenegraph/graphic/contributions/rect-contribution-render.js +1 -1
  229. package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  230. package/es/scenegraph/group-creater/cell-helper.js +5 -5
  231. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  232. package/es/scenegraph/group-creater/cell-type/chart-cell.js +2 -4
  233. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  234. package/es/scenegraph/group-creater/cell-type/image-cell.js +2 -4
  235. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  236. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js +10 -13
  237. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  238. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +32 -24
  239. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  240. package/es/scenegraph/group-creater/cell-type/text-cell.js +4 -6
  241. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  242. package/es/scenegraph/group-creater/cell-type/video-cell.js +2 -4
  243. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  244. package/es/scenegraph/group-creater/column-helper.d.ts +1 -10
  245. package/es/scenegraph/group-creater/column-helper.js +5 -50
  246. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  247. package/es/scenegraph/group-creater/progress/proxy.d.ts +1 -1
  248. package/es/scenegraph/group-creater/progress/proxy.js +9 -7
  249. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  250. package/es/scenegraph/layout/update-width.js +34 -16
  251. package/es/scenegraph/layout/update-width.js.map +1 -1
  252. package/es/scenegraph/scenegraph.d.ts +5 -3
  253. package/es/scenegraph/scenegraph.js +46 -178
  254. package/es/scenegraph/scenegraph.js.map +1 -1
  255. package/es/scenegraph/select/create-select-border.d.ts +3 -0
  256. package/es/scenegraph/select/create-select-border.js +29 -0
  257. package/es/scenegraph/select/create-select-border.js.map +1 -0
  258. package/es/scenegraph/select/delete-select-border.d.ts +3 -0
  259. package/es/scenegraph/select/delete-select-border.js +12 -0
  260. package/es/scenegraph/select/delete-select-border.js.map +1 -0
  261. package/es/scenegraph/select/move-select-border.d.ts +2 -0
  262. package/es/scenegraph/select/move-select-border.js +7 -0
  263. package/es/scenegraph/select/move-select-border.js.map +1 -0
  264. package/es/scenegraph/select/update-select-border.d.ts +3 -0
  265. package/es/scenegraph/select/update-select-border.js +107 -0
  266. package/es/scenegraph/select/update-select-border.js.map +1 -0
  267. package/es/scenegraph/stick-text/index.d.ts +2 -0
  268. package/es/scenegraph/stick-text/index.js +64 -0
  269. package/es/scenegraph/stick-text/index.js.map +1 -0
  270. package/es/scenegraph/style/frame-border.d.ts +2 -0
  271. package/es/scenegraph/style/frame-border.js +44 -14
  272. package/es/scenegraph/style/frame-border.js.map +1 -1
  273. package/es/scenegraph/utils/get-cell-merge.js +1 -0
  274. package/es/scenegraph/utils/get-cell-merge.js.map +1 -1
  275. package/es/scenegraph/utils/text-icon-layout.js +4 -5
  276. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  277. package/es/state/common/check-in-select.d.ts +1 -2
  278. package/es/state/common/check-in-select.js.map +1 -1
  279. package/es/state/hover/col.d.ts +1 -2
  280. package/es/state/hover/col.js.map +1 -1
  281. package/es/state/hover/is-cell-hover.js +2 -2
  282. package/es/state/hover/is-cell-hover.js.map +1 -1
  283. package/es/state/hover/row.d.ts +1 -2
  284. package/es/state/hover/row.js.map +1 -1
  285. package/es/state/hover/single.d.ts +1 -2
  286. package/es/state/hover/single.js.map +1 -1
  287. package/es/state/hover/update-position.js +1 -1
  288. package/es/state/hover/update-position.js.map +1 -1
  289. package/es/state/select/update-position.js +1 -1
  290. package/es/state/select/update-position.js.map +1 -1
  291. package/es/state/sort/index.js +2 -2
  292. package/es/state/sort/index.js.map +1 -1
  293. package/es/state/spark-line/index.js +2 -4
  294. package/es/state/spark-line/index.js.map +1 -1
  295. package/es/state/state.d.ts +3 -19
  296. package/es/state/state.js +5 -22
  297. package/es/state/state.js.map +1 -1
  298. package/es/tools/global.d.ts +2 -0
  299. package/es/tools/global.js +4 -0
  300. package/es/tools/global.js.map +1 -1
  301. package/es/tools/pixel-ratio.d.ts +1 -0
  302. package/es/tools/pixel-ratio.js +11 -0
  303. package/es/tools/pixel-ratio.js.map +1 -0
  304. package/es/tools/sort.d.ts +2 -1
  305. package/es/tools/sort.js.map +1 -1
  306. package/es/tools/util.d.ts +2 -1
  307. package/es/tools/util.js.map +1 -1
  308. package/es/ts-types/common.d.ts +14 -1
  309. package/es/ts-types/common.js +12 -1
  310. package/es/ts-types/common.js.map +1 -1
  311. package/es/ts-types/customElement.d.ts +9 -9
  312. package/es/ts-types/customElement.js.map +1 -1
  313. package/es/ts-types/events.d.ts +3 -3
  314. package/es/ts-types/events.js.map +1 -1
  315. package/es/ts-types/index.d.ts +1 -1
  316. package/es/ts-types/index.js +1 -1
  317. package/es/ts-types/index.js.map +1 -1
  318. package/es/ts-types/list-table/define/index.d.ts +3 -3
  319. package/es/ts-types/list-table/define/index.js.map +1 -1
  320. package/es/ts-types/list-table/define/sparkline-define.d.ts +1 -1
  321. package/es/ts-types/list-table/define/sparkline-define.js.map +1 -1
  322. package/es/ts-types/new-data-set.d.ts +2 -1
  323. package/es/ts-types/new-data-set.js.map +1 -1
  324. package/es/ts-types/pivot-table/dimension/multilinetext-dimension.d.ts +1 -1
  325. package/es/ts-types/pivot-table/dimension/multilinetext-dimension.js.map +1 -1
  326. package/es/ts-types/pivot-table/indicator/sparkline-indicator.d.ts +1 -1
  327. package/es/ts-types/pivot-table/indicator/sparkline-indicator.js.map +1 -1
  328. package/es/ts-types/sparkline.d.ts +39 -0
  329. package/es/ts-types/sparkline.js +2 -0
  330. package/es/ts-types/sparkline.js.map +1 -0
  331. package/es/ts-types/table-engine.d.ts +6 -6
  332. package/es/ts-types/table-engine.js.map +1 -1
  333. package/package.json +18 -6
  334. package/cjs/event/chart.d.ts +0 -2
  335. package/cjs/event/chart.js.map +0 -1
  336. package/cjs/ts-types/chartType.d.ts +0 -53
  337. package/cjs/ts-types/chartType.js.map +0 -1
  338. package/es/event/chart.d.ts +0 -2
  339. package/es/event/chart.js.map +0 -1
  340. package/es/ts-types/chartType.d.ts +0 -53
  341. package/es/ts-types/chartType.js +0 -2
  342. package/es/ts-types/chartType.js.map +0 -1
@@ -18,11 +18,9 @@ export function createSparkLineCellGroup(cellGroup, columnGroup, xOrigin, yOrigi
18
18
  y: yOrigin,
19
19
  width: width,
20
20
  height: height,
21
- fill: !0,
22
- stroke: !0,
23
21
  lineWidth: null !== (_b = null === (_a = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _a ? void 0 : _a.lineWidth) && void 0 !== _b ? _b : void 0,
24
- fillColor: null !== (_d = null === (_c = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _c ? void 0 : _c.fillColor) && void 0 !== _d ? _d : void 0,
25
- strokeColor: null !== (_f = null === (_e = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _e ? void 0 : _e.strokeColor) && void 0 !== _f ? _f : void 0,
22
+ fill: null !== (_d = null === (_c = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _c ? void 0 : _c.fill) && void 0 !== _d ? _d : void 0,
23
+ stroke: null !== (_f = null === (_e = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _e ? void 0 : _e.stroke) && void 0 !== _f ? _f : void 0,
26
24
  strokeArrayWidth: null !== (_h = null === (_g = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _g ? void 0 : _g.strokeArrayWidth) && void 0 !== _h ? _h : void 0,
27
25
  strokeArrayColor: null !== (_k = null === (_j = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _j ? void 0 : _j.strokeArrayColor) && void 0 !== _k ? _k : void 0,
28
26
  cursor: null !== (_m = null === (_l = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _l ? void 0 : _l.cursor) && void 0 !== _m ? _m : void 0,
@@ -34,6 +32,7 @@ export function createSparkLineCellGroup(cellGroup, columnGroup, xOrigin, yOrigi
34
32
  }
35
33
 
36
34
  function createSparkLine(col, row, width, height, padding, table) {
35
+ var _a, _b;
37
36
  let sparklineSpec, chartGroup;
38
37
  const chartSpecRaw = table.internalProps.layoutMap.getBody(col, row).sparklineSpec, dataValue = table.getCellValue(col, row);
39
38
  if (!Array.isArray(dataValue)) return;
@@ -57,12 +56,15 @@ function createSparkLine(col, row, width, height, padding, table) {
57
56
  xField = sparklineSpec.xField.field; else if ("string" == typeof sparklineSpec.xField) {
58
57
  const indexValues = dataValue.map((value => value[sparklineSpec.xField]));
59
58
  xScale.domain(indexValues), xField = sparklineSpec.xField;
60
- }
59
+ } else Array.isArray(dataValue) && (xScale.domain(Array.from({
60
+ length: dataValue.length
61
+ }, ((_, i) => i))), xField = sparklineSpec.xField);
61
62
  if (xScale.range([ 0, width ]), "object" == typeof sparklineSpec.yField) yScale.domain(sparklineSpec.yField.domain),
62
63
  yField = sparklineSpec.yField.field; else if ("string" == typeof sparklineSpec.yField) {
63
64
  const values = dataValue.map((value => value[sparklineSpec.yField]));
64
65
  yScale.domain([ Math.min(...values), Math.max(...values) ]), yField = sparklineSpec.yField;
65
- }
66
+ } else Array.isArray(dataValue) && dataValue.every((value => "number" == typeof value)) && (yScale.domain([ Math.min(...dataValue), Math.max(...dataValue) ]),
67
+ yField = sparklineSpec.yField);
66
68
  if (yScale.range([ 0, height ]), "object" == typeof sparklineSpec.xField && Array.isArray(sparklineSpec.xField.domain)) {
67
69
  const values = dataValue.map((value => value[sparklineSpec.xField.field])), domain = sparklineSpec.xField.domain;
68
70
  for (let i = 0; i < domain.length; i++) {
@@ -89,9 +91,9 @@ function createSparkLine(col, row, width, height, padding, table) {
89
91
  } else for (let i = 0; i < dataValue.length; i++) {
90
92
  const data = dataValue[i];
91
93
  items.push({
92
- x: 0 + xScale.scale(data[xField]),
93
- y: bottom - yScale.scale(data[yField]),
94
- defined: isValid(data[yField]),
94
+ x: 0 + xScale.scale(xField ? data[xField] : i),
95
+ y: bottom - yScale.scale(yField ? data[yField] : data),
96
+ defined: isValid(yField ? data[yField] : data),
95
97
  rawData: data
96
98
  }), dataItems.push(data);
97
99
  }
@@ -100,8 +102,8 @@ function createSparkLine(col, row, width, height, padding, table) {
100
102
  line.max = yScale.range()[1];
101
103
  const symbolGroup = chartGroup.getChildByName("sparkline-symbol-group");
102
104
  if (symbolGroup) {
103
- const isShowIsolatedPoint = sparklineSpec.symbol.visible && "isolatedPoint" === sparklineSpec.pointShowRule;
104
- if (sparklineSpec.symbol.visible && "all" === sparklineSpec.pointShowRule) for (let i = 0; i < items.length; i++) {
105
+ const isShowIsolatedPoint = (null === (_a = sparklineSpec.point) || void 0 === _a ? void 0 : _a.visible) && "isolatedPoint" === sparklineSpec.pointShowRule;
106
+ if ((null === (_b = sparklineSpec.point) || void 0 === _b ? void 0 : _b.visible) && "all" === sparklineSpec.pointShowRule) for (let i = 0; i < items.length; i++) {
105
107
  const {x: x, y: y, defined: defined} = items[i];
106
108
  if (defined) {
107
109
  const symbol = createSymbol({
@@ -125,40 +127,46 @@ function createSparkLine(col, row, width, height, padding, table) {
125
127
  }
126
128
 
127
129
  function createChartGroup(spec, x, y, width, height) {
130
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
128
131
  let specObj;
129
132
  specObj = "function" == typeof spec ? spec(null) : spec;
130
133
  const group = new Group({
131
134
  x: x,
132
135
  y: y,
133
136
  width: width,
134
- height: height
137
+ height: height,
138
+ stroke: !1,
139
+ fill: !1
135
140
  });
136
141
  if (group.name = "sparkline", "line" === specObj.type) {
137
142
  const line = createLine({
138
143
  x: 0,
139
144
  y: 0,
140
- curveType: specObj.smooth || "monotone" === specObj.line.style.interpolate ? "monotoneX" : "linear",
141
- strokeColor: specObj.line.style.stroke,
142
- lineWidth: specObj.line.style.strokeWidth
145
+ curveType: (null !== (_a = specObj.smooth) && void 0 !== _a ? _a : "linear" === (null === (_c = null === (_b = specObj.line) || void 0 === _b ? void 0 : _b.style) || void 0 === _c ? void 0 : _c.interpolate)) ? "linear" : "monotoneX",
146
+ stroke: null !== (_f = null === (_e = null === (_d = specObj.line) || void 0 === _d ? void 0 : _d.style) || void 0 === _e ? void 0 : _e.stroke) && void 0 !== _f ? _f : "blue",
147
+ lineWidth: null !== (_j = null === (_h = null === (_g = specObj.line) || void 0 === _g ? void 0 : _g.style) || void 0 === _h ? void 0 : _h.strokeWidth) && void 0 !== _j ? _j : 2
148
+ });
149
+ line.name = "sparkline-line", group.addChild(line), specObj.crosshair && (line.hover = null !== (_l = null === (_k = specObj.crosshair) || void 0 === _k ? void 0 : _k.style) && void 0 !== _l ? _l : {
150
+ stroke: "#000",
151
+ interpolate: "linear"
143
152
  });
144
- line.name = "sparkline-line", group.addChild(line), line.hover = specObj.crosshair.style;
145
153
  const symbolGroup = new Group({
146
154
  x: 0,
147
155
  y: 0,
148
156
  width: width,
149
- height: height
157
+ height: height,
158
+ stroke: !1,
159
+ fill: !1
150
160
  });
151
161
  symbolGroup.name = "sparkline-symbol-group", symbolGroup.setTheme({
152
162
  symbol: {
153
- fill: !0,
154
- stroke: !0,
155
- strokeColor: specObj.symbol.style.stroke,
156
- lineWidth: specObj.symbol.style.strokeWidth,
157
- fillColor: specObj.symbol.style.fill,
158
- size: 2 * specObj.symbol.style.size,
163
+ stroke: null !== (_p = null === (_o = null === (_m = specObj.point) || void 0 === _m ? void 0 : _m.style) || void 0 === _o ? void 0 : _o.stroke) && void 0 !== _p ? _p : "#000",
164
+ lineWidth: null !== (_s = null === (_r = null === (_q = specObj.point) || void 0 === _q ? void 0 : _q.style) || void 0 === _r ? void 0 : _r.strokeWidth) && void 0 !== _s ? _s : 1,
165
+ fill: null !== (_v = null === (_u = null === (_t = specObj.point) || void 0 === _t ? void 0 : _t.style) || void 0 === _u ? void 0 : _u.fill) && void 0 !== _v ? _v : "#000",
166
+ size: 2 * (null !== (_y = null === (_x = null === (_w = specObj.point) || void 0 === _w ? void 0 : _w.style) || void 0 === _x ? void 0 : _x.size) && void 0 !== _y ? _y : 3),
159
167
  symbolType: "circle"
160
168
  }
161
- }), group.addChild(symbolGroup), symbolGroup.hover = specObj.symbol.state.hover;
169
+ }), group.addChild(symbolGroup), symbolGroup.hover = null !== (_0 = null === (_z = specObj.point) || void 0 === _z ? void 0 : _z.hover) && void 0 !== _0 && _0;
162
170
  }
163
171
  return group;
164
172
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["scenegraph/group-creater/cell-type/spark-line-cell.ts"],"names":[],"mappings":"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","file":"spark-line-cell.js","sourcesContent":["import type { ILine, ISymbol } from '@visactor/vrender';\nimport { createLine, createSymbol } from '@visactor/vrender';\nimport { PointScale, LinearScale } from '@visactor/vscale';\nimport { isValid } from '../../../tools/util';\nimport { Group } from '../../graphic/group';\nimport type { CellInfo, SparklineSpec } from '../../../ts-types';\nimport { getCellTheme } from './text-cell';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\n\nconst xScale: PointScale = new PointScale();\nconst yScale: LinearScale = new LinearScale();\n\nexport function createSparkLineCellGroup(\n cellGroup: Group | null,\n columnGroup: Group,\n xOrigin: number,\n yOrigin: number,\n col: number,\n row: number,\n width: number,\n height: number,\n padding: number[],\n table: BaseTableAPI\n) {\n const cellTheme = getCellTheme(table, col, row);\n // cell\n if (!cellGroup) {\n cellGroup = new Group({\n x: xOrigin,\n y: yOrigin,\n width,\n height,\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\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\n // chart\n const chartGroup = createSparkLine(col, row, width, height, padding, table);\n if (chartGroup) {\n cellGroup.appendChild(chartGroup);\n }\n\n return cellGroup;\n}\n\nfunction createSparkLine(\n col: number,\n row: number,\n width: number,\n height: number,\n padding: number[],\n table: BaseTableAPI\n): Group | undefined {\n //获取场景树对象,根据当前单元格位置更改其位置\n //待定 TODO group需要设置shape属性吗\n let sparklineSpec: SparklineSpec;\n let chartGroup: Group;\n const chartSpecRaw = table.internalProps.layoutMap.getBody(col, row).sparklineSpec;\n const dataValue = table.getCellValue(col, row) as unknown as any[];\n\n if (!Array.isArray(dataValue)) {\n return undefined;\n }\n\n const x = padding[3];\n const y = padding[0];\n width -= padding[1] + padding[3];\n height -= padding[0] + padding[2];\n const left = 0;\n // const top = y;\n // const right = x + width;\n const bottom = height;\n if (typeof chartSpecRaw === 'function') {\n // 动态组织spec\n const arg = {\n col,\n row,\n dataValue: table.getCellOriginValue(col, row) || '',\n value: table.getCellValue(col, row) || '',\n rect: table.getCellRangeRelativeRect(table.getCellRange(col, row)),\n table\n };\n sparklineSpec = chartSpecRaw(arg);\n chartGroup = createChartGroup(sparklineSpec, x, y, width, height);\n } else {\n sparklineSpec = chartSpecRaw;\n chartGroup = createChartGroup(chartSpecRaw, x, y, width, height);\n }\n\n // #region scale对x y轴映射\n const items: { x: number; y: number; defined?: boolean }[] = [];\n const dataItems: any[] = [];\n\n let xField;\n let yField;\n if (typeof sparklineSpec.xField === 'object') {\n xScale.domain(sparklineSpec.xField.domain);\n xField = sparklineSpec.xField.field;\n } else if (typeof sparklineSpec.xField === 'string') {\n const indexValues = dataValue.map((value: any) => value[sparklineSpec.xField as string]);\n xScale.domain(indexValues);\n xField = sparklineSpec.xField;\n }\n xScale.range([0, width]);\n\n if (typeof sparklineSpec.yField === 'object') {\n yScale.domain(sparklineSpec.yField.domain);\n yField = sparklineSpec.yField.field;\n } else if (typeof sparklineSpec.yField === 'string') {\n // string类型 自动计算出domain\n const values = dataValue.map((value: any) => value[sparklineSpec.yField as string]);\n yScale.domain([Math.min(...values), Math.max(...values)]);\n yField = sparklineSpec.yField;\n }\n yScale.range([0, height]);\n\n if (typeof sparklineSpec.xField === 'object' && Array.isArray(sparklineSpec.xField.domain)) {\n // 如果xField.domain合法,需要按需补充null值点\n const values = dataValue.map((value: any) => value[(sparklineSpec.xField as any).field]);\n const domain = sparklineSpec.xField.domain;\n for (let i = 0; i < domain.length; i++) {\n let valid = false;\n for (let j = 0; j < values.length; j++) {\n // eslint-disable-next-line eqeqeq\n if (domain[i] == values[j]) {\n const data: any = dataValue[j];\n // 无效数据不进行scale,避免null被解析为0\n if (!isValid(data[xField]) || !isValid(data[yField])) {\n break;\n }\n items.push({\n x: left + xScale.scale(data[xField]),\n y: bottom - yScale.scale(data[yField]),\n defined: isValid(data[yField])\n });\n dataItems.push(data); //收集原始数据\n valid = true;\n break;\n }\n }\n\n if (!valid) {\n // 该domain的index没有在数据中,补充无效点\n items.push({\n x: left + xScale.scale(domain[i]),\n y: 0,\n defined: false\n });\n dataItems.push({ [xField]: domain[i], [yField]: null });\n }\n }\n } else {\n for (let i = 0; i < dataValue.length; i++) {\n const data: any = dataValue[i];\n items.push({\n x: left + xScale.scale(data[xField]),\n y: bottom - yScale.scale(data[yField]),\n defined: isValid(data[yField]),\n rawData: data\n } as any);\n dataItems.push(data);\n }\n }\n // #endregion\n\n // 更新线节点属性\n const line = chartGroup.getChildByName('sparkline-line') as ILine;\n if (line) {\n line.setAttribute('points', items);\n }\n (line as any).bandwidth = xScale.step();\n (line as any).min = yScale.range()[0];\n (line as any).max = yScale.range()[1];\n\n // 更新symbol节点属性\n const symbolGroup = chartGroup.getChildByName('sparkline-symbol-group') as ILine;\n if (symbolGroup) {\n const isShowIsolatedPoint = sparklineSpec.symbol.visible && sparklineSpec.pointShowRule === 'isolatedPoint';\n if (sparklineSpec.symbol.visible && sparklineSpec.pointShowRule === 'all') {\n for (let i = 0; i < items.length; i++) {\n const { x, y, defined } = items[i];\n if (defined) {\n const symbol: ISymbol = createSymbol({ x, y });\n symbolGroup.appendChild(symbol);\n }\n }\n } else if (isShowIsolatedPoint) {\n // 处理孤立点显示\n for (let i = 0; i < items.length; i++) {\n const { x, y, defined } = items[i];\n if (defined && (!items[i - 1] || !items[i - 1].defined) && (!items[i + 1] || !items[i + 1].defined)) {\n // 规范孤立数据显示Symbol的spec api\n const symbol: ISymbol = createSymbol({ x, y });\n symbolGroup.appendChild(symbol);\n }\n }\n }\n }\n return chartGroup;\n}\n\nfunction createChartGroup(\n spec: SparklineSpec | ((arg: CellInfo) => SparklineSpec),\n x: number,\n y: number,\n width: number,\n height: number\n): Group {\n let specObj: SparklineSpec;\n if (typeof spec === 'function') {\n // specObj = spec.apply(null, null);\n specObj = spec(null);\n } else {\n specObj = spec;\n }\n // 生成根节点\n const group = new Group({\n x,\n y,\n width,\n height\n });\n group.name = 'sparkline';\n\n if (specObj.type === 'line') {\n // 生成line\n const line = createLine({\n x: 0,\n y: 0,\n curveType: specObj.smooth || specObj.line.style.interpolate === 'monotone' ? 'monotoneX' : 'linear',\n strokeColor: specObj.line.style.stroke,\n lineWidth: specObj.line.style.strokeWidth\n });\n line.name = 'sparkline-line';\n group.addChild(line);\n (line as any).hover = specObj.crosshair.style;\n\n // 生成symbol\n const symbolGroup = new Group({\n x: 0,\n y: 0,\n width,\n height\n });\n symbolGroup.name = 'sparkline-symbol-group';\n symbolGroup.setTheme({\n symbol: {\n fill: true,\n stroke: true,\n strokeColor: specObj.symbol.style.stroke,\n lineWidth: specObj.symbol.style.strokeWidth,\n fillColor: specObj.symbol.style.fill,\n size: specObj.symbol.style.size * 2, // 之前配置的是圆半径\n symbolType: 'circle'\n }\n });\n group.addChild(symbolGroup);\n (symbolGroup as any).hover = specObj.symbol.state.hover;\n }\n return group;\n}\n"]}
1
+ {"version":3,"sources":["scenegraph/group-creater/cell-type/spark-line-cell.ts"],"names":[],"mappings":"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","file":"spark-line-cell.js","sourcesContent":["import type { ILine, ISymbol } from '@visactor/vrender';\nimport { createLine, createSymbol } from '@visactor/vrender';\nimport { PointScale, LinearScale } from '@visactor/vscale';\nimport { isValid } from '../../../tools/util';\nimport { Group } from '../../graphic/group';\nimport type { CellInfo, SparklineSpec } from '../../../ts-types';\nimport { getCellTheme } from './text-cell';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\n\nconst xScale: PointScale = new PointScale();\nconst yScale: LinearScale = new LinearScale();\n\nexport function createSparkLineCellGroup(\n cellGroup: Group | null,\n columnGroup: Group,\n xOrigin: number,\n yOrigin: number,\n col: number,\n row: number,\n width: number,\n height: number,\n padding: number[],\n table: BaseTableAPI\n) {\n const cellTheme = getCellTheme(table, col, row);\n // cell\n if (!cellGroup) {\n cellGroup = new Group({\n x: xOrigin,\n y: yOrigin,\n width,\n height,\n\n // 背景相关,cell背景由cellGroup绘制\n lineWidth: cellTheme?.group?.lineWidth ?? undefined,\n fill: cellTheme?.group?.fill ?? undefined,\n stroke: cellTheme?.group?.stroke ?? undefined,\n\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\n // chart\n const chartGroup = createSparkLine(col, row, width, height, padding, table);\n if (chartGroup) {\n cellGroup.appendChild(chartGroup);\n }\n\n return cellGroup;\n}\n\nfunction createSparkLine(\n col: number,\n row: number,\n width: number,\n height: number,\n padding: number[],\n table: BaseTableAPI\n): Group | undefined {\n //获取场景树对象,根据当前单元格位置更改其位置\n //待定 TODO group需要设置shape属性吗\n let sparklineSpec: SparklineSpec;\n let chartGroup: Group;\n const chartSpecRaw = table.internalProps.layoutMap.getBody(col, row).sparklineSpec;\n const dataValue = table.getCellValue(col, row) as unknown as any[];\n\n if (!Array.isArray(dataValue)) {\n return undefined;\n }\n\n const x = padding[3];\n const y = padding[0];\n width -= padding[1] + padding[3];\n height -= padding[0] + padding[2];\n const left = 0;\n // const top = y;\n // const right = x + width;\n const bottom = height;\n if (typeof chartSpecRaw === 'function') {\n // 动态组织spec\n const arg = {\n col,\n row,\n dataValue: table.getCellOriginValue(col, row) || '',\n value: table.getCellValue(col, row) || '',\n rect: table.getCellRangeRelativeRect(table.getCellRange(col, row)),\n table\n };\n sparklineSpec = chartSpecRaw(arg);\n chartGroup = createChartGroup(sparklineSpec, x, y, width, height);\n } else {\n sparklineSpec = chartSpecRaw;\n chartGroup = createChartGroup(chartSpecRaw, x, y, width, height);\n }\n\n // #region scale对x y轴映射\n const items: { x: number; y: number; defined?: boolean }[] = [];\n const dataItems: any[] = [];\n\n let xField;\n let yField;\n if (typeof sparklineSpec.xField === 'object') {\n xScale.domain(sparklineSpec.xField.domain);\n xField = sparklineSpec.xField.field;\n } else if (typeof sparklineSpec.xField === 'string') {\n const indexValues = dataValue.map((value: any) => value[sparklineSpec.xField as string]);\n xScale.domain(indexValues);\n xField = sparklineSpec.xField;\n } else {\n // xField未配置 data为数值数组的情况\n if (Array.isArray(dataValue)) {\n xScale.domain(Array.from({ length: dataValue.length }, (_, i) => i));\n xField = sparklineSpec.xField;\n }\n }\n xScale.range([0, width]);\n\n if (typeof sparklineSpec.yField === 'object') {\n yScale.domain(sparklineSpec.yField.domain);\n yField = sparklineSpec.yField.field;\n } else if (typeof sparklineSpec.yField === 'string') {\n // string类型 自动计算出domain\n const values = dataValue.map((value: any) => value[sparklineSpec.yField as string]);\n yScale.domain([Math.min(...values), Math.max(...values)]);\n yField = sparklineSpec.yField;\n } else {\n // yField未配置 检查data是否为数值数组\n if (Array.isArray(dataValue) && dataValue.every((value: any) => typeof value === 'number')) {\n yScale.domain([Math.min(...dataValue), Math.max(...dataValue)]);\n yField = sparklineSpec.yField;\n }\n }\n yScale.range([0, height]);\n\n if (typeof sparklineSpec.xField === 'object' && Array.isArray(sparklineSpec.xField.domain)) {\n // 如果xField.domain合法,需要按需补充null值点\n const values = dataValue.map((value: any) => value[(sparklineSpec.xField as any).field]);\n const domain = sparklineSpec.xField.domain;\n for (let i = 0; i < domain.length; i++) {\n let valid = false;\n for (let j = 0; j < values.length; j++) {\n // eslint-disable-next-line eqeqeq\n if (domain[i] == values[j]) {\n const data: any = dataValue[j];\n // 无效数据不进行scale,避免null被解析为0\n if (!isValid(data[xField]) || !isValid(data[yField])) {\n break;\n }\n items.push({\n x: left + xScale.scale(data[xField]),\n y: bottom - yScale.scale(data[yField]),\n defined: isValid(data[yField])\n });\n dataItems.push(data); //收集原始数据\n valid = true;\n break;\n }\n }\n\n if (!valid) {\n // 该domain的index没有在数据中,补充无效点\n items.push({\n x: left + xScale.scale(domain[i]),\n y: 0,\n defined: false\n });\n dataItems.push({ [xField]: domain[i], [yField]: null });\n }\n }\n } else {\n for (let i = 0; i < dataValue.length; i++) {\n const data: any = dataValue[i];\n items.push({\n x: left + xScale.scale(xField ? data[xField] : i),\n y: bottom - yScale.scale(yField ? data[yField] : data),\n defined: isValid(yField ? data[yField] : data),\n rawData: data\n } as any);\n dataItems.push(data);\n }\n }\n // #endregion\n\n // 更新线节点属性\n const line = chartGroup.getChildByName('sparkline-line') as ILine;\n if (line) {\n line.setAttribute('points', items);\n }\n (line as any).bandwidth = xScale.step();\n (line as any).min = yScale.range()[0];\n (line as any).max = yScale.range()[1];\n\n // 更新symbol节点属性\n const symbolGroup = chartGroup.getChildByName('sparkline-symbol-group') as ILine;\n if (symbolGroup) {\n const isShowIsolatedPoint = sparklineSpec.point?.visible && sparklineSpec.pointShowRule === 'isolatedPoint';\n if (sparklineSpec.point?.visible && sparklineSpec.pointShowRule === 'all') {\n for (let i = 0; i < items.length; i++) {\n const { x, y, defined } = items[i];\n if (defined) {\n const symbol: ISymbol = createSymbol({ x, y });\n symbolGroup.appendChild(symbol);\n }\n }\n } else if (isShowIsolatedPoint) {\n // 处理孤立点显示\n for (let i = 0; i < items.length; i++) {\n const { x, y, defined } = items[i];\n if (defined && (!items[i - 1] || !items[i - 1].defined) && (!items[i + 1] || !items[i + 1].defined)) {\n // 规范孤立数据显示Symbol的spec api\n const symbol: ISymbol = createSymbol({ x, y });\n symbolGroup.appendChild(symbol);\n }\n }\n }\n }\n return chartGroup;\n}\n\nfunction createChartGroup(\n spec: SparklineSpec | ((arg: CellInfo) => SparklineSpec),\n x: number,\n y: number,\n width: number,\n height: number\n): Group {\n let specObj: SparklineSpec;\n if (typeof spec === 'function') {\n // specObj = spec.apply(null, null);\n specObj = spec(null);\n } else {\n specObj = spec;\n }\n // 生成根节点\n const group = new Group({\n x,\n y,\n width,\n height,\n stroke: false,\n fill: false\n });\n group.name = 'sparkline';\n\n if (specObj.type === 'line') {\n // 生成line\n const line = createLine({\n x: 0,\n y: 0,\n curveType: specObj.smooth ?? specObj.line?.style?.interpolate === 'linear' ? 'linear' : 'monotoneX',\n stroke: specObj.line?.style?.stroke ?? 'blue',\n lineWidth: specObj.line?.style?.strokeWidth ?? 2\n });\n line.name = 'sparkline-line';\n group.addChild(line);\n if (specObj.crosshair) {\n (line as any).hover = specObj.crosshair?.style ?? {\n stroke: '#000',\n interpolate: 'linear'\n };\n }\n\n // 生成symbol\n const symbolGroup = new Group({\n x: 0,\n y: 0,\n width,\n height,\n stroke: false,\n fill: false\n });\n symbolGroup.name = 'sparkline-symbol-group';\n symbolGroup.setTheme({\n symbol: {\n stroke: specObj.point?.style?.stroke ?? '#000',\n lineWidth: specObj.point?.style?.strokeWidth ?? 1,\n fill: specObj.point?.style?.fill ?? '#000',\n size: (specObj.point?.style?.size ?? 3) * 2, // 之前配置的是圆半径\n symbolType: 'circle'\n }\n });\n group.addChild(symbolGroup);\n (symbolGroup as any).hover = specObj.point?.hover ?? false;\n }\n return group;\n}\n"]}
@@ -8,7 +8,7 @@ import { getFunctionalProp } from "../../utils/get-prop";
8
8
 
9
9
  import { createCellContent } from "../../utils/text-icon-layout";
10
10
 
11
- import { getStyleTheme } from "../column-helper";
11
+ import { getStyleTheme } from "../../../core/tableHelper";
12
12
 
13
13
  export function createCellGroup(table, columnGroup, xOrigin, yOrigin, col, row, colWidth, cellWidth, cellHeight, padding, textAlign, textBaseline, mayHaveIcon, isfunctionalProps, renderDefault, cellTheme) {
14
14
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
@@ -21,11 +21,9 @@ export function createCellGroup(table, columnGroup, xOrigin, yOrigin, col, row,
21
21
  y: yOrigin,
22
22
  width: cellWidth,
23
23
  height: cellHeight,
24
- fill: !0,
25
- stroke: !0,
26
24
  lineWidth: null !== (_g = null === (_f = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _f ? void 0 : _f.lineWidth) && void 0 !== _g ? _g : void 0,
27
- fillColor: null !== (_j = null === (_h = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _h ? void 0 : _h.fillColor) && void 0 !== _j ? _j : void 0,
28
- strokeColor: null !== (_l = null === (_k = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _k ? void 0 : _k.strokeColor) && void 0 !== _l ? _l : void 0,
25
+ fill: null !== (_j = null === (_h = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _h ? void 0 : _h.fill) && void 0 !== _j ? _j : void 0,
26
+ stroke: null !== (_l = null === (_k = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _k ? void 0 : _k.stroke) && void 0 !== _l ? _l : void 0,
29
27
  strokeArrayWidth: null !== (_o = null === (_m = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _m ? void 0 : _m.strokeArrayWidth) && void 0 !== _o ? _o : void 0,
30
28
  strokeArrayColor: null !== (_q = null === (_p = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _p ? void 0 : _p.strokeArrayColor) && void 0 !== _q ? _q : void 0,
31
29
  cursor: null !== (_s = null === (_r = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _r ? void 0 : _r.cursor) && void 0 !== _s ? _s : void 0,
@@ -44,7 +42,7 @@ export function createCellGroup(table, columnGroup, xOrigin, yOrigin, col, row,
44
42
  startAngle: Math.PI / 2,
45
43
  endAngle: Math.PI,
46
44
  outerRadius: 6,
47
- fillColor: "#3073F2",
45
+ fill: "#3073F2",
48
46
  pickable: !1
49
47
  });
50
48
  mark.name = "mark", cellGroup.appendChild(mark);
@@ -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":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAkB1D,MAAM,UAAU,eAAe,CAC7B,KAAmB,EACnB,WAAkB,EAClB,OAAe,EACf,OAAe,EACf,GAAW,EACX,GAAW,EAEX,QAAyB,EACzB,SAAiB,EACjB,UAAkB,EAClB,OAAiB,EACjB,SAA0B,EAC1B,YAAgC,EAChC,WAAoB,EACpB,iBAA0B,EAC1B,aAAsB,EACtB,SAAsB;;IAGtB,IAAI,iBAAiB,EAAE;QACrB,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;KACtD;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAClD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACrF,IAAI,OAAO,CAAC,iBAAiB,CAAC,EAAE;QAC9B,OAAO,GAAG,iBAAiB,CAAC;KAC7B;IACD,IAAI,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,0CAAE,SAAS,EAAE;QAC9B,SAAS,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,0CAAE,SAAS,CAAC;KACxC;IACD,IAAI,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,0CAAE,YAAY,EAAE;QACjC,YAAY,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,0CAAE,YAAY,CAAC;KAC9C;IACD,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC;IAC9C,MAAM,YAAY,GAAG,QAAQ,KAAK,MAAM,CAAC;IACzC,MAAM,YAAY,GAAG,MAAA,WAAW,CAAC,YAAY,mCAAI,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC;IAClF,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;IAGxC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC;QAC1B,CAAC,EAAE,OAAO;QACV,CAAC,EAAE,OAAO;QACV,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,UAAU;QAElB,SAAS,EAAE,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,0CAAE,SAAS,mCAAI,SAAS;QACnD,IAAI,EAAE,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,0CAAE,IAAI,mCAAI,SAAS;QACzC,MAAM,EAAE,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,0CAAE,MAAM,mCAAI,SAAS;QAC7C,gBAAgB,EAAE,MAAA,MAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAa,0CAAE,gBAAgB,mCAAI,SAAS;QAC1E,gBAAgB,EAAE,MAAA,MAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAa,0CAAE,gBAAgB,mCAAI,SAAS;QAC1E,MAAM,EAAE,MAAA,MAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAa,0CAAE,MAAM,mCAAI,SAAS;QAEtD,OAAO,EAAE,QAAQ;QAEjB,IAAI,EAAE,IAAI;KACJ,CAAC,CAAC;IACV,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;IACxB,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;IACpB,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;IACpB,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEhC,IAAI,aAAa,EAAE;QACjB,MAAM,OAAO,GAAW,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAErD,IAAI,KAAK,CAAC;QACV,IAAI,WAAW,EAAE;YACf,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SACtC;QAED,iBAAiB,CACf,SAAS,EACT,KAAK,EACL,OAAO,EACP,OAAc,EACd,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAGrD,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,SAAS,CACV,CAAC;QAEF,IAAI,MAAC,SAAiB,aAAjB,SAAS,uBAAT,SAAS,CAAU,OAAO,0CAAE,MAAM,EAAE;YACvC,MAAM,IAAI,GAAG,SAAS,CAAC;gBACrB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,KAAK;gBAC5B,CAAC,EAAE,CAAC;gBACJ,UAAU,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC;gBACvB,QAAQ,EAAE,IAAI,CAAC,EAAE;gBACjB,WAAW,EAAE,CAAC;gBACd,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;YAEnB,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC7B;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAUD,MAAM,UAAU,YAAY,CAC1B,KAAmB,EACnB,GAAW,EACX,GAAW,EACX,SAAsB;IAGtB,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAElD,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,KAAK,CAAC;IAEnF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;QAC9B,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE;YAC9B,IAAI,CAAC,SAAS,EAAE;gBACd,SAAS,GAAG,EAAE,CAAC;aAChB;YAED,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;gBACpB,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;aACtB;YAED,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC3C;KACF;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;QAC7B,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC7B,IAAI,CAAC,SAAS,EAAE;gBACd,SAAS,GAAG,EAAE,CAAC;aAChB;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;gBACnB,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC;aACrB;YAED,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzC;KACF;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE;QAChC,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;YAChC,IAAI,CAAC,SAAS,EAAE;gBACd,SAAS,GAAG,EAAE,CAAC;aAChB;YAED,IAAI,CAAE,SAAiB,CAAC,OAAO,EAAE;gBAC9B,SAAiB,CAAC,OAAO,GAAG,EAAE,CAAC;aACjC;YAEA,SAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxD;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC","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"]}
@@ -31,11 +31,9 @@ export function createVideoCellGroup(columnGroup, xOrigin, yOrigin, col, row, wi
31
31
  y: yOrigin,
32
32
  width: width,
33
33
  height: height,
34
- fill: !0,
35
- stroke: !0,
36
34
  lineWidth: null !== (_f = null === (_e = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _e ? void 0 : _e.lineWidth) && void 0 !== _f ? _f : void 0,
37
- fillColor: null !== (_h = null === (_g = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _g ? void 0 : _g.fillColor) && void 0 !== _h ? _h : void 0,
38
- strokeColor: null !== (_k = null === (_j = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _j ? void 0 : _j.strokeColor) && void 0 !== _k ? _k : void 0,
35
+ fill: null !== (_h = null === (_g = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _g ? void 0 : _g.fill) && void 0 !== _h ? _h : void 0,
36
+ stroke: null !== (_k = null === (_j = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _j ? void 0 : _j.stroke) && void 0 !== _k ? _k : void 0,
39
37
  strokeArrayWidth: null !== (_m = null === (_l = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _l ? void 0 : _l.strokeArrayWidth) && void 0 !== _m ? _m : void 0,
40
38
  strokeArrayColor: null !== (_p = null === (_o = null == cellTheme ? void 0 : cellTheme.group) || void 0 === _o ? void 0 : _o.strokeArrayColor) && void 0 !== _p ? _p : void 0,
41
39
  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,12 +2,10 @@ import { Group } from "../graphic/group";
2
2
 
3
3
  import { getProp, getRawProp } from "../utils/get-prop";
4
4
 
5
- import { getPadding } from "../utils/padding";
6
-
7
- import { parseFont } from "../utils/font";
8
-
9
5
  import { createCell } from "./cell-helper";
10
6
 
7
+ import { getStyleTheme } from "../../core/tableHelper";
8
+
11
9
  export function createComplexColumn(columnGroup, col, colWidth, rowStart, rowEnd, mergeMap, defaultRowHeight, table, cellType, rowLimit, customRender, customLayout) {
12
10
  var _a, _b, _c, _d, _e, _f;
13
11
  let padding, textAlign, textBaseline, maxWidth = 0, isfunctionalProps = !1;
@@ -36,8 +34,9 @@ export function createComplexColumn(columnGroup, col, colWidth, rowStart, rowEnd
36
34
  const row = j, define = "body" !== cellType ? table.getHeaderDefine(col, row) : table.getBodyColumnDefine(col, row), mayHaveIcon = "body" !== cellType || !!(null == define ? void 0 : define.icon);
37
35
  let cellTheme;
38
36
  if (!useColumnTheme) {
39
- cellTheme = getStyleTheme(table._getCellStyle(col, row), table, col, row, getProp).theme,
40
- cellTheme.group.width = colWidth, cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight,
37
+ const headerStyle = table._getCellStyle(col, row);
38
+ cellTheme = getStyleTheme(headerStyle, table, col, row, getProp).theme, cellTheme.group.width = colWidth,
39
+ cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight,
41
40
  cellTheme._vtable.padding && (padding = cellTheme._vtable.padding), cellTheme.text.textAlign && (textAlign = cellTheme.text.textAlign),
42
41
  cellTheme.text.textBaseline && (textBaseline = cellTheme.text.textBaseline);
43
42
  }
@@ -88,48 +87,4 @@ export function getColumnGroupTheme(col, colWidth, table) {
88
87
  hasFunctionPros: hasFunctionPros
89
88
  };
90
89
  }
91
-
92
- export function getStyleTheme(headerStyle, table, col, row, getProp, needGetTheme = !0) {
93
- const padding = getPadding(getProp("padding", headerStyle, col, row, table)), bgColor = getProp("bgColor", headerStyle, col, row, table), font = getProp("font", headerStyle, col, row, table);
94
- let fontFamily, fontSize, fontWeight;
95
- if (font) {
96
- const {family: family, size: size, weight: weight} = parseFont(font);
97
- fontFamily = family.join(" "), fontSize = size, fontWeight = weight;
98
- } else fontFamily = getProp("fontFamily", headerStyle, col, row, table), fontSize = getProp("fontSize", headerStyle, col, row, table),
99
- fontWeight = getProp("fontWeight", headerStyle, col, row, table);
100
- 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);
101
- if (!needGetTheme) return {
102
- hasFunctionPros: hasFunctionPros
103
- };
104
- const theme = {
105
- text: {
106
- fontFamily: fontFamily,
107
- fontSize: fontSize,
108
- fontWeight: fontWeight,
109
- fillColor: color,
110
- textAlign: textAlign,
111
- textBaseline: textBaseline,
112
- lineHeight: null != lineHeight ? lineHeight : fontSize,
113
- underline: underline ? textDecorationWidth : void 0,
114
- lineThrough: lineThrough ? textDecorationWidth : void 0,
115
- ellipsis: textOverflow && "clip" !== textOverflow ? "ellipsis" === textOverflow ? "..." : textOverflow : void 0
116
- },
117
- group: {
118
- fillColor: bgColor,
119
- lineDash: borderLineDash,
120
- lineWidth: borderLineWidth,
121
- strokeColor: borderColor
122
- },
123
- _vtable: {
124
- padding: padding,
125
- marked: marked
126
- }
127
- };
128
- return Array.isArray(borderLineWidth) && (theme.group.strokeArrayWidth = getPadding(borderLineWidth)),
129
- Array.isArray(borderColor) && (theme.group.strokeArrayColor = getPadding(borderColor)),
130
- {
131
- theme: theme,
132
- hasFunctionPros: hasFunctionPros
133
- };
134
- }
135
90
  //# 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
  }