k-vtable 1.0.0 → 1.0.1

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 (333) hide show
  1. package/cjs/ListTable.d.ts +2 -0
  2. package/cjs/ListTable.js +41 -18
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.js +3 -5
  5. package/cjs/PivotChart.js.map +1 -1
  6. package/cjs/PivotTable.js +2 -4
  7. package/cjs/PivotTable.js.map +1 -1
  8. package/cjs/body-helper/style.d.ts +1 -1
  9. package/cjs/body-helper/style.js.map +1 -1
  10. package/cjs/chartModule.d.ts +3 -0
  11. package/cjs/chartModule.js +7 -3
  12. package/cjs/chartModule.js.map +1 -1
  13. package/cjs/components/axis/axis.js.map +1 -1
  14. package/cjs/components/menu/dom/MenuHandler.js +1 -1
  15. package/cjs/components/menu/dom/MenuHandler.js.map +1 -1
  16. package/cjs/components/menu/dom/logic/MenuElement.js +12 -7
  17. package/cjs/components/menu/dom/logic/MenuElement.js.map +1 -1
  18. package/cjs/components/menu/dom/logic/MenuElementStyle.js +1 -1
  19. package/cjs/components/menu/dom/logic/MenuElementStyle.js.map +1 -1
  20. package/cjs/components/tooltip/TooltipHandler.js +1 -1
  21. package/cjs/components/tooltip/TooltipHandler.js.map +1 -1
  22. package/cjs/core/BaseTable.d.ts +6 -2
  23. package/cjs/core/BaseTable.js +57 -36
  24. package/cjs/core/BaseTable.js.map +1 -1
  25. package/cjs/core/TABLE_EVENT_TYPE.d.ts +4 -0
  26. package/cjs/core/TABLE_EVENT_TYPE.js +5 -1
  27. package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
  28. package/cjs/core/tableHelper.js +16 -13
  29. package/cjs/core/tableHelper.js.map +1 -1
  30. package/cjs/data/DataSource.js +10 -4
  31. package/cjs/data/DataSource.js.map +1 -1
  32. package/cjs/edit/edit-manager.d.ts +1 -0
  33. package/cjs/edit/edit-manager.js +9 -5
  34. package/cjs/edit/edit-manager.js.map +1 -1
  35. package/cjs/event/event.d.ts +3 -2
  36. package/cjs/event/event.js +1 -1
  37. package/cjs/event/event.js.map +1 -1
  38. package/cjs/event/listener/container-dom.js +55 -24
  39. package/cjs/event/listener/container-dom.js.map +1 -1
  40. package/cjs/event/listener/table-group.js +8 -38
  41. package/cjs/event/listener/table-group.js.map +1 -1
  42. package/cjs/event/listener/touch.js +31 -21
  43. package/cjs/event/listener/touch.js.map +1 -1
  44. package/cjs/header-helper/style.d.ts +1 -1
  45. package/cjs/header-helper/style.js.map +1 -1
  46. package/cjs/icons.d.ts +3 -0
  47. package/cjs/icons.js +3 -3
  48. package/cjs/icons.js.map +1 -1
  49. package/cjs/index.d.ts +5 -3
  50. package/cjs/index.js +11 -2
  51. package/cjs/index.js.map +1 -1
  52. package/cjs/layout/pivot-header-layout.js +9 -6
  53. package/cjs/layout/pivot-header-layout.js.map +1 -1
  54. package/cjs/layout/simple-header-layout.d.ts +3 -1
  55. package/cjs/layout/simple-header-layout.js +13 -7
  56. package/cjs/layout/simple-header-layout.js.map +1 -1
  57. package/cjs/plugins/custom-cell-style.js +1 -1
  58. package/cjs/plugins/index.d.ts +3 -0
  59. package/cjs/plugins/index.js +24 -0
  60. package/cjs/plugins/index.js.map +1 -0
  61. package/cjs/plugins/interface.d.ts +10 -0
  62. package/cjs/plugins/interface.js +6 -0
  63. package/cjs/plugins/interface.js.map +1 -0
  64. package/cjs/plugins/plugin-manager.d.ts +14 -0
  65. package/cjs/plugins/plugin-manager.js +55 -0
  66. package/cjs/plugins/plugin-manager.js.map +1 -0
  67. package/cjs/register.js +4 -4
  68. package/cjs/register.js.map +1 -1
  69. package/cjs/scenegraph/component/menu.js.map +1 -1
  70. package/cjs/scenegraph/component/table-component.d.ts +2 -0
  71. package/cjs/scenegraph/component/table-component.js +38 -24
  72. package/cjs/scenegraph/component/table-component.js.map +1 -1
  73. package/cjs/scenegraph/graphic/chart.d.ts +2 -2
  74. package/cjs/scenegraph/graphic/chart.js +1 -1
  75. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  76. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +3 -0
  77. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  78. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +1 -1
  79. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  80. package/cjs/scenegraph/graphic/contributions/index.js +4 -2
  81. package/cjs/scenegraph/graphic/contributions/index.js.map +1 -1
  82. package/cjs/scenegraph/graphic/contributions/picker-interceptor.d.ts +8 -0
  83. package/cjs/scenegraph/graphic/contributions/picker-interceptor.js +42 -0
  84. package/cjs/scenegraph/graphic/contributions/picker-interceptor.js.map +1 -0
  85. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +2 -2
  86. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  87. package/cjs/scenegraph/graphic/contributions/vchart-graphic-picker.d.ts +6 -0
  88. package/cjs/scenegraph/graphic/contributions/vchart-graphic-picker.js +25 -0
  89. package/cjs/scenegraph/graphic/contributions/vchart-graphic-picker.js.map +1 -0
  90. package/cjs/scenegraph/group-creater/cell-helper.js +6 -1
  91. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  92. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +5 -3
  93. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  94. package/cjs/scenegraph/group-creater/column-helper.js +2 -1
  95. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  96. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +4 -2
  97. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  98. package/cjs/scenegraph/group-creater/progress/proxy.js +2 -2
  99. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  100. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  101. package/cjs/scenegraph/layout/frozen.js +32 -13
  102. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  103. package/cjs/scenegraph/layout/update-col.js +2 -1
  104. package/cjs/scenegraph/layout/update-col.js.map +1 -1
  105. package/cjs/scenegraph/layout/update-row.js +2 -1
  106. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  107. package/cjs/scenegraph/scenegraph.js +6 -4
  108. package/cjs/scenegraph/scenegraph.js.map +1 -1
  109. package/cjs/scenegraph/select/update-select-border.js +2 -1
  110. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  111. package/cjs/scenegraph/stick-text/index.d.ts +2 -0
  112. package/cjs/scenegraph/stick-text/index.js +10 -6
  113. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  114. package/cjs/state/checkbox/checkbox.js +2 -2
  115. package/cjs/state/checkbox/checkbox.js.map +1 -1
  116. package/cjs/state/hover/update-position.js +3 -1
  117. package/cjs/state/hover/update-position.js.map +1 -1
  118. package/cjs/state/select/update-position.js +138 -44
  119. package/cjs/state/select/update-position.js.map +1 -1
  120. package/cjs/state/state.d.ts +1 -0
  121. package/cjs/state/state.js +10 -8
  122. package/cjs/state/state.js.map +1 -1
  123. package/cjs/themes/ARCO.js +2 -1
  124. package/cjs/themes/ARCO.js.map +1 -1
  125. package/cjs/themes/BRIGHT.js +2 -1
  126. package/cjs/themes/BRIGHT.js.map +1 -1
  127. package/cjs/themes/DARK.js +2 -1
  128. package/cjs/themes/DARK.js.map +1 -1
  129. package/cjs/themes/DEFAULT.js +2 -1
  130. package/cjs/themes/DEFAULT.js.map +1 -1
  131. package/cjs/themes/{theme.js → theme-define.js} +9 -1
  132. package/cjs/themes/theme-define.js.map +1 -0
  133. package/cjs/{plugins → themes}/themes.d.ts +1 -1
  134. package/cjs/themes/themes.js.map +1 -0
  135. package/cjs/themes.d.ts +1 -1
  136. package/cjs/themes.js +9 -8
  137. package/cjs/themes.js.map +1 -1
  138. package/cjs/tools/cell-range.js +2 -1
  139. package/cjs/tools/cell-range.js.map +1 -1
  140. package/cjs/ts-types/base-table.d.ts +8 -2
  141. package/cjs/ts-types/base-table.js.map +1 -1
  142. package/cjs/ts-types/events.d.ts +18 -0
  143. package/cjs/ts-types/events.js.map +1 -1
  144. package/cjs/ts-types/index.d.ts +1 -0
  145. package/cjs/ts-types/index.js +1 -1
  146. package/cjs/ts-types/index.js.map +1 -1
  147. package/cjs/ts-types/menu.d.ts +1 -0
  148. package/cjs/ts-types/menu.js.map +1 -1
  149. package/cjs/ts-types/table-engine.d.ts +3 -0
  150. package/cjs/ts-types/table-engine.js.map +1 -1
  151. package/cjs/ts-types/theme.d.ts +2 -0
  152. package/cjs/ts-types/theme.js.map +1 -1
  153. package/cjs/vrender.js.map +1 -1
  154. package/dist/vtable.js +18853 -16859
  155. package/dist/vtable.min.js +2 -2
  156. package/es/ListTable.d.ts +2 -0
  157. package/es/ListTable.js +42 -17
  158. package/es/ListTable.js.map +1 -1
  159. package/es/PivotChart.js +2 -6
  160. package/es/PivotChart.js.map +1 -1
  161. package/es/PivotTable.js +2 -4
  162. package/es/PivotTable.js.map +1 -1
  163. package/es/body-helper/style.d.ts +1 -1
  164. package/es/body-helper/style.js.map +1 -1
  165. package/es/chartModule.d.ts +3 -0
  166. package/es/chartModule.js +2 -2
  167. package/es/chartModule.js.map +1 -1
  168. package/es/components/axis/axis.js.map +1 -1
  169. package/es/components/menu/dom/MenuHandler.js +1 -1
  170. package/es/components/menu/dom/MenuHandler.js.map +1 -1
  171. package/es/components/menu/dom/logic/MenuElement.js +12 -7
  172. package/es/components/menu/dom/logic/MenuElement.js.map +1 -1
  173. package/es/components/menu/dom/logic/MenuElementStyle.js +1 -1
  174. package/es/components/menu/dom/logic/MenuElementStyle.js.map +1 -1
  175. package/es/components/tooltip/TooltipHandler.js +1 -1
  176. package/es/components/tooltip/TooltipHandler.js.map +1 -1
  177. package/es/core/BaseTable.d.ts +6 -2
  178. package/es/core/BaseTable.js +54 -33
  179. package/es/core/BaseTable.js.map +1 -1
  180. package/es/core/TABLE_EVENT_TYPE.d.ts +4 -0
  181. package/es/core/TABLE_EVENT_TYPE.js +5 -1
  182. package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
  183. package/es/core/tableHelper.js +16 -13
  184. package/es/core/tableHelper.js.map +1 -1
  185. package/es/data/DataSource.js +10 -4
  186. package/es/data/DataSource.js.map +1 -1
  187. package/es/edit/edit-manager.d.ts +1 -0
  188. package/es/edit/edit-manager.js +9 -5
  189. package/es/edit/edit-manager.js.map +1 -1
  190. package/es/event/event.d.ts +3 -2
  191. package/es/event/event.js +2 -2
  192. package/es/event/event.js.map +1 -1
  193. package/es/event/listener/container-dom.js +55 -24
  194. package/es/event/listener/container-dom.js.map +1 -1
  195. package/es/event/listener/table-group.js +9 -39
  196. package/es/event/listener/table-group.js.map +1 -1
  197. package/es/event/listener/touch.js +32 -20
  198. package/es/event/listener/touch.js.map +1 -1
  199. package/es/header-helper/style.d.ts +1 -1
  200. package/es/header-helper/style.js.map +1 -1
  201. package/es/icons.d.ts +3 -0
  202. package/es/icons.js +3 -1
  203. package/es/icons.js.map +1 -1
  204. package/es/index.d.ts +5 -3
  205. package/es/index.js +5 -3
  206. package/es/index.js.map +1 -1
  207. package/es/layout/pivot-header-layout.js +9 -6
  208. package/es/layout/pivot-header-layout.js.map +1 -1
  209. package/es/layout/simple-header-layout.d.ts +3 -1
  210. package/es/layout/simple-header-layout.js +14 -6
  211. package/es/layout/simple-header-layout.js.map +1 -1
  212. package/es/plugins/custom-cell-style.js +1 -1
  213. package/es/plugins/index.d.ts +3 -0
  214. package/es/plugins/index.js +4 -0
  215. package/es/plugins/index.js.map +1 -0
  216. package/es/plugins/interface.d.ts +10 -0
  217. package/es/plugins/interface.js +2 -0
  218. package/es/plugins/interface.js.map +1 -0
  219. package/es/plugins/plugin-manager.d.ts +14 -0
  220. package/es/plugins/plugin-manager.js +47 -0
  221. package/es/plugins/plugin-manager.js.map +1 -0
  222. package/es/register.js +3 -3
  223. package/es/register.js.map +1 -1
  224. package/es/scenegraph/component/menu.js.map +1 -1
  225. package/es/scenegraph/component/table-component.d.ts +2 -0
  226. package/es/scenegraph/component/table-component.js +38 -24
  227. package/es/scenegraph/component/table-component.js.map +1 -1
  228. package/es/scenegraph/graphic/chart.d.ts +2 -2
  229. package/es/scenegraph/graphic/chart.js +2 -2
  230. package/es/scenegraph/graphic/chart.js.map +1 -1
  231. package/es/scenegraph/graphic/contributions/chart-render-helper.js +3 -0
  232. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  233. package/es/scenegraph/graphic/contributions/group-contribution-render.js +1 -1
  234. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  235. package/es/scenegraph/graphic/contributions/index.js +5 -2
  236. package/es/scenegraph/graphic/contributions/index.js.map +1 -1
  237. package/es/scenegraph/graphic/contributions/picker-interceptor.d.ts +8 -0
  238. package/es/scenegraph/graphic/contributions/picker-interceptor.js +37 -0
  239. package/es/scenegraph/graphic/contributions/picker-interceptor.js.map +1 -0
  240. package/es/scenegraph/graphic/contributions/rect-contribution-render.js +2 -2
  241. package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  242. package/es/scenegraph/graphic/contributions/vchart-graphic-picker.d.ts +6 -0
  243. package/es/scenegraph/graphic/contributions/vchart-graphic-picker.js +23 -0
  244. package/es/scenegraph/graphic/contributions/vchart-graphic-picker.js.map +1 -0
  245. package/es/scenegraph/group-creater/cell-helper.js +6 -1
  246. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  247. package/es/scenegraph/group-creater/cell-type/image-cell.js +5 -3
  248. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  249. package/es/scenegraph/group-creater/column-helper.js +2 -1
  250. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  251. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +2 -2
  252. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  253. package/es/scenegraph/group-creater/progress/proxy.js +4 -3
  254. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  255. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  256. package/es/scenegraph/layout/frozen.js +32 -13
  257. package/es/scenegraph/layout/frozen.js.map +1 -1
  258. package/es/scenegraph/layout/update-col.js +3 -0
  259. package/es/scenegraph/layout/update-col.js.map +1 -1
  260. package/es/scenegraph/layout/update-row.js +3 -0
  261. package/es/scenegraph/layout/update-row.js.map +1 -1
  262. package/es/scenegraph/scenegraph.js +6 -4
  263. package/es/scenegraph/scenegraph.js.map +1 -1
  264. package/es/scenegraph/select/update-select-border.js +2 -1
  265. package/es/scenegraph/select/update-select-border.js.map +1 -1
  266. package/es/scenegraph/stick-text/index.d.ts +2 -0
  267. package/es/scenegraph/stick-text/index.js +7 -4
  268. package/es/scenegraph/stick-text/index.js.map +1 -1
  269. package/es/state/checkbox/checkbox.js +2 -2
  270. package/es/state/checkbox/checkbox.js.map +1 -1
  271. package/es/state/hover/update-position.js +3 -1
  272. package/es/state/hover/update-position.js.map +1 -1
  273. package/es/state/select/update-position.js +138 -44
  274. package/es/state/select/update-position.js.map +1 -1
  275. package/es/state/state.d.ts +1 -0
  276. package/es/state/state.js +10 -8
  277. package/es/state/state.js.map +1 -1
  278. package/es/themes/ARCO.js +2 -1
  279. package/es/themes/ARCO.js.map +1 -1
  280. package/es/themes/BRIGHT.js +2 -1
  281. package/es/themes/BRIGHT.js.map +1 -1
  282. package/es/themes/DARK.js +2 -1
  283. package/es/themes/DARK.js.map +1 -1
  284. package/es/themes/DEFAULT.js +2 -1
  285. package/es/themes/DEFAULT.js.map +1 -1
  286. package/es/themes/{theme.js → theme-define.js} +9 -1
  287. package/es/themes/theme-define.js.map +1 -0
  288. package/es/{plugins → themes}/themes.d.ts +1 -1
  289. package/es/themes/themes.js.map +1 -0
  290. package/es/themes.d.ts +1 -1
  291. package/es/themes.js +2 -2
  292. package/es/themes.js.map +1 -1
  293. package/es/tools/cell-range.js +2 -1
  294. package/es/tools/cell-range.js.map +1 -1
  295. package/es/ts-types/base-table.d.ts +8 -2
  296. package/es/ts-types/base-table.js.map +1 -1
  297. package/es/ts-types/events.d.ts +18 -0
  298. package/es/ts-types/events.js.map +1 -1
  299. package/es/ts-types/index.d.ts +1 -0
  300. package/es/ts-types/index.js +2 -0
  301. package/es/ts-types/index.js.map +1 -1
  302. package/es/ts-types/menu.d.ts +1 -0
  303. package/es/ts-types/menu.js.map +1 -1
  304. package/es/ts-types/table-engine.d.ts +3 -0
  305. package/es/ts-types/table-engine.js.map +1 -1
  306. package/es/ts-types/theme.d.ts +2 -0
  307. package/es/ts-types/theme.js.map +1 -1
  308. package/es/vrender.js.map +1 -1
  309. package/package.json +6 -6
  310. package/cjs/plugins/chartModules.d.ts +0 -3
  311. package/cjs/plugins/chartModules.js +0 -6
  312. package/cjs/plugins/chartModules.js.map +0 -1
  313. package/cjs/plugins/icons.d.ts +0 -12
  314. package/cjs/plugins/icons.js +0 -26
  315. package/cjs/plugins/icons.js.map +0 -1
  316. package/cjs/plugins/themes.js.map +0 -1
  317. package/cjs/scenegraph/component/menu.d.ts +0 -41
  318. package/cjs/scenegraph/utils/text-measure.d.ts +0 -38
  319. package/cjs/themes/theme.js.map +0 -1
  320. package/es/plugins/chartModules.d.ts +0 -3
  321. package/es/plugins/chartModules.js +0 -2
  322. package/es/plugins/chartModules.js.map +0 -1
  323. package/es/plugins/icons.d.ts +0 -12
  324. package/es/plugins/icons.js +0 -22
  325. package/es/plugins/icons.js.map +0 -1
  326. package/es/plugins/themes.js.map +0 -1
  327. package/es/scenegraph/component/menu.d.ts +0 -41
  328. package/es/scenegraph/utils/text-measure.d.ts +0 -38
  329. package/es/themes/theme.js.map +0 -1
  330. /package/cjs/themes/{theme.d.ts → theme-define.d.ts} +0 -0
  331. /package/cjs/{plugins → themes}/themes.js +0 -0
  332. /package/es/themes/{theme.d.ts → theme-define.d.ts} +0 -0
  333. /package/es/{plugins → themes}/themes.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/scenegraph/graphic/contributions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,iCAAiC,EACjC,gCAAgC,EAChC,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,+BAA+B,EAChC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iCAAiC,IAAI,uCAAuC,EAC5E,gCAAgC,IAAI,sCAAsC,EAC3E,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,gCAAgC,EAChC,iCAAiC,EACjC,kCAAkC,EAClC,iCAAiC,EACjC,sCAAsC,EACtC,qCAAqC,EACrC,wCAAwC,EACxC,uCAAuC,EACvC,qCAAqC,EAEtC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,qCAAqC,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAEhF,eAAe,IAAI,eAAe,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAEnE,IAAI,OAAO,CAAC,iCAAiC,CAAC,EAAE;QAC9C,MAAM,CAAC,iCAAiC,CAAC,CAAC,EAAE,CAAC,uCAAuC,CAAC,CAAC,gBAAgB,EAAE,CAAC;KAC1G;SAAM;QACL,IAAI,CAAC,uCAAuC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QAC1E,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;KACjF;IACD,IAAI,OAAO,CAAC,gCAAgC,CAAC,EAAE;QAC7C,MAAM,CAAC,gCAAgC,CAAC,CAAC,EAAE,CAAC,sCAAsC,CAAC,CAAC,gBAAgB,EAAE,CAAC;KACxG;SAAM;QACL,IAAI,CAAC,sCAAsC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACzE,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;KAChF;IAGD,IAAI,CAAC,wBAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;IAC/C,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;IAGjD,IAAI,CAAC,6BAA6B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAChE,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;IACvE,IAAI,CAAC,4BAA4B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC/D,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAEtE,IAAI,CAAC,gCAAgC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACnE,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;IAC1E,IAAI,CAAC,+BAA+B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAClE,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;IAGzE,IAAI,CAAC,wCAAwC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3E,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IAClF,IAAI,CAAC,uCAAuC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1E,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;IAEjF,IAAI,CAAC,iCAAiC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpE,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;IAC3E,IAAI,CAAC,kCAAkC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrE,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;IAE5E,IAAI,CAAC,iCAAiC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpE,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;IAC3E,IAAI,CAAC,gCAAgC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACnE,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;IAE1E,IAAI,CAAC,sCAAsC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzE,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAChF,IAAI,CAAC,qCAAqC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxE,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;IAE/E,IAAI,CAAC,qCAAqC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxE,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;IAK/E,IAAI,CAAC,qCAAqC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxE,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;IAG3E,IAAI,CAAC,kCAAkC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrE,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC","file":"index.js","sourcesContent":["import {\n GraphicRender,\n GroupRenderContribution,\n ImageRenderContribution,\n RectRenderContribution,\n SplitRectBeforeRenderContribution,\n SplitRectAfterRenderContribution,\n ContainerModule,\n DrawItemInterceptor,\n TextRenderContribution\n} from './../../../vrender';\nimport { ChartRender, DefaultCanvasChartRender } from './chart-render';\nimport {\n AfterImageRenderContribution,\n BeforeImageRenderContribution,\n BeforeGifImageRenderContribution,\n AfterGifImageRenderContribution\n} from './image-contribution-render';\nimport {\n SplitRectBeforeRenderContribution as VTableSplitRectBeforeRenderContribution,\n SplitRectAfterRenderContribution as VTableSplitRectAfterRenderContribution\n} from './rect-contribution-render';\nimport {\n DashGroupAfterRenderContribution,\n DashGroupBeforeRenderContribution,\n SplitGroupBeforeRenderContribution,\n SplitGroupAfterRenderContribution,\n AdjustPosGroupBeforeRenderContribution,\n AdjustPosGroupAfterRenderContribution,\n AdjustColorGroupBeforeRenderContribution,\n AdjustColorGroupAfterRenderContribution,\n ClipBodyGroupBeforeRenderContribution\n // ClipBodyGroupAfterRenderContribution\n} from './group-contribution-render';\nimport { VTableDrawItemInterceptorContribution } from './draw-interceptor';\nimport { SuffixTextBeforeRenderContribution } from './text-contribution-render';\n\nexport default new ContainerModule((bind, unbind, isBound, rebind) => {\n // rect 渲染器注入contributions\n if (isBound(SplitRectBeforeRenderContribution)) {\n rebind(SplitRectBeforeRenderContribution).to(VTableSplitRectBeforeRenderContribution).inSingletonScope();\n } else {\n bind(VTableSplitRectBeforeRenderContribution).toSelf().inSingletonScope();\n bind(RectRenderContribution).toService(VTableSplitRectBeforeRenderContribution);\n }\n if (isBound(SplitRectAfterRenderContribution)) {\n rebind(SplitRectAfterRenderContribution).to(VTableSplitRectAfterRenderContribution).inSingletonScope();\n } else {\n bind(VTableSplitRectAfterRenderContribution).toSelf().inSingletonScope();\n bind(RectRenderContribution).toService(VTableSplitRectAfterRenderContribution);\n }\n\n // chart渲染器注入\n bind(DefaultCanvasChartRender).toSelf().inSingletonScope();\n bind(ChartRender).to(DefaultCanvasChartRender);\n bind(GraphicRender).to(DefaultCanvasChartRender);\n\n // image 渲染器注入contributions\n bind(BeforeImageRenderContribution).toSelf().inSingletonScope();\n bind(ImageRenderContribution).toService(BeforeImageRenderContribution);\n bind(AfterImageRenderContribution).toSelf().inSingletonScope();\n bind(ImageRenderContribution).toService(AfterImageRenderContribution);\n\n bind(BeforeGifImageRenderContribution).toSelf().inSingletonScope();\n bind(ImageRenderContribution).toService(BeforeGifImageRenderContribution);\n bind(AfterGifImageRenderContribution).toSelf().inSingletonScope();\n bind(ImageRenderContribution).toService(AfterGifImageRenderContribution);\n\n // group 渲染器注入contributions\n bind(AdjustColorGroupBeforeRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(AdjustColorGroupBeforeRenderContribution);\n bind(AdjustColorGroupAfterRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(AdjustColorGroupAfterRenderContribution);\n\n bind(SplitGroupAfterRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(SplitGroupAfterRenderContribution);\n bind(SplitGroupBeforeRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(SplitGroupBeforeRenderContribution);\n\n bind(DashGroupBeforeRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(DashGroupBeforeRenderContribution);\n bind(DashGroupAfterRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(DashGroupAfterRenderContribution);\n\n bind(AdjustPosGroupBeforeRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(AdjustPosGroupBeforeRenderContribution);\n bind(AdjustPosGroupAfterRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(AdjustPosGroupAfterRenderContribution);\n\n bind(ClipBodyGroupBeforeRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(ClipBodyGroupBeforeRenderContribution);\n // bind(ClipBodyGroupAfterRenderContribution).toSelf().inSingletonScope();\n // bind(GroupRenderContribution).toService(ClipBodyGroupAfterRenderContribution);\n\n // interceptor\n bind(VTableDrawItemInterceptorContribution).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(VTableDrawItemInterceptorContribution);\n\n // text 渲染器注入contributions\n bind(SuffixTextBeforeRenderContribution).toSelf().inSingletonScope();\n bind(TextRenderContribution).toService(SuffixTextBeforeRenderContribution);\n});\n"]}
1
+ {"version":3,"sources":["../src/scenegraph/graphic/contributions/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import {\n GraphicRender,\n GroupRenderContribution,\n ImageRenderContribution,\n RectRenderContribution,\n SplitRectBeforeRenderContribution,\n SplitRectAfterRenderContribution,\n ContainerModule,\n DrawItemInterceptor,\n TextRenderContribution,\n CanvasPickerContribution\n} from './../../../vrender';\nimport { ChartRender, DefaultCanvasChartRender } from './chart-render';\nimport {\n AfterImageRenderContribution,\n BeforeImageRenderContribution,\n BeforeGifImageRenderContribution,\n AfterGifImageRenderContribution\n} from './image-contribution-render';\nimport {\n SplitRectBeforeRenderContribution as VTableSplitRectBeforeRenderContribution,\n SplitRectAfterRenderContribution as VTableSplitRectAfterRenderContribution\n} from './rect-contribution-render';\nimport {\n DashGroupAfterRenderContribution,\n DashGroupBeforeRenderContribution,\n SplitGroupBeforeRenderContribution,\n SplitGroupAfterRenderContribution,\n AdjustPosGroupBeforeRenderContribution,\n AdjustPosGroupAfterRenderContribution,\n AdjustColorGroupBeforeRenderContribution,\n AdjustColorGroupAfterRenderContribution,\n ClipBodyGroupBeforeRenderContribution\n // ClipBodyGroupAfterRenderContribution\n} from './group-contribution-render';\nimport { VTableDrawItemInterceptorContribution } from './draw-interceptor';\nimport { SuffixTextBeforeRenderContribution } from './text-contribution-render';\nimport { VChartPicker } from './vchart-graphic-picker';\n// import { VChartPickServiceInterceptorContribution } from './picker-interceptor';\n\nexport default new ContainerModule((bind, unbind, isBound, rebind) => {\n // rect 渲染器注入contributions\n if (isBound(SplitRectBeforeRenderContribution)) {\n rebind(SplitRectBeforeRenderContribution).to(VTableSplitRectBeforeRenderContribution).inSingletonScope();\n } else {\n bind(VTableSplitRectBeforeRenderContribution).toSelf().inSingletonScope();\n bind(RectRenderContribution).toService(VTableSplitRectBeforeRenderContribution);\n }\n if (isBound(SplitRectAfterRenderContribution)) {\n rebind(SplitRectAfterRenderContribution).to(VTableSplitRectAfterRenderContribution).inSingletonScope();\n } else {\n bind(VTableSplitRectAfterRenderContribution).toSelf().inSingletonScope();\n bind(RectRenderContribution).toService(VTableSplitRectAfterRenderContribution);\n }\n\n // chart渲染器注入\n bind(DefaultCanvasChartRender).toSelf().inSingletonScope();\n bind(ChartRender).to(DefaultCanvasChartRender);\n bind(GraphicRender).to(DefaultCanvasChartRender);\n // chart picker 注入\n bind(VChartPicker).toSelf().inSingletonScope();\n bind(CanvasPickerContribution).toService(VChartPicker);\n // bind(VChartPickServiceInterceptorContribution).toSelf().inSingletonScope();\n // bind(PickServiceInterceptor).toService(VChartPickServiceInterceptorContribution);\n\n // image 渲染器注入contributions\n bind(BeforeImageRenderContribution).toSelf().inSingletonScope();\n bind(ImageRenderContribution).toService(BeforeImageRenderContribution);\n bind(AfterImageRenderContribution).toSelf().inSingletonScope();\n bind(ImageRenderContribution).toService(AfterImageRenderContribution);\n\n bind(BeforeGifImageRenderContribution).toSelf().inSingletonScope();\n bind(ImageRenderContribution).toService(BeforeGifImageRenderContribution);\n bind(AfterGifImageRenderContribution).toSelf().inSingletonScope();\n bind(ImageRenderContribution).toService(AfterGifImageRenderContribution);\n\n // group 渲染器注入contributions\n bind(AdjustColorGroupBeforeRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(AdjustColorGroupBeforeRenderContribution);\n bind(AdjustColorGroupAfterRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(AdjustColorGroupAfterRenderContribution);\n\n bind(SplitGroupAfterRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(SplitGroupAfterRenderContribution);\n bind(SplitGroupBeforeRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(SplitGroupBeforeRenderContribution);\n\n bind(DashGroupBeforeRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(DashGroupBeforeRenderContribution);\n bind(DashGroupAfterRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(DashGroupAfterRenderContribution);\n\n bind(AdjustPosGroupBeforeRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(AdjustPosGroupBeforeRenderContribution);\n bind(AdjustPosGroupAfterRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(AdjustPosGroupAfterRenderContribution);\n\n bind(ClipBodyGroupBeforeRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(ClipBodyGroupBeforeRenderContribution);\n // bind(ClipBodyGroupAfterRenderContribution).toSelf().inSingletonScope();\n // bind(GroupRenderContribution).toService(ClipBodyGroupAfterRenderContribution);\n\n // interceptor\n bind(VTableDrawItemInterceptorContribution).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(VTableDrawItemInterceptorContribution);\n\n // text 渲染器注入contributions\n bind(SuffixTextBeforeRenderContribution).toSelf().inSingletonScope();\n bind(TextRenderContribution).toService(SuffixTextBeforeRenderContribution);\n});\n"]}
@@ -0,0 +1,8 @@
1
+ import type { IPickerService, IPickParams, PickResult } from './../../../vrender';
2
+ import type { IMatrix, IPointLike } from '@visactor/vutils';
3
+ export declare class VChartPickServiceInterceptorContribution {
4
+ order: number;
5
+ afterPickItem(result: PickResult, pickerService: IPickerService, point: IPointLike, pickParams: IPickParams, params?: {
6
+ parentMatrix: IMatrix;
7
+ }): null | PickResult;
8
+ }
@@ -0,0 +1,37 @@
1
+ var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
5
+ };
6
+
7
+ import { injectable } from "./../../../vrender";
8
+
9
+ let VChartPickServiceInterceptorContribution = class {
10
+ constructor() {
11
+ this.order = 1;
12
+ }
13
+ afterPickItem(result, pickerService, point, pickParams, params) {
14
+ if (null === result.graphic && result.group && result.group.stage && "vstory" === result.group.stage.id) {
15
+ const charts = result.group.stage.getElementsByType("chart"), nextPoint = {
16
+ x: point.x,
17
+ y: point.y
18
+ };
19
+ params && params.parentMatrix && params.parentMatrix.transformPoint(point, nextPoint);
20
+ for (let i = charts.length - 1; i >= 0; i--) {
21
+ const chart = charts[i], pointInChart = {
22
+ x: nextPoint.x,
23
+ y: nextPoint.y
24
+ };
25
+ if (chart.globalTransMatrix.transformPoint(pointInChart, pointInChart), !chart.activeChartInstance) continue;
26
+ if (chart.activeChartInstance.getStage().viewBox.contains(pointInChart.x, pointInChart.y)) return result.graphic = chart,
27
+ result.group = null, result;
28
+ }
29
+ }
30
+ return result;
31
+ }
32
+ };
33
+
34
+ VChartPickServiceInterceptorContribution = __decorate([ injectable() ], VChartPickServiceInterceptorContribution);
35
+
36
+ export { VChartPickServiceInterceptorContribution };
37
+ //# sourceMappingURL=picker-interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/scenegraph/graphic/contributions/picker-interceptor.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIzC,IAAM,wCAAwC,GAA9C,MAAM,wCAAwC;IAA9C;QACL,UAAK,GAAW,CAAC,CAAC;IA6CpB,CAAC;IA5CC,aAAa,CACX,MAAkB,EAClB,aAA6B,EAC7B,KAAiB,EACjB,UAAuB,EACvB,MAEC;QAGD,IACE,MAAM,CAAC,OAAO,KAAK,IAAI;YACvB,MAAM,CAAC,KAAK;YACX,MAAM,CAAC,KAAa,CAAC,KAAK;YAC1B,MAAM,CAAC,KAAa,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,EAC3C;YAEA,MAAM,KAAK,GAAI,MAAM,CAAC,KAAa,CAAC,KAAK,CAAC;YAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7C,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,EAAE;gBACjC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aACtD;YAED,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;gBACxD,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBACnE,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE;oBAC9B,SAAS;iBACV;gBACD,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;gBAE7D,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE;oBACpD,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;oBACvB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;oBAEpB,OAAO,MAAM,CAAC;iBACf;aACF;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA9CY,wCAAwC;IADpD,UAAU,EAAE;GACA,wCAAwC,CA8CpD;SA9CY,wCAAwC","file":"picker-interceptor.js","sourcesContent":["import type { IPickerService, IPickParams, PickResult } from './../../../vrender';\nimport { injectable } from './../../../vrender';\nimport type { IMatrix, IPointLike } from '@visactor/vutils';\n\n@injectable()\nexport class VChartPickServiceInterceptorContribution {\n order: number = 1;\n afterPickItem(\n result: PickResult,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ): null | PickResult {\n // 点击到图表的空白区域了,那么就判断该位置是否有其他图元,如果有,那就返回false,否则还是认为选中了图表\n if (\n result.graphic === null &&\n result.group &&\n (result.group as any).stage &&\n (result.group as any).stage.id === 'vstory'\n ) {\n // console.log('aaaa', result);\n const stage = (result.group as any).stage;\n const charts = stage.getElementsByType('chart');\n const nextPoint = { x: point.x, y: point.y };\n if (params && params.parentMatrix) {\n params.parentMatrix.transformPoint(point, nextPoint);\n }\n\n for (let i = charts.length - 1; i >= 0; i--) {\n const chart = charts[i];\n const pointInChart = { x: nextPoint.x, y: nextPoint.y };\n chart.globalTransMatrix.transformPoint(pointInChart, pointInChart);\n if (!chart.activeChartInstance) {\n continue;\n }\n const viewBox = chart.activeChartInstance.getStage().viewBox;\n // console.log(chart);\n if (viewBox.contains(pointInChart.x, pointInChart.y)) {\n result.graphic = chart;\n result.group = null;\n // result.group =\n return result;\n }\n }\n }\n\n return result;\n }\n}\n"]}
@@ -35,8 +35,8 @@ let SplitRectAfterRenderContribution = class {
35
35
  if (stroke && (Array.isArray(strokeArrayWidth) || 0 !== lineWidth) && (Array.isArray(stroke) || Array.isArray(strokeArrayColor) || Array.isArray(strokeArrayWidth))) {
36
36
  const deltaWidth = 0, deltaHeight = 0;
37
37
  "border-rect" !== rect.name && "table-border-rect" !== rect.name && ("number" == typeof lineWidth && 1 & lineWidth || Array.isArray(strokeArrayWidth) && strokeArrayWidth.some((width => 1 & width))) && (x = Math.floor(x) + .5,
38
- y = Math.floor(y) + .5), 0 === cornerRadius || isArray(cornerRadius) && cornerRadius.every((num => 0 === num)) ? renderStroke(rect, context, x, y, rectAttribute, stroke, strokeArrayWidth || lineWidth, strokeArrayColor || strokeColor, Math.ceil(width + deltaWidth), Math.ceil(height + deltaHeight)) : (context.beginPath(),
39
- createRectPath(context, x, y, width, height, cornerRadius, new Array(4).fill(0).map(((_, i) => (x1, y1, x2, y2) => {
38
+ y = Math.floor(y) + .5), 0 === cornerRadius || isArray(cornerRadius) && cornerRadius.every((num => 0 === num)) ? renderStroke(rect, context, x, y, rectAttribute, stroke, strokeArrayWidth || lineWidth, strokeArrayColor || strokeColor, "table-border-rect" !== rect.name ? Math.ceil(width + deltaWidth) : width + deltaWidth, "table-border-rect" !== rect.name ? Math.ceil(height + deltaHeight) : height + deltaHeight) : (context.beginPath(),
39
+ createRectPath(context, x, y, width, height, cornerRadius, !0, new Array(4).fill(0).map(((_, i) => (x1, y1, x2, y2) => {
40
40
  renderStrokeWithCornerRadius(i, x1, y1, x2, y2, rect, context, x, y, rectAttribute, stroke, strokeArrayWidth || lineWidth, strokeArrayColor || strokeColor, Math.ceil(width + deltaWidth), Math.ceil(height + deltaHeight));
41
41
  }))), context.stroke());
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/scenegraph/graphic/contributions/rect-contribution-render.ts"],"names":[],"mappings":"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","file":"rect-contribution-render.js","sourcesContent":["import type {\n IRect,\n IContext2d,\n IRectGraphicAttribute,\n IMarkAttribute,\n IGraphicAttribute,\n IThemeAttribute,\n IRectRenderContribution,\n IGroup,\n IGroupGraphicAttribute,\n IDrawContext,\n ICustomPath2D\n} from './../../../vrender';\nimport { BaseRenderContributionTime, injectable } from './../../../vrender';\nimport { getWidthInfo, renderStroke } from './group-contribution-render';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\nimport type { vec2, vec4 } from '@visactor/vutils';\nimport { abs, arrayEqual, halfPi, isArray, isNumber, pi } from '@visactor/vutils';\nimport { createRectPath } from './../../../vrender';\n\n@injectable()\nexport class SplitRectBeforeRenderContribution implements IRectRenderContribution {\n time: BaseRenderContributionTime = BaseRenderContributionTime.beforeFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n rectAttribute: Required<IRectGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n doFillOrStroke?: { doFill: boolean; doStroke: boolean }\n ) {\n // const { stroke = rectAttribute.stroke } = group.attribute as any;\n\n // if (Array.isArray(stroke)) {\n // doFillOrStroke.doStroke = false;\n // }\n\n const {\n stroke = rectAttribute.stroke,\n strokeArrayWidth = (rectAttribute as any).strokeArrayWidth,\n strokeArrayColor = (rectAttribute as any).strokeArrayColor\n } = rect.attribute as any;\n\n if (stroke && (Array.isArray(stroke) || Array.isArray(strokeArrayWidth) || Array.isArray(strokeArrayColor))) {\n doFillOrStroke.doStroke = false;\n }\n }\n}\n\n@injectable()\nexport class SplitRectAfterRenderContribution implements IRectRenderContribution {\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n rectAttribute: Required<IRectGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const {\n // width = rectAttribute.width,\n // height = rectAttribute.height,\n // stroke = rectAttribute.stroke\n // } = group.attribute as any;\n\n // if (!Array.isArray(stroke)) {\n // return;\n // }\n\n // context.setStrokeStyle(group, group.attribute, x, y, rectAttribute);\n // // 单独处理每条边界,目前不考虑圆角\n // context.beginPath();\n // context.moveTo(x, y);\n // // top\n // if (stroke[0]) {\n // context.lineTo(x + width, y);\n // } else {\n // context.moveTo(x + width, y);\n // }\n // // right\n // if (stroke[1]) {\n // context.lineTo(x + width, y + height);\n // } else {\n // context.moveTo(x + width, y + height);\n // }\n // // bottom\n // if (stroke[2]) {\n // context.lineTo(x, y + height);\n // } else {\n // context.moveTo(x, y + height);\n // }\n // // left\n // if (stroke[3]) {\n // // 没有close path是,起点和终点不连续,需要调整y保证不出现缺口\n // const adjustY = stroke[0] ? y - context.lineWidth / 2 : y;\n // context.lineTo(x, adjustY);\n // } else {\n // context.moveTo(x, y);\n // }\n\n // context.stroke();\n\n const {\n width = rectAttribute.width,\n height = rectAttribute.height,\n // 基础border\n stroke = rectAttribute.stroke,\n strokeArrayColor = (rectAttribute as any).strokeArrayColor,\n strokeArrayWidth = (rectAttribute as any).strokeArrayWidth,\n\n lineWidth = rectAttribute.lineWidth,\n strokeColor = rectAttribute.stroke,\n\n cornerRadius = rectAttribute.cornerRadius\n // // select & hover border\n // highlightStroke = (rectAttribute as any).highlightStroke,\n // highlightStrokeArrayColor = (rectAttribute as any).highlightStrokeArrayColor,\n // highlightStrokeArrayWidth = (rectAttribute as any).highlightStrokeArrayWidth,\n // highlightStrokeArrayPart = (rectAttribute as any).highlightStrokeArrayPart,\n } = rect.attribute as any;\n\n if (!stroke || (!Array.isArray(strokeArrayWidth) && lineWidth === 0)) {\n return;\n }\n\n if (Array.isArray(stroke) || Array.isArray(strokeArrayColor) || Array.isArray(strokeArrayWidth)) {\n // let dx = 0;\n // let dy = 0;\n const deltaWidth = 0;\n const deltaHeight = 0;\n if (\n rect.name !== 'border-rect' && // border-rect not need offset\n rect.name !== 'table-border-rect' && // table-border-rect not need offset\n ((typeof lineWidth === 'number' && lineWidth & 1) ||\n (Array.isArray(strokeArrayWidth) && strokeArrayWidth.some(width => width & 1)))\n ) {\n // const table = (rect.stage as any).table as BaseTableAPI;\n // const bottomRight = table.theme.cellBorderClipDirection === 'bottom-right';\n // if (bottomRight) {\n // x = Math.floor(x) - 0.5;\n // y = Math.floor(y) - 0.5;\n // deltaWidth = 0.5;\n // deltaHeight = 0.5;\n // } else {\n x = Math.floor(x) + 0.5;\n y = Math.floor(y) + 0.5;\n // }\n }\n\n // 带不同stroke边框\n if (!(cornerRadius === 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0)))) {\n // let lastStrokeI = 0;\n // let lastStroke: any;\n context.beginPath();\n // debugger;\n createRectPath(\n context,\n x,\n y,\n width,\n height,\n cornerRadius,\n new Array(4).fill(0).map((_, i) => (x1: number, y1: number, x2: number, y2: number) => {\n renderStrokeWithCornerRadius(\n i,\n x1,\n y1,\n x2,\n y2,\n rect,\n context,\n x,\n y,\n rectAttribute,\n stroke,\n strokeArrayWidth || lineWidth,\n strokeArrayColor || strokeColor,\n Math.ceil(width + deltaWidth),\n Math.ceil(height + deltaHeight)\n );\n })\n );\n\n context.stroke();\n } else {\n renderStroke(\n rect as IGroup,\n context,\n x,\n y,\n rectAttribute,\n stroke,\n strokeArrayWidth || lineWidth,\n strokeArrayColor || strokeColor,\n Math.ceil(width + deltaWidth),\n Math.ceil(height + deltaHeight)\n );\n }\n }\n }\n}\n\nexport function renderStrokeWithCornerRadius(\n i: number,\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n rectAttribute: Required<IRectGraphicAttribute>,\n stroke: any,\n strokeArrayWidth: any,\n strokeArrayColor: any,\n width: number,\n height: number\n) {\n const group = rect;\n const groupAttribute = rectAttribute;\n\n // if (stroke[i]) {\n // if (!(lastStrokeI === i - 1 && stroke[i] === lastStroke)) {\n // context.setStrokeStyle(rect, { ...rect.attribute, stroke: stroke[i] }, x, y, rectAttribute);\n // context.beginPath();\n // context.moveTo(x1, y1);\n // lastStroke = stroke[i];\n // }\n // lastStrokeI = i;\n // context.lineTo(x2, y2);\n // context.stroke();\n // if (i === 3) {\n // context.beginPath();\n // }\n // }\n\n const widthInfo = getWidthInfo(strokeArrayWidth);\n const isWidthNumber = !Array.isArray(strokeArrayWidth);\n const isStrokeTrue = !Array.isArray(stroke);\n const isSplitDraw = Array.isArray(strokeArrayColor) || widthInfo.isSplitDraw;\n context.stroke(); // stroke last corner with last stroke style\n\n context.setStrokeStyle(rect, rect.attribute, x, y, rectAttribute);\n const { lineDash = groupAttribute.lineDash } = group.attribute as any;\n // const lineDash = context.getLineDash();\n let isDash = false;\n if (lineDash.length && lineDash.some((dash: number[] | null) => Array.isArray(dash))) {\n isDash = true;\n }\n\n // 单独处理每条边界,目前不考虑圆角\n context.beginPath(); // clean path\n context.moveTo(x, y);\n\n const strokeTop = (isStrokeTrue || stroke[0]) && (isWidthNumber || strokeArrayWidth[0]);\n const strokeRight = (isStrokeTrue || stroke[1]) && (isWidthNumber || strokeArrayWidth[1]);\n const strokeBottom = (isStrokeTrue || stroke[2]) && (isWidthNumber || strokeArrayWidth[2]);\n const strokeLeft = (isStrokeTrue || stroke[3]) && (isWidthNumber || strokeArrayWidth[3]);\n\n // top\n if (strokeTop && i === 0) {\n // context.lineTo(x + width, y);\n const deltaLeft = (isWidthNumber ? widthInfo.width : strokeArrayWidth[0]) / 2;\n const deltaRight = (isWidthNumber ? widthInfo.width : strokeArrayWidth[0]) / 2;\n\n // context.moveTo(x - deltaLeft, y);\n // context.lineTo(x + width + deltaRight, y);\n context.moveTo(x1, y1);\n context.lineTo(x2, y2);\n\n if (isSplitDraw || isDash) {\n if (strokeArrayColor && strokeArrayColor[0]) {\n context.strokeStyle = strokeArrayColor[0];\n } else if (strokeArrayColor && !strokeArrayColor[0]) {\n context.strokeStyle = 'transparent';\n }\n if (!isWidthNumber) {\n context.lineWidth = strokeArrayWidth[0];\n }\n context.lineDashOffset = context.currentMatrix.e / context.currentMatrix.a;\n if (isDash) {\n context.setLineDash(lineDash[0] ?? []);\n }\n context.stroke();\n context.beginPath();\n // context.moveTo(x + width, y);\n }\n } else if (i === 0) {\n context.moveTo(x + width, y);\n }\n // right\n if (strokeRight && i === 1) {\n // context.lineTo(x + width, y + height);\n const deltaTop = (isWidthNumber ? widthInfo.width : strokeArrayWidth[1]) / 2;\n const deltaBottom = (isWidthNumber ? widthInfo.width : strokeArrayWidth[1]) / 2;\n\n // context.moveTo(x + width, y - deltaTop);\n // context.lineTo(x + width, y + height + deltaBottom);\n context.moveTo(x1, y1);\n context.lineTo(x2, y2);\n\n if (isSplitDraw || isDash) {\n if (strokeArrayColor && strokeArrayColor[1]) {\n context.strokeStyle = strokeArrayColor[1];\n } else if (strokeArrayColor && !strokeArrayColor[1]) {\n context.strokeStyle = 'transparent';\n }\n if (!isWidthNumber) {\n context.lineWidth = strokeArrayWidth[1];\n }\n context.lineDashOffset = context.currentMatrix.f / context.currentMatrix.d;\n if (isDash) {\n context.setLineDash(lineDash[1] ?? []);\n }\n context.stroke();\n context.beginPath();\n context.moveTo(x + width, y + height);\n }\n } else if (i === 1) {\n context.moveTo(x + width, y + height);\n }\n // bottom\n if (strokeBottom && i === 2) {\n // context.lineTo(x, y + height);\n const deltaLeft = (isWidthNumber ? widthInfo.width : strokeArrayWidth[2]) / 2;\n const deltaRight = (isWidthNumber ? widthInfo.width : strokeArrayWidth[2]) / 2;\n\n // context.moveTo(x - deltaLeft, y + height);\n // context.lineTo(x + width + deltaRight, y + height);\n context.moveTo(x1, y1);\n context.lineTo(x2, y2);\n\n if (isSplitDraw || isDash) {\n if (strokeArrayColor && strokeArrayColor[2]) {\n context.strokeStyle = strokeArrayColor[2];\n } else if (strokeArrayColor && !strokeArrayColor[2]) {\n context.strokeStyle = 'transparent';\n }\n if (!isWidthNumber) {\n context.lineWidth = strokeArrayWidth[2];\n }\n context.lineDashOffset = context.currentMatrix.e / context.currentMatrix.a;\n if (isDash) {\n context.setLineDash(lineDash[2] ?? []);\n }\n context.stroke();\n context.beginPath();\n context.moveTo(x, y + height);\n }\n } else if (i === 2) {\n context.moveTo(x, y + height);\n }\n // left\n if (strokeLeft && i === 3) {\n // context.lineTo(x, y);\n const deltaTop = (isWidthNumber ? widthInfo.width : strokeArrayWidth[3]) / 2;\n const deltaBottom = (isWidthNumber ? widthInfo.width : strokeArrayWidth[3]) / 2;\n\n // context.moveTo(x, y - deltaTop);\n // context.lineTo(x, y + height + deltaBottom);\n context.moveTo(x1, y1);\n context.lineTo(x2, y2);\n\n if (isSplitDraw || isDash) {\n if (strokeArrayColor && strokeArrayColor[3]) {\n context.strokeStyle = strokeArrayColor[3];\n } else if (strokeArrayColor && !strokeArrayColor[3]) {\n context.strokeStyle = 'transparent';\n }\n if (!isWidthNumber) {\n context.lineWidth = strokeArrayWidth[3];\n }\n context.lineDashOffset = context.currentMatrix.f / context.currentMatrix.d;\n if (isDash) {\n context.setLineDash(lineDash[3] ?? []);\n }\n context.stroke();\n context.beginPath();\n context.moveTo(x, y);\n }\n } else if (i === 3) {\n context.moveTo(x, y);\n }\n context.closePath();\n\n if (!isSplitDraw && !isDash) {\n // context.strokeStyle = strokeArrayColor;\n if (!isWidthNumber && widthInfo.width) {\n context.lineWidth = widthInfo.width;\n }\n context.stroke();\n }\n context.lineDashOffset = 0;\n // context.lineCap = oldLineCap;\n context.setLineDash([]);\n\n context.beginPath(); // clean path\n}\n\ntype IEdgeCb = (x1: number, y1: number, x2: number, y2: number) => void;\n"]}
1
+ {"version":3,"sources":["../src/scenegraph/graphic/contributions/rect-contribution-render.ts"],"names":[],"mappings":"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","file":"rect-contribution-render.js","sourcesContent":["import type {\n IRect,\n IContext2d,\n IRectGraphicAttribute,\n IMarkAttribute,\n IGraphicAttribute,\n IThemeAttribute,\n IRectRenderContribution,\n IGroup,\n IGroupGraphicAttribute,\n IDrawContext,\n ICustomPath2D\n} from './../../../vrender';\nimport { BaseRenderContributionTime, injectable } from './../../../vrender';\nimport { getWidthInfo, renderStroke } from './group-contribution-render';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\nimport type { vec2, vec4 } from '@visactor/vutils';\nimport { abs, arrayEqual, halfPi, isArray, isNumber, pi } from '@visactor/vutils';\nimport { createRectPath } from './../../../vrender';\n\n@injectable()\nexport class SplitRectBeforeRenderContribution implements IRectRenderContribution {\n time: BaseRenderContributionTime = BaseRenderContributionTime.beforeFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n rectAttribute: Required<IRectGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n doFillOrStroke?: { doFill: boolean; doStroke: boolean }\n ) {\n // const { stroke = rectAttribute.stroke } = group.attribute as any;\n\n // if (Array.isArray(stroke)) {\n // doFillOrStroke.doStroke = false;\n // }\n\n const {\n stroke = rectAttribute.stroke,\n strokeArrayWidth = (rectAttribute as any).strokeArrayWidth,\n strokeArrayColor = (rectAttribute as any).strokeArrayColor\n } = rect.attribute as any;\n\n if (stroke && (Array.isArray(stroke) || Array.isArray(strokeArrayWidth) || Array.isArray(strokeArrayColor))) {\n doFillOrStroke.doStroke = false;\n }\n }\n}\n\n@injectable()\nexport class SplitRectAfterRenderContribution implements IRectRenderContribution {\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n rectAttribute: Required<IRectGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const {\n // width = rectAttribute.width,\n // height = rectAttribute.height,\n // stroke = rectAttribute.stroke\n // } = group.attribute as any;\n\n // if (!Array.isArray(stroke)) {\n // return;\n // }\n\n // context.setStrokeStyle(group, group.attribute, x, y, rectAttribute);\n // // 单独处理每条边界,目前不考虑圆角\n // context.beginPath();\n // context.moveTo(x, y);\n // // top\n // if (stroke[0]) {\n // context.lineTo(x + width, y);\n // } else {\n // context.moveTo(x + width, y);\n // }\n // // right\n // if (stroke[1]) {\n // context.lineTo(x + width, y + height);\n // } else {\n // context.moveTo(x + width, y + height);\n // }\n // // bottom\n // if (stroke[2]) {\n // context.lineTo(x, y + height);\n // } else {\n // context.moveTo(x, y + height);\n // }\n // // left\n // if (stroke[3]) {\n // // 没有close path是,起点和终点不连续,需要调整y保证不出现缺口\n // const adjustY = stroke[0] ? y - context.lineWidth / 2 : y;\n // context.lineTo(x, adjustY);\n // } else {\n // context.moveTo(x, y);\n // }\n\n // context.stroke();\n\n const {\n width = rectAttribute.width,\n height = rectAttribute.height,\n // 基础border\n stroke = rectAttribute.stroke,\n strokeArrayColor = (rectAttribute as any).strokeArrayColor,\n strokeArrayWidth = (rectAttribute as any).strokeArrayWidth,\n\n lineWidth = rectAttribute.lineWidth,\n strokeColor = rectAttribute.stroke,\n\n cornerRadius = rectAttribute.cornerRadius\n // // select & hover border\n // highlightStroke = (rectAttribute as any).highlightStroke,\n // highlightStrokeArrayColor = (rectAttribute as any).highlightStrokeArrayColor,\n // highlightStrokeArrayWidth = (rectAttribute as any).highlightStrokeArrayWidth,\n // highlightStrokeArrayPart = (rectAttribute as any).highlightStrokeArrayPart,\n } = rect.attribute as any;\n\n if (!stroke || (!Array.isArray(strokeArrayWidth) && lineWidth === 0)) {\n return;\n }\n\n if (Array.isArray(stroke) || Array.isArray(strokeArrayColor) || Array.isArray(strokeArrayWidth)) {\n // let dx = 0;\n // let dy = 0;\n const deltaWidth = 0;\n const deltaHeight = 0;\n if (\n rect.name !== 'border-rect' && // border-rect not need offset\n rect.name !== 'table-border-rect' && // table-border-rect not need offset\n ((typeof lineWidth === 'number' && lineWidth & 1) ||\n (Array.isArray(strokeArrayWidth) && strokeArrayWidth.some(width => width & 1)))\n ) {\n // const table = (rect.stage as any).table as BaseTableAPI;\n // const bottomRight = table.theme.cellBorderClipDirection === 'bottom-right';\n // if (bottomRight) {\n // x = Math.floor(x) - 0.5;\n // y = Math.floor(y) - 0.5;\n // deltaWidth = 0.5;\n // deltaHeight = 0.5;\n // } else {\n x = Math.floor(x) + 0.5;\n y = Math.floor(y) + 0.5;\n // }\n }\n\n // 带不同stroke边框\n if (!(cornerRadius === 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0)))) {\n // let lastStrokeI = 0;\n // let lastStroke: any;\n context.beginPath();\n // debugger;\n createRectPath(\n context,\n x,\n y,\n width,\n height,\n cornerRadius,\n true,\n new Array(4).fill(0).map((_, i) => (x1: number, y1: number, x2: number, y2: number) => {\n renderStrokeWithCornerRadius(\n i,\n x1,\n y1,\n x2,\n y2,\n rect,\n context,\n x,\n y,\n rectAttribute,\n stroke,\n strokeArrayWidth || lineWidth,\n strokeArrayColor || strokeColor,\n Math.ceil(width + deltaWidth),\n Math.ceil(height + deltaHeight)\n );\n })\n );\n\n context.stroke();\n } else {\n renderStroke(\n rect as IGroup,\n context,\n x,\n y,\n rectAttribute,\n stroke,\n strokeArrayWidth || lineWidth,\n strokeArrayColor || strokeColor,\n rect.name !== 'table-border-rect' ? Math.ceil(width + deltaWidth) : width + deltaWidth,\n rect.name !== 'table-border-rect' ? Math.ceil(height + deltaHeight) : height + deltaHeight\n );\n }\n }\n }\n}\n\nexport function renderStrokeWithCornerRadius(\n i: number,\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n rectAttribute: Required<IRectGraphicAttribute>,\n stroke: any,\n strokeArrayWidth: any,\n strokeArrayColor: any,\n width: number,\n height: number\n) {\n const group = rect;\n const groupAttribute = rectAttribute;\n\n // if (stroke[i]) {\n // if (!(lastStrokeI === i - 1 && stroke[i] === lastStroke)) {\n // context.setStrokeStyle(rect, { ...rect.attribute, stroke: stroke[i] }, x, y, rectAttribute);\n // context.beginPath();\n // context.moveTo(x1, y1);\n // lastStroke = stroke[i];\n // }\n // lastStrokeI = i;\n // context.lineTo(x2, y2);\n // context.stroke();\n // if (i === 3) {\n // context.beginPath();\n // }\n // }\n\n const widthInfo = getWidthInfo(strokeArrayWidth);\n const isWidthNumber = !Array.isArray(strokeArrayWidth);\n const isStrokeTrue = !Array.isArray(stroke);\n const isSplitDraw = Array.isArray(strokeArrayColor) || widthInfo.isSplitDraw;\n context.stroke(); // stroke last corner with last stroke style\n\n context.setStrokeStyle(rect, rect.attribute, x, y, rectAttribute);\n const { lineDash = groupAttribute.lineDash } = group.attribute as any;\n // const lineDash = context.getLineDash();\n let isDash = false;\n if (lineDash.length && lineDash.some((dash: number[] | null) => Array.isArray(dash))) {\n isDash = true;\n }\n\n // 单独处理每条边界,目前不考虑圆角\n context.beginPath(); // clean path\n context.moveTo(x, y);\n\n const strokeTop = (isStrokeTrue || stroke[0]) && (isWidthNumber || strokeArrayWidth[0]);\n const strokeRight = (isStrokeTrue || stroke[1]) && (isWidthNumber || strokeArrayWidth[1]);\n const strokeBottom = (isStrokeTrue || stroke[2]) && (isWidthNumber || strokeArrayWidth[2]);\n const strokeLeft = (isStrokeTrue || stroke[3]) && (isWidthNumber || strokeArrayWidth[3]);\n\n // top\n if (strokeTop && i === 0) {\n // context.lineTo(x + width, y);\n const deltaLeft = (isWidthNumber ? widthInfo.width : strokeArrayWidth[0]) / 2;\n const deltaRight = (isWidthNumber ? widthInfo.width : strokeArrayWidth[0]) / 2;\n\n // context.moveTo(x - deltaLeft, y);\n // context.lineTo(x + width + deltaRight, y);\n context.moveTo(x1, y1);\n context.lineTo(x2, y2);\n\n if (isSplitDraw || isDash) {\n if (strokeArrayColor && strokeArrayColor[0]) {\n context.strokeStyle = strokeArrayColor[0];\n } else if (strokeArrayColor && !strokeArrayColor[0]) {\n context.strokeStyle = 'transparent';\n }\n if (!isWidthNumber) {\n context.lineWidth = strokeArrayWidth[0];\n }\n context.lineDashOffset = context.currentMatrix.e / context.currentMatrix.a;\n if (isDash) {\n context.setLineDash(lineDash[0] ?? []);\n }\n context.stroke();\n context.beginPath();\n // context.moveTo(x + width, y);\n }\n } else if (i === 0) {\n context.moveTo(x + width, y);\n }\n // right\n if (strokeRight && i === 1) {\n // context.lineTo(x + width, y + height);\n const deltaTop = (isWidthNumber ? widthInfo.width : strokeArrayWidth[1]) / 2;\n const deltaBottom = (isWidthNumber ? widthInfo.width : strokeArrayWidth[1]) / 2;\n\n // context.moveTo(x + width, y - deltaTop);\n // context.lineTo(x + width, y + height + deltaBottom);\n context.moveTo(x1, y1);\n context.lineTo(x2, y2);\n\n if (isSplitDraw || isDash) {\n if (strokeArrayColor && strokeArrayColor[1]) {\n context.strokeStyle = strokeArrayColor[1];\n } else if (strokeArrayColor && !strokeArrayColor[1]) {\n context.strokeStyle = 'transparent';\n }\n if (!isWidthNumber) {\n context.lineWidth = strokeArrayWidth[1];\n }\n context.lineDashOffset = context.currentMatrix.f / context.currentMatrix.d;\n if (isDash) {\n context.setLineDash(lineDash[1] ?? []);\n }\n context.stroke();\n context.beginPath();\n context.moveTo(x + width, y + height);\n }\n } else if (i === 1) {\n context.moveTo(x + width, y + height);\n }\n // bottom\n if (strokeBottom && i === 2) {\n // context.lineTo(x, y + height);\n const deltaLeft = (isWidthNumber ? widthInfo.width : strokeArrayWidth[2]) / 2;\n const deltaRight = (isWidthNumber ? widthInfo.width : strokeArrayWidth[2]) / 2;\n\n // context.moveTo(x - deltaLeft, y + height);\n // context.lineTo(x + width + deltaRight, y + height);\n context.moveTo(x1, y1);\n context.lineTo(x2, y2);\n\n if (isSplitDraw || isDash) {\n if (strokeArrayColor && strokeArrayColor[2]) {\n context.strokeStyle = strokeArrayColor[2];\n } else if (strokeArrayColor && !strokeArrayColor[2]) {\n context.strokeStyle = 'transparent';\n }\n if (!isWidthNumber) {\n context.lineWidth = strokeArrayWidth[2];\n }\n context.lineDashOffset = context.currentMatrix.e / context.currentMatrix.a;\n if (isDash) {\n context.setLineDash(lineDash[2] ?? []);\n }\n context.stroke();\n context.beginPath();\n context.moveTo(x, y + height);\n }\n } else if (i === 2) {\n context.moveTo(x, y + height);\n }\n // left\n if (strokeLeft && i === 3) {\n // context.lineTo(x, y);\n const deltaTop = (isWidthNumber ? widthInfo.width : strokeArrayWidth[3]) / 2;\n const deltaBottom = (isWidthNumber ? widthInfo.width : strokeArrayWidth[3]) / 2;\n\n // context.moveTo(x, y - deltaTop);\n // context.lineTo(x, y + height + deltaBottom);\n context.moveTo(x1, y1);\n context.lineTo(x2, y2);\n\n if (isSplitDraw || isDash) {\n if (strokeArrayColor && strokeArrayColor[3]) {\n context.strokeStyle = strokeArrayColor[3];\n } else if (strokeArrayColor && !strokeArrayColor[3]) {\n context.strokeStyle = 'transparent';\n }\n if (!isWidthNumber) {\n context.lineWidth = strokeArrayWidth[3];\n }\n context.lineDashOffset = context.currentMatrix.f / context.currentMatrix.d;\n if (isDash) {\n context.setLineDash(lineDash[3] ?? []);\n }\n context.stroke();\n context.beginPath();\n context.moveTo(x, y);\n }\n } else if (i === 3) {\n context.moveTo(x, y);\n }\n context.closePath();\n\n if (!isSplitDraw && !isDash) {\n // context.strokeStyle = strokeArrayColor;\n if (!isWidthNumber && widthInfo.width) {\n context.lineWidth = widthInfo.width;\n }\n context.stroke();\n }\n context.lineDashOffset = 0;\n // context.lineCap = oldLineCap;\n context.setLineDash([]);\n\n context.beginPath(); // clean path\n}\n\ntype IEdgeCb = (x1: number, y1: number, x2: number, y2: number) => void;\n"]}
@@ -0,0 +1,6 @@
1
+ import type { IGraphicPicker, IPickParams } from './../../../vrender';
2
+ export declare class VChartPicker implements IGraphicPicker {
3
+ type: string;
4
+ numberType: number;
5
+ contains(chart: any, point: any, params?: IPickParams): boolean | any;
6
+ }
@@ -0,0 +1,23 @@
1
+ var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
5
+ };
6
+
7
+ import { injectable } from "./../../../vrender";
8
+
9
+ import { CHART_NUMBER_TYPE } from "../chart";
10
+
11
+ let VChartPicker = class {
12
+ constructor() {
13
+ this.type = "chart", this.numberType = CHART_NUMBER_TYPE;
14
+ }
15
+ contains(chart, point, params) {
16
+ return !!chart.AABBBounds.containsPoint(point);
17
+ }
18
+ };
19
+
20
+ VChartPicker = __decorate([ injectable() ], VChartPicker);
21
+
22
+ export { VChartPicker };
23
+ //# sourceMappingURL=vchart-graphic-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/scenegraph/graphic/contributions/vchart-graphic-picker.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGtC,IAAM,YAAY,GAAlB,MAAM,YAAY;IAAlB;QACL,SAAI,GAAG,OAAO,CAAC;QACf,eAAU,GAAW,iBAAiB,CAAC;IAQzC,CAAC;IANC,QAAQ,CAAC,KAAU,EAAE,KAAU,EAAE,MAAoB;QACnD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YAC1C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAVY,YAAY;IADxB,UAAU,EAAE;GACA,YAAY,CAUxB;SAVY,YAAY","file":"vchart-graphic-picker.js","sourcesContent":["import { injectable } from './../../../vrender';\nimport type { IGraphicPicker, IPickParams } from './../../../vrender';\nimport type { Chart as VChartGraphic } from '../chart';\nimport { CHART_NUMBER_TYPE } from '../chart';\n\n@injectable()\nexport class VChartPicker implements IGraphicPicker {\n type = 'chart';\n numberType: number = CHART_NUMBER_TYPE;\n\n contains(chart: any, point: any, params?: IPickParams): boolean | any {\n if (!chart.AABBBounds.containsPoint(point)) {\n return false;\n }\n return true;\n }\n}\n"]}
@@ -78,7 +78,12 @@ export function createCell(type, value, define, table, col, row, colWidth, cellW
78
78
  } else if ("sparkline" === type) {
79
79
  cellGroup = Factory.getFunction("createSparkLineCellGroup")(null, columnGroup, 0, y, col, row, cellWidth, cellHeight, padding, table, cellTheme, isAsync);
80
80
  } else if ("checkbox" === type) {
81
- cellGroup = Factory.getFunction("createCheckboxCellGroup")(null, columnGroup, 0, y, col, row, colWidth, cellWidth, cellHeight, padding, textAlign, textBaseline, mayHaveIcon, table, cellTheme, define, range, isAsync);
81
+ const isAggregation = "isAggregation" in table.internalProps.layoutMap && table.internalProps.layoutMap.isAggregation(col, row), isSeriesNumber = table.internalProps.layoutMap.isSeriesNumber(col, row);
82
+ if (isAggregation && isSeriesNumber) {
83
+ cellGroup = Factory.getFunction("createTextCellGroup")(table, value, columnGroup, 0, y, col, row, colWidth, cellWidth, cellHeight, padding, textAlign, textBaseline, !1, void 0, !0, cellTheme, range, isAsync);
84
+ } else {
85
+ cellGroup = Factory.getFunction("createCheckboxCellGroup")(null, columnGroup, 0, y, col, row, colWidth, cellWidth, cellHeight, padding, textAlign, textBaseline, mayHaveIcon, table, cellTheme, define, range, isAsync);
86
+ }
82
87
  } else if ("radio" === type) {
83
88
  cellGroup = Factory.getFunction("createRadioCellGroup")(null, columnGroup, 0, y, col, row, colWidth, cellWidth, cellHeight, padding, textAlign, textBaseline, table, cellTheme, define, range);
84
89
  } else if ("switch" === type) {