@visactor/vgrammar-core 0.13.6 → 0.13.7-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/cjs/component/axis.d.ts +2 -0
  2. package/cjs/component/axis.js +15 -1
  3. package/cjs/component/axis.js.map +1 -1
  4. package/cjs/component/grid.d.ts +2 -0
  5. package/cjs/component/grid.js +15 -1
  6. package/cjs/component/grid.js.map +1 -1
  7. package/cjs/component/index.d.ts +2 -2
  8. package/cjs/component/index.js +21 -1
  9. package/cjs/component/index.js.map +1 -1
  10. package/cjs/component/label.js +36 -20
  11. package/cjs/component/label.js.map +1 -1
  12. package/cjs/component/player.js.map +1 -1
  13. package/cjs/core/factory.d.ts +8 -1
  14. package/cjs/core/factory.js +9 -2
  15. package/cjs/core/factory.js.map +1 -1
  16. package/cjs/glyph/boxplot.js +5 -5
  17. package/cjs/glyph/boxplot.js.map +1 -1
  18. package/cjs/glyph/link-path.js +2 -2
  19. package/cjs/glyph/link-path.js.map +1 -1
  20. package/cjs/glyph/ripple.js +3 -2
  21. package/cjs/glyph/ripple.js.map +1 -1
  22. package/cjs/glyph/tree-path.js +2 -2
  23. package/cjs/glyph/tree-path.js.map +1 -1
  24. package/cjs/glyph/violin.js +4 -4
  25. package/cjs/glyph/violin.js.map +1 -1
  26. package/cjs/glyph/wave.js +3 -2
  27. package/cjs/glyph/wave.js.map +1 -1
  28. package/cjs/graph/animation/animate.js +9 -4
  29. package/cjs/graph/animation/animate.js.map +1 -1
  30. package/cjs/graph/animation/animation/fade.js +5 -5
  31. package/cjs/graph/animation/animation/fade.js.map +1 -1
  32. package/cjs/graph/animation/animation/grow-cartesian.js +14 -14
  33. package/cjs/graph/animation/animation/grow-cartesian.js.map +1 -1
  34. package/cjs/graph/animation/animation/grow-interval.js +9 -9
  35. package/cjs/graph/animation/animation/grow-interval.js.map +1 -1
  36. package/cjs/graph/animation/animation/grow-points.js +9 -9
  37. package/cjs/graph/animation/animation/grow-points.js.map +1 -1
  38. package/cjs/graph/animation/animation/grow-polar.js +24 -24
  39. package/cjs/graph/animation/animation/grow-polar.js.map +1 -1
  40. package/cjs/graph/animation/animation/move.js +6 -6
  41. package/cjs/graph/animation/animation/move.js.map +1 -1
  42. package/cjs/graph/animation/animation/rotate.js +5 -5
  43. package/cjs/graph/animation/animation/rotate.js.map +1 -1
  44. package/cjs/graph/animation/animation/scale.js +5 -5
  45. package/cjs/graph/animation/animation/scale.js.map +1 -1
  46. package/cjs/graph/animation/animation/update.js +2 -2
  47. package/cjs/graph/animation/animation/update.js.map +1 -1
  48. package/cjs/graph/animation/animator.d.ts +1 -1
  49. package/cjs/graph/animation/animator.js +6 -1
  50. package/cjs/graph/animation/animator.js.map +1 -1
  51. package/cjs/graph/animation/morph.d.ts +2 -12
  52. package/cjs/graph/animation/morph.js +76 -163
  53. package/cjs/graph/animation/morph.js.map +1 -1
  54. package/cjs/graph/attributes/line.d.ts +1 -0
  55. package/cjs/graph/attributes/line.js +17 -5
  56. package/cjs/graph/attributes/line.js.map +1 -1
  57. package/cjs/graph/attributes/transform.js +7 -3
  58. package/cjs/graph/attributes/transform.js.map +1 -1
  59. package/cjs/graph/canvas-renderer.d.ts +1 -1
  60. package/cjs/graph/canvas-renderer.js +10 -5
  61. package/cjs/graph/canvas-renderer.js.map +1 -1
  62. package/cjs/graph/constants.d.ts +1 -0
  63. package/cjs/graph/constants.js +2 -2
  64. package/cjs/graph/constants.js.map +1 -1
  65. package/cjs/graph/element.d.ts +3 -0
  66. package/cjs/graph/element.js +40 -19
  67. package/cjs/graph/element.js.map +1 -1
  68. package/cjs/graph/glyph-element.js +11 -9
  69. package/cjs/graph/glyph-element.js.map +1 -1
  70. package/cjs/graph/layout/layout.d.ts +1 -0
  71. package/cjs/graph/layout/layout.js +8 -2
  72. package/cjs/graph/layout/layout.js.map +1 -1
  73. package/cjs/graph/mark/graphic.js +14 -8
  74. package/cjs/graph/mark/graphic.js.map +1 -1
  75. package/cjs/graph/util/events-extend.d.ts +1 -2
  76. package/cjs/graph/util/events-extend.js +14 -3
  77. package/cjs/graph/util/events-extend.js.map +1 -1
  78. package/cjs/graph/util/point.js +10 -26
  79. package/cjs/graph/util/point.js.map +1 -1
  80. package/cjs/graph/view-diff.d.ts +8 -0
  81. package/cjs/graph/view-diff.js +93 -0
  82. package/cjs/graph/view-diff.js.map +1 -0
  83. package/cjs/index.d.ts +8 -1
  84. package/cjs/index.js +66 -2
  85. package/cjs/index.js.map +1 -1
  86. package/cjs/interactions/base.js.map +1 -1
  87. package/cjs/interactions/brush-base.js +1 -2
  88. package/cjs/interactions/brush-filter.js +2 -1
  89. package/cjs/interactions/element-active-by-legend.d.ts +2 -1
  90. package/cjs/interactions/element-active-by-legend.js +5 -2
  91. package/cjs/interactions/element-active-by-legend.js.map +1 -1
  92. package/cjs/interactions/element-active.d.ts +3 -2
  93. package/cjs/interactions/element-active.js +4 -2
  94. package/cjs/interactions/element-active.js.map +1 -1
  95. package/cjs/interactions/element-highlight-by-graphic-name.d.ts +14 -0
  96. package/cjs/interactions/element-highlight-by-graphic-name.js +55 -0
  97. package/cjs/interactions/element-highlight-by-graphic-name.js.map +1 -0
  98. package/cjs/interactions/element-highlight-by-group.d.ts +2 -2
  99. package/cjs/interactions/element-highlight-by-group.js +4 -3
  100. package/cjs/interactions/element-highlight-by-group.js.map +1 -1
  101. package/cjs/interactions/element-highlight-by-key.d.ts +2 -2
  102. package/cjs/interactions/element-highlight-by-key.js +3 -17
  103. package/cjs/interactions/element-highlight-by-key.js.map +1 -1
  104. package/cjs/interactions/element-highlight-by-legend.d.ts +2 -1
  105. package/cjs/interactions/element-highlight-by-legend.js +6 -3
  106. package/cjs/interactions/element-highlight-by-legend.js.map +1 -1
  107. package/cjs/interactions/element-highlight-by-name.d.ts +2 -1
  108. package/cjs/interactions/element-highlight-by-name.js +5 -2
  109. package/cjs/interactions/element-highlight-by-name.js.map +1 -1
  110. package/cjs/interactions/element-highlight.d.ts +1 -1
  111. package/cjs/interactions/element-highlight.js +9 -6
  112. package/cjs/interactions/element-highlight.js.map +1 -1
  113. package/cjs/interactions/element-select-by-graphic-name.d.ts +7 -0
  114. package/cjs/interactions/element-select-by-graphic-name.js +26 -0
  115. package/cjs/interactions/element-select-by-graphic-name.js.map +1 -0
  116. package/cjs/interactions/element-select.d.ts +1 -1
  117. package/cjs/interactions/element-select.js +9 -10
  118. package/cjs/interactions/element-select.js.map +1 -1
  119. package/cjs/interactions/index.d.ts +2 -0
  120. package/cjs/interactions/index.js +17 -3
  121. package/cjs/interactions/index.js.map +1 -1
  122. package/cjs/interactions/slider-filter.js +1 -1
  123. package/cjs/interactions/toggle-state-mixin.js +9 -7
  124. package/cjs/interactions/toggle-state-mixin.js.map +1 -1
  125. package/cjs/interactions/tooltip.js +1 -1
  126. package/cjs/parse/event.d.ts +0 -2
  127. package/cjs/parse/event.js +4 -10
  128. package/cjs/parse/event.js.map +1 -1
  129. package/cjs/parse/util.js.map +1 -1
  130. package/cjs/semantic-marks/text.js.map +1 -1
  131. package/cjs/transforms/data/pie.js +2 -2
  132. package/cjs/transforms/data/pie.js.map +1 -1
  133. package/cjs/transforms/mark/mark-overlap.js +6 -6
  134. package/cjs/transforms/mark/mark-overlap.js.map +1 -1
  135. package/cjs/transforms/util/util.d.ts +0 -2
  136. package/cjs/transforms/util/util.js +3 -13
  137. package/cjs/transforms/util/util.js.map +1 -1
  138. package/cjs/types/animate.d.ts +3 -1
  139. package/cjs/types/animate.js.map +1 -1
  140. package/cjs/types/element.d.ts +5 -1
  141. package/cjs/types/element.js.map +1 -1
  142. package/cjs/types/grammar.d.ts +1 -0
  143. package/cjs/types/grammar.js.map +1 -1
  144. package/cjs/types/interaction.d.ts +4 -1
  145. package/cjs/types/interaction.js.map +1 -1
  146. package/cjs/types/mark.d.ts +2 -0
  147. package/cjs/types/mark.js.map +1 -1
  148. package/cjs/types/morph.d.ts +1 -2
  149. package/cjs/types/morph.js.map +1 -1
  150. package/cjs/types/renderer.d.ts +6 -1
  151. package/cjs/types/renderer.js.map +1 -1
  152. package/cjs/types/transform.d.ts +1 -0
  153. package/cjs/types/transform.js.map +1 -1
  154. package/cjs/types/view.d.ts +4 -1
  155. package/cjs/types/view.js.map +1 -1
  156. package/cjs/view/View.d.ts +3 -6
  157. package/cjs/view/View.js +73 -125
  158. package/cjs/view/View.js.map +1 -1
  159. package/cjs/view/animate.js +2 -1
  160. package/cjs/view/animate.js.map +1 -1
  161. package/cjs/view/constants.d.ts +2 -0
  162. package/cjs/view/constants.js +3 -2
  163. package/cjs/view/constants.js.map +1 -1
  164. package/cjs/view/events.d.ts +0 -1
  165. package/cjs/view/events.js +3 -17
  166. package/cjs/view/events.js.map +1 -1
  167. package/cjs/view/glyph.d.ts +4 -0
  168. package/cjs/view/glyph.js +12 -3
  169. package/cjs/view/glyph.js.map +1 -1
  170. package/cjs/view/grammar-record.js +2 -3
  171. package/cjs/view/grammar-record.js.map +1 -1
  172. package/cjs/view/group.js +9 -6
  173. package/cjs/view/group.js.map +1 -1
  174. package/cjs/view/mark-animate-mixin.d.ts +1 -0
  175. package/cjs/view/mark-animate-mixin.js +29 -0
  176. package/cjs/view/mark-animate-mixin.js.map +1 -0
  177. package/cjs/view/mark.d.ts +4 -1
  178. package/cjs/view/mark.js +104 -68
  179. package/cjs/view/mark.js.map +1 -1
  180. package/cjs/view/view-animate-mixin.d.ts +1 -0
  181. package/cjs/view/view-animate-mixin.js +26 -0
  182. package/cjs/view/view-animate-mixin.js.map +1 -0
  183. package/cjs/view/view-event-mixin.d.ts +1 -0
  184. package/cjs/view/view-event-mixin.js +92 -0
  185. package/cjs/view/view-event-mixin.js.map +1 -0
  186. package/cjs/view/view-morph-mixin.d.ts +1 -0
  187. package/cjs/view/view-morph-mixin.js +32 -0
  188. package/cjs/view/view-morph-mixin.js.map +1 -0
  189. package/es/component/axis.d.ts +2 -0
  190. package/es/component/axis.js +10 -0
  191. package/es/component/axis.js.map +1 -1
  192. package/es/component/grid.d.ts +2 -0
  193. package/es/component/grid.js +10 -0
  194. package/es/component/grid.js.map +1 -1
  195. package/es/component/index.d.ts +2 -2
  196. package/es/component/index.js +2 -2
  197. package/es/component/index.js.map +1 -1
  198. package/es/component/label.js +35 -19
  199. package/es/component/label.js.map +1 -1
  200. package/es/component/player.js.map +1 -1
  201. package/es/core/factory.d.ts +8 -1
  202. package/es/core/factory.js +10 -2
  203. package/es/core/factory.js.map +1 -1
  204. package/es/glyph/boxplot.js +4 -2
  205. package/es/glyph/boxplot.js.map +1 -1
  206. package/es/glyph/link-path.js +4 -2
  207. package/es/glyph/link-path.js.map +1 -1
  208. package/es/glyph/ripple.js +3 -1
  209. package/es/glyph/ripple.js.map +1 -1
  210. package/es/glyph/tree-path.js +4 -2
  211. package/es/glyph/tree-path.js.map +1 -1
  212. package/es/glyph/violin.js +4 -2
  213. package/es/glyph/violin.js.map +1 -1
  214. package/es/glyph/wave.js +3 -1
  215. package/es/glyph/wave.js.map +1 -1
  216. package/es/graph/animation/animate.js +9 -4
  217. package/es/graph/animation/animate.js.map +1 -1
  218. package/es/graph/animation/animation/fade.js +5 -5
  219. package/es/graph/animation/animation/fade.js.map +1 -1
  220. package/es/graph/animation/animation/grow-cartesian.js +14 -14
  221. package/es/graph/animation/animation/grow-cartesian.js.map +1 -1
  222. package/es/graph/animation/animation/grow-interval.js +9 -9
  223. package/es/graph/animation/animation/grow-interval.js.map +1 -1
  224. package/es/graph/animation/animation/grow-points.js +9 -9
  225. package/es/graph/animation/animation/grow-points.js.map +1 -1
  226. package/es/graph/animation/animation/grow-polar.js +24 -24
  227. package/es/graph/animation/animation/grow-polar.js.map +1 -1
  228. package/es/graph/animation/animation/move.js +6 -6
  229. package/es/graph/animation/animation/move.js.map +1 -1
  230. package/es/graph/animation/animation/rotate.js +4 -4
  231. package/es/graph/animation/animation/rotate.js.map +1 -1
  232. package/es/graph/animation/animation/scale.js +5 -5
  233. package/es/graph/animation/animation/scale.js.map +1 -1
  234. package/es/graph/animation/animation/update.js +1 -3
  235. package/es/graph/animation/animation/update.js.map +1 -1
  236. package/es/graph/animation/animator.d.ts +1 -1
  237. package/es/graph/animation/animator.js +6 -1
  238. package/es/graph/animation/animator.js.map +1 -1
  239. package/es/graph/animation/morph.d.ts +2 -12
  240. package/es/graph/animation/morph.js +72 -159
  241. package/es/graph/animation/morph.js.map +1 -1
  242. package/es/graph/attributes/line.d.ts +1 -0
  243. package/es/graph/attributes/line.js +14 -3
  244. package/es/graph/attributes/line.js.map +1 -1
  245. package/es/graph/attributes/transform.js +7 -3
  246. package/es/graph/attributes/transform.js.map +1 -1
  247. package/es/graph/canvas-renderer.d.ts +1 -1
  248. package/es/graph/canvas-renderer.js +11 -6
  249. package/es/graph/canvas-renderer.js.map +1 -1
  250. package/es/graph/constants.d.ts +1 -0
  251. package/es/graph/constants.js +2 -0
  252. package/es/graph/constants.js.map +1 -1
  253. package/es/graph/element.d.ts +3 -0
  254. package/es/graph/element.js +39 -21
  255. package/es/graph/element.js.map +1 -1
  256. package/es/graph/glyph-element.js +10 -11
  257. package/es/graph/glyph-element.js.map +1 -1
  258. package/es/graph/layout/layout.d.ts +1 -0
  259. package/es/graph/layout/layout.js +6 -0
  260. package/es/graph/layout/layout.js.map +1 -1
  261. package/es/graph/mark/graphic.js +13 -7
  262. package/es/graph/mark/graphic.js.map +1 -1
  263. package/es/graph/util/events-extend.d.ts +1 -2
  264. package/es/graph/util/events-extend.js +16 -3
  265. package/es/graph/util/events-extend.js.map +1 -1
  266. package/es/graph/util/point.js +10 -26
  267. package/es/graph/util/point.js.map +1 -1
  268. package/es/graph/view-diff.d.ts +8 -0
  269. package/es/graph/view-diff.js +89 -0
  270. package/es/graph/view-diff.js.map +1 -0
  271. package/es/index.d.ts +8 -1
  272. package/es/index.js +29 -1
  273. package/es/index.js.map +1 -1
  274. package/es/interactions/base.js.map +1 -1
  275. package/es/interactions/brush-filter.js +2 -1
  276. package/es/interactions/element-active-by-legend.d.ts +2 -1
  277. package/es/interactions/element-active-by-legend.js +5 -2
  278. package/es/interactions/element-active-by-legend.js.map +1 -1
  279. package/es/interactions/element-active.d.ts +3 -2
  280. package/es/interactions/element-active.js +5 -4
  281. package/es/interactions/element-active.js.map +1 -1
  282. package/es/interactions/element-highlight-by-graphic-name.d.ts +14 -0
  283. package/es/interactions/element-highlight-by-graphic-name.js +51 -0
  284. package/es/interactions/element-highlight-by-graphic-name.js.map +1 -0
  285. package/es/interactions/element-highlight-by-group.d.ts +2 -2
  286. package/es/interactions/element-highlight-by-group.js +4 -3
  287. package/es/interactions/element-highlight-by-group.js.map +1 -1
  288. package/es/interactions/element-highlight-by-key.d.ts +2 -2
  289. package/es/interactions/element-highlight-by-key.js +3 -17
  290. package/es/interactions/element-highlight-by-key.js.map +1 -1
  291. package/es/interactions/element-highlight-by-legend.d.ts +2 -1
  292. package/es/interactions/element-highlight-by-legend.js +6 -3
  293. package/es/interactions/element-highlight-by-legend.js.map +1 -1
  294. package/es/interactions/element-highlight-by-name.d.ts +2 -1
  295. package/es/interactions/element-highlight-by-name.js +5 -2
  296. package/es/interactions/element-highlight-by-name.js.map +1 -1
  297. package/es/interactions/element-highlight.d.ts +1 -1
  298. package/es/interactions/element-highlight.js +9 -6
  299. package/es/interactions/element-highlight.js.map +1 -1
  300. package/es/interactions/element-select-by-graphic-name.d.ts +7 -0
  301. package/es/interactions/element-select-by-graphic-name.js +20 -0
  302. package/es/interactions/element-select-by-graphic-name.js.map +1 -0
  303. package/es/interactions/element-select.d.ts +1 -1
  304. package/es/interactions/element-select.js +9 -9
  305. package/es/interactions/element-select.js.map +1 -1
  306. package/es/interactions/filter.js +1 -1
  307. package/es/interactions/fish-eye.js +1 -1
  308. package/es/interactions/index.d.ts +2 -0
  309. package/es/interactions/index.js +14 -1
  310. package/es/interactions/index.js.map +1 -1
  311. package/es/interactions/legend-filter.js +1 -1
  312. package/es/interactions/player-filter.js +1 -1
  313. package/es/interactions/roll-up.js +1 -1
  314. package/es/interactions/scrollbar-filter.js +1 -1
  315. package/es/interactions/slider-filter.js +1 -1
  316. package/es/interactions/toggle-state-mixin.js +9 -7
  317. package/es/interactions/toggle-state-mixin.js.map +1 -1
  318. package/es/interactions/tooltip.js +1 -1
  319. package/es/parse/coordinate.js +1 -1
  320. package/es/parse/event.d.ts +0 -2
  321. package/es/parse/event.js +4 -8
  322. package/es/parse/event.js.map +1 -1
  323. package/es/parse/mark.js +1 -1
  324. package/es/parse/option.js +1 -2
  325. package/es/parse/scale.js +1 -1
  326. package/es/parse/transform.js +1 -1
  327. package/es/parse/util.js +1 -1
  328. package/es/parse/util.js.map +1 -1
  329. package/es/parse/view.js +1 -1
  330. package/es/semantic-marks/text.js.map +1 -1
  331. package/es/transforms/data/pie.js +1 -1
  332. package/es/transforms/data/pie.js.map +1 -1
  333. package/es/transforms/mark/mark-overlap.js +6 -6
  334. package/es/transforms/mark/mark-overlap.js.map +1 -1
  335. package/es/transforms/util/util.d.ts +0 -2
  336. package/es/transforms/util/util.js +0 -10
  337. package/es/transforms/util/util.js.map +1 -1
  338. package/es/types/animate.d.ts +3 -1
  339. package/es/types/animate.js.map +1 -1
  340. package/es/types/element.d.ts +5 -1
  341. package/es/types/element.js.map +1 -1
  342. package/es/types/grammar.d.ts +1 -0
  343. package/es/types/grammar.js.map +1 -1
  344. package/es/types/interaction.d.ts +4 -1
  345. package/es/types/interaction.js.map +1 -1
  346. package/es/types/mark.d.ts +2 -0
  347. package/es/types/mark.js.map +1 -1
  348. package/es/types/morph.d.ts +1 -2
  349. package/es/types/morph.js.map +1 -1
  350. package/es/types/renderer.d.ts +6 -1
  351. package/es/types/renderer.js.map +1 -1
  352. package/es/types/transform.d.ts +1 -0
  353. package/es/types/transform.js.map +1 -1
  354. package/es/types/view.d.ts +4 -1
  355. package/es/types/view.js.map +1 -1
  356. package/es/view/View.d.ts +3 -6
  357. package/es/view/View.js +63 -124
  358. package/es/view/View.js.map +1 -1
  359. package/es/view/animate.js +2 -1
  360. package/es/view/animate.js.map +1 -1
  361. package/es/view/constants.d.ts +2 -0
  362. package/es/view/constants.js +4 -0
  363. package/es/view/constants.js.map +1 -1
  364. package/es/view/events.d.ts +0 -1
  365. package/es/view/events.js +1 -15
  366. package/es/view/events.js.map +1 -1
  367. package/es/view/glyph.d.ts +4 -0
  368. package/es/view/glyph.js +11 -0
  369. package/es/view/glyph.js.map +1 -1
  370. package/es/view/grammar-record.js +2 -3
  371. package/es/view/grammar-record.js.map +1 -1
  372. package/es/view/group.js +8 -7
  373. package/es/view/group.js.map +1 -1
  374. package/es/view/mark-animate-mixin.d.ts +1 -0
  375. package/es/view/mark-animate-mixin.js +25 -0
  376. package/es/view/mark-animate-mixin.js.map +1 -0
  377. package/es/view/mark.d.ts +4 -1
  378. package/es/view/mark.js +102 -70
  379. package/es/view/mark.js.map +1 -1
  380. package/es/view/view-animate-mixin.d.ts +1 -0
  381. package/es/view/view-animate-mixin.js +16 -0
  382. package/es/view/view-animate-mixin.js.map +1 -0
  383. package/es/view/view-event-mixin.d.ts +1 -0
  384. package/es/view/view-event-mixin.js +90 -0
  385. package/es/view/view-event-mixin.js.map +1 -0
  386. package/es/view/view-morph-mixin.d.ts +1 -0
  387. package/es/view/view-morph-mixin.js +22 -0
  388. package/es/view/view-morph-mixin.js.map +1 -0
  389. package/package.json +12 -12
  390. package/cjs/graph/util/element.d.ts +0 -2
  391. package/cjs/graph/util/element.js +0 -10
  392. package/cjs/graph/util/element.js.map +0 -1
  393. package/es/graph/util/element.d.ts +0 -2
  394. package/es/graph/util/element.js +0 -8
  395. package/es/graph/util/element.js.map +0 -1
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.defaultDoLayout = void 0;
5
+ }), exports.registerDefaultLayout = exports.defaultDoLayout = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), constants_1 = require("./../../view/constants"), enums_1 = require("../enums"), grid_1 = require("./grid"), relative_1 = require("./relative"), defaultDoLayout = (layoutMarks, options, view) => {
7
+ const vutils_1 = require("@visactor/vutils"), constants_1 = require("./../../view/constants"), enums_1 = require("../enums"), grid_1 = require("./grid"), relative_1 = require("./relative"), factory_1 = require("../../core/factory"), defaultDoLayout = (layoutMarks, options, view) => {
8
8
  null == layoutMarks || layoutMarks.forEach((mark => {
9
9
  var _a;
10
10
  if (mark.markType !== enums_1.GrammarMarkType.group) return;
@@ -30,4 +30,10 @@ const vutils_1 = require("@visactor/vutils"), constants_1 = require("./../../vie
30
30
  };
31
31
 
32
32
  exports.defaultDoLayout = defaultDoLayout;
33
+
34
+ const registerDefaultLayout = () => {
35
+ factory_1.Factory.registerDefaultLayout(exports.defaultDoLayout);
36
+ };
37
+
38
+ exports.registerDefaultLayout = registerDefaultLayout;
33
39
  //# sourceMappingURL=layout.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graph/layout/layout.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,sDAA+F;AAE/F,oCAA2C;AAG3C,iCAAsC;AACtC,yCAA8C;AAEvC,MAAM,eAAe,GAAG,CAAC,WAAoB,EAAE,OAAuB,EAAE,IAAW,EAAE,EAAE;IAC5F,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAC,IAAI,CAAC,EAAE;;QAC1B,IAAI,IAAI,CAAC,QAAQ,KAAK,uBAAe,CAAC,KAAK,EAAE;YAC3C,OAAO;SACR;QAED,MAAM,cAAc,GAAI,IAAmB,CAAC,cAAc,CAAC;QAO3D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;QACzC,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,YAAY,mCAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAErD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QAED,IAAI,IAAA,mBAAU,EAAC,UAAU,CAAC,EAAE;YAC1B,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAkB,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SAC5E;aAAM,IAAI,IAAA,mBAAU,EAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC1C,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAkB,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SACrF;aAAM,IAAK,UAAwC,CAAC,OAAO,KAAK,UAAU,EAAE;YAC3E,IAAI,UAAU,CAAC,iBAAiB,EAAE;gBAChC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAErC,IAAI,UAAU,EAAE;oBACd,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;iBAC9B;gBAED,MAAM,UAAU,GAAG,IAAA,2BAAgB,EAAC,IAAkB,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBACzF,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG;oBACd,GAAG,EAAE,UAAU,CAAC,EAAE;oBAClB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,EAAE;oBACnC,IAAI,EAAE,UAAU,CAAC,EAAE;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE;iBACtC,CAAC;gBACD,IAAY,CAAC,YAAY,CAAC,6BAAiB,EAAE,SAAS,CAAC,CAAC;gBACxD,IAAY,CAAC,YAAY,CAAC,8BAAkB,EAAE,UAAU,CAAC,CAAC;gBAC1D,IAAY,CAAC,YAAY,CAAC,0BAAc,EAAE,OAAO,CAAC,CAAC;aACrD;iBAAM;gBACL,IAAA,2BAAgB,EAAC,IAAkB,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;aACvE;SACF;aAAM,IAAK,UAAoC,CAAC,OAAO,KAAK,MAAM,EAAE;YACnE,IAAA,mBAAY,EAAC,IAAkB,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SACnE;QAED,IAAA,uBAAe,EAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AArDW,QAAA,eAAe,mBAqD1B","file":"layout.js","sourcesContent":["import { isFunction } from '@visactor/vutils';\nimport { SIGNAL_VIEW_HEIGHT, SIGNAL_PADDING, SIGNAL_VIEW_WIDTH } from './../../view/constants';\nimport type { MarkRelativeContainerSpec, MarkGridContainerSpec } from './../../types/mark';\nimport { GrammarMarkType } from '../enums';\nimport type { IMark, IGroupMark } from '../../types/grammar';\nimport type { ILayoutOptions, IView } from '../../types/view';\nimport { doGridLayout } from './grid';\nimport { doRelativeLayout } from './relative';\n\nexport const defaultDoLayout = (layoutMarks: IMark[], options: ILayoutOptions, view: IView) => {\n layoutMarks?.forEach(mark => {\n if (mark.markType !== GrammarMarkType.group) {\n return;\n }\n\n const layoutChildren = (mark as IGroupMark).layoutChildren;\n\n // FIXME buildLayoutTree的时候过滤一下空的group\n // if (!layoutChildren?.length) {\n // return;\n // }\n\n const layoutSpec = mark.getSpec().layout;\n const bounds = mark.layoutBounds ?? mark.getBounds();\n\n if (!bounds) {\n return;\n }\n\n if (isFunction(layoutSpec)) {\n layoutSpec.call(null, mark as IGroupMark, layoutChildren, bounds, options);\n } else if (isFunction(layoutSpec.callback)) {\n layoutSpec.callback.call(null, mark as IGroupMark, layoutChildren, bounds, options);\n } else if ((layoutSpec as MarkRelativeContainerSpec).display === 'relative') {\n if (layoutSpec.updateViewSignals) {\n const oldViewBox = view.getViewBox();\n\n if (oldViewBox) {\n bounds.intersect(oldViewBox);\n }\n\n const viewBounds = doRelativeLayout(mark as IGroupMark, layoutChildren, bounds, options);\n const viewWidth = viewBounds.width();\n const viewHeight = viewBounds.height();\n const padding = {\n top: viewBounds.y1,\n right: view.width() - viewBounds.x2,\n left: viewBounds.x1,\n bottom: view.height() - viewBounds.y2\n };\n (view as any).updateSignal(SIGNAL_VIEW_WIDTH, viewWidth);\n (view as any).updateSignal(SIGNAL_VIEW_HEIGHT, viewHeight);\n (view as any).updateSignal(SIGNAL_PADDING, padding);\n } else {\n doRelativeLayout(mark as IGroupMark, layoutChildren, bounds, options);\n }\n } else if ((layoutSpec as MarkGridContainerSpec).display === 'grid') {\n doGridLayout(mark as IGroupMark, layoutChildren, bounds, options);\n }\n\n defaultDoLayout(layoutChildren, options, view);\n });\n};\n"]}
1
+ {"version":3,"sources":["../src/graph/layout/layout.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,sDAA+F;AAE/F,oCAA2C;AAG3C,iCAAsC;AACtC,yCAA8C;AAC9C,gDAA6C;AAEtC,MAAM,eAAe,GAAG,CAAC,WAAoB,EAAE,OAAuB,EAAE,IAAW,EAAE,EAAE;IAC5F,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAC,IAAI,CAAC,EAAE;;QAC1B,IAAI,IAAI,CAAC,QAAQ,KAAK,uBAAe,CAAC,KAAK,EAAE;YAC3C,OAAO;SACR;QAED,MAAM,cAAc,GAAI,IAAmB,CAAC,cAAc,CAAC;QAO3D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;QACzC,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,YAAY,mCAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAErD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QAED,IAAI,IAAA,mBAAU,EAAC,UAAU,CAAC,EAAE;YAC1B,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAkB,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SAC5E;aAAM,IAAI,IAAA,mBAAU,EAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC1C,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAkB,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SACrF;aAAM,IAAK,UAAwC,CAAC,OAAO,KAAK,UAAU,EAAE;YAC3E,IAAI,UAAU,CAAC,iBAAiB,EAAE;gBAChC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAErC,IAAI,UAAU,EAAE;oBACd,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;iBAC9B;gBAED,MAAM,UAAU,GAAG,IAAA,2BAAgB,EAAC,IAAkB,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBACzF,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG;oBACd,GAAG,EAAE,UAAU,CAAC,EAAE;oBAClB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,EAAE;oBACnC,IAAI,EAAE,UAAU,CAAC,EAAE;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE;iBACtC,CAAC;gBACD,IAAY,CAAC,YAAY,CAAC,6BAAiB,EAAE,SAAS,CAAC,CAAC;gBACxD,IAAY,CAAC,YAAY,CAAC,8BAAkB,EAAE,UAAU,CAAC,CAAC;gBAC1D,IAAY,CAAC,YAAY,CAAC,0BAAc,EAAE,OAAO,CAAC,CAAC;aACrD;iBAAM;gBACL,IAAA,2BAAgB,EAAC,IAAkB,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;aACvE;SACF;aAAM,IAAK,UAAoC,CAAC,OAAO,KAAK,MAAM,EAAE;YACnE,IAAA,mBAAY,EAAC,IAAkB,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SACnE;QAED,IAAA,uBAAe,EAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AArDW,QAAA,eAAe,mBAqD1B;AAEK,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,iBAAO,CAAC,qBAAqB,CAAC,uBAAe,CAAC,CAAC;AACjD,CAAC,CAAC;AAFW,QAAA,qBAAqB,yBAEhC","file":"layout.js","sourcesContent":["import { isFunction } from '@visactor/vutils';\nimport { SIGNAL_VIEW_HEIGHT, SIGNAL_PADDING, SIGNAL_VIEW_WIDTH } from './../../view/constants';\nimport type { MarkRelativeContainerSpec, MarkGridContainerSpec } from './../../types/mark';\nimport { GrammarMarkType } from '../enums';\nimport type { IMark, IGroupMark } from '../../types/grammar';\nimport type { ILayoutOptions, IView } from '../../types/view';\nimport { doGridLayout } from './grid';\nimport { doRelativeLayout } from './relative';\nimport { Factory } from '../../core/factory';\n\nexport const defaultDoLayout = (layoutMarks: IMark[], options: ILayoutOptions, view: IView) => {\n layoutMarks?.forEach(mark => {\n if (mark.markType !== GrammarMarkType.group) {\n return;\n }\n\n const layoutChildren = (mark as IGroupMark).layoutChildren;\n\n // FIXME buildLayoutTree的时候过滤一下空的group\n // if (!layoutChildren?.length) {\n // return;\n // }\n\n const layoutSpec = mark.getSpec().layout;\n const bounds = mark.layoutBounds ?? mark.getBounds();\n\n if (!bounds) {\n return;\n }\n\n if (isFunction(layoutSpec)) {\n layoutSpec.call(null, mark as IGroupMark, layoutChildren, bounds, options);\n } else if (isFunction(layoutSpec.callback)) {\n layoutSpec.callback.call(null, mark as IGroupMark, layoutChildren, bounds, options);\n } else if ((layoutSpec as MarkRelativeContainerSpec).display === 'relative') {\n if (layoutSpec.updateViewSignals) {\n const oldViewBox = view.getViewBox();\n\n if (oldViewBox) {\n bounds.intersect(oldViewBox);\n }\n\n const viewBounds = doRelativeLayout(mark as IGroupMark, layoutChildren, bounds, options);\n const viewWidth = viewBounds.width();\n const viewHeight = viewBounds.height();\n const padding = {\n top: viewBounds.y1,\n right: view.width() - viewBounds.x2,\n left: viewBounds.x1,\n bottom: view.height() - viewBounds.y2\n };\n (view as any).updateSignal(SIGNAL_VIEW_WIDTH, viewWidth);\n (view as any).updateSignal(SIGNAL_VIEW_HEIGHT, viewHeight);\n (view as any).updateSignal(SIGNAL_PADDING, padding);\n } else {\n doRelativeLayout(mark as IGroupMark, layoutChildren, bounds, options);\n }\n } else if ((layoutSpec as MarkGridContainerSpec).display === 'grid') {\n doGridLayout(mark as IGroupMark, layoutChildren, bounds, options);\n }\n\n defaultDoLayout(layoutChildren, options, view);\n });\n};\n\nexport const registerDefaultLayout = () => {\n Factory.registerDefaultLayout(defaultDoLayout);\n};\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.registerLargeSymbolsGraphic = exports.registerLargeRectsGraphic = exports.registerGlyphGraphic = exports.registerIntervalGraphic = exports.registerCellGraphic = exports.registerRichTextGraphic = exports.registerPolygonGraphic = exports.registerTextGraphic = exports.registerSymbolGraphic = exports.registerShapeGraphic = exports.registerRuleGraphic = exports.registerRect3dGraphic = exports.registerRectGraphic = exports.registerPathGraphic = exports.registerLineGraphic = exports.registerImageGraphic = exports.registerGroupGraphic = exports.registerAreaGraphic = exports.registerPyramid3dGraphic = exports.registerArc3dGraphic = exports.registerArcGraphic = exports.registerCircleGraphic = void 0;
6
6
 
7
- const factory_1 = require("../../core/factory"), enums_1 = require("../enums"), large_rects_1 = require("./large-rects"), large_symbols_1 = require("./large-symbols"), vrender_kits_1 = require("@visactor/vrender-kits"), vrender_core_1 = require("@visactor/vrender-core"), registerCircleGraphic = () => {
7
+ const factory_1 = require("../../core/factory"), enums_1 = require("../enums"), large_rects_1 = require("./large-rects"), large_symbols_1 = require("./large-symbols"), vrender_kits_1 = require("@visactor/vrender-kits"), vrender_core_1 = require("@visactor/vrender-core"), vrender_components_1 = require("@visactor/vrender-components"), registerCircleGraphic = () => {
8
8
  (0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerCircle)(),
9
9
  factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.circle, vrender_core_1.createCircle);
10
10
  };
@@ -12,7 +12,8 @@ const factory_1 = require("../../core/factory"), enums_1 = require("../enums"),
12
12
  exports.registerCircleGraphic = registerCircleGraphic;
13
13
 
14
14
  const registerArcGraphic = () => {
15
- (0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerArc)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.arc, vrender_core_1.createArc);
15
+ (0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerArc)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.arc, vrender_core_1.createArc),
16
+ (0, vrender_components_1.registerArcDataLabel)();
16
17
  };
17
18
 
18
19
  exports.registerArcGraphic = registerArcGraphic;
@@ -31,7 +32,8 @@ const registerPyramid3dGraphic = () => {
31
32
  exports.registerPyramid3dGraphic = registerPyramid3dGraphic;
32
33
 
33
34
  const registerAreaGraphic = () => {
34
- (0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerArea)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.area, vrender_core_1.createArea);
35
+ (0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerArea)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.area, vrender_core_1.createArea),
36
+ (0, vrender_components_1.registerLineDataLabel)(), (0, vrender_components_1.registerSymbolDataLabel)();
35
37
  };
36
38
 
37
39
  exports.registerAreaGraphic = registerAreaGraphic;
@@ -49,7 +51,9 @@ const registerImageGraphic = () => {
49
51
  exports.registerImageGraphic = registerImageGraphic;
50
52
 
51
53
  const registerLineGraphic = () => {
52
- (0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerLine)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.line, vrender_core_1.createLine);
54
+ (0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerLine)(), (0,
55
+ vrender_components_1.registerLineDataLabel)(), (0, vrender_components_1.registerSymbolDataLabel)(),
56
+ factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.line, vrender_core_1.createLine);
53
57
  };
54
58
 
55
59
  exports.registerLineGraphic = registerLineGraphic;
@@ -61,7 +65,8 @@ const registerPathGraphic = () => {
61
65
  exports.registerPathGraphic = registerPathGraphic;
62
66
 
63
67
  const registerRectGraphic = () => {
64
- (0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerRect)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.rect, vrender_core_1.createRect);
68
+ (0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerRect)(), (0,
69
+ vrender_components_1.registerRectDataLabel)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.rect, vrender_core_1.createRect);
65
70
  };
66
71
 
67
72
  exports.registerRectGraphic = registerRectGraphic;
@@ -87,7 +92,7 @@ exports.registerShapeGraphic = registerShapeGraphic;
87
92
 
88
93
  const registerSymbolGraphic = () => {
89
94
  (0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerSymbol)(),
90
- factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.symbol, vrender_core_1.createSymbol);
95
+ (0, vrender_components_1.registerSymbolDataLabel)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.symbol, vrender_core_1.createSymbol);
91
96
  };
92
97
 
93
98
  exports.registerSymbolGraphic = registerSymbolGraphic;
@@ -115,14 +120,15 @@ exports.registerRichTextGraphic = registerRichTextGraphic;
115
120
 
116
121
  const registerCellGraphic = () => {
117
122
  (0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerSymbol)(),
118
- factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.cell, vrender_core_1.createSymbol);
123
+ (0, vrender_components_1.registerSymbolDataLabel)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.cell, vrender_core_1.createSymbol);
119
124
  };
120
125
 
121
126
  exports.registerCellGraphic = registerCellGraphic;
122
127
 
123
128
  const registerIntervalGraphic = () => {
124
129
  (0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerRect)(), (0,
125
- vrender_kits_1.registerArc)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.interval, vrender_core_1.createRect);
130
+ vrender_components_1.registerRectDataLabel)(), (0, vrender_kits_1.registerArc)(),
131
+ (0, vrender_components_1.registerArcDataLabel)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.interval, vrender_core_1.createRect);
126
132
  };
127
133
 
128
134
  exports.registerIntervalGraphic = registerIntervalGraphic;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graph/mark/graphic.ts"],"names":[],"mappings":"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","file":"graphic.js","sourcesContent":["import { Factory } from '../../core/factory';\nimport { GrammarMarkType } from '../enums';\nimport { LargeRects } from './large-rects';\nimport { LargeSymbols } from './large-symbols';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport {\n registerCircle,\n registerArc,\n registerArc3d,\n registerPyramid3d,\n registerArea,\n registerGroup,\n registerImage,\n registerRect3d,\n registerLine,\n registerPath,\n registerRect,\n registerSymbol,\n registerText,\n registerPolygon,\n registerRichtext,\n registerGlyph,\n registerShadowRoot\n} from '@visactor/vrender-kits';\nimport {\n createArc,\n createCircle,\n createArc3d,\n createPyramid3d,\n createArea,\n createGroup,\n createImage,\n createRect3d,\n createLine,\n createPath,\n createRect,\n createSymbol,\n createText,\n createPolygon,\n createRichText,\n createGlyph\n} from '@visactor/vrender-core';\n\nexport const registerCircleGraphic = () => {\n registerShadowRoot();\n registerCircle();\n Factory.registerGraphic(GrammarMarkType.circle, createCircle);\n};\n\nexport const registerArcGraphic = () => {\n registerShadowRoot();\n registerArc();\n Factory.registerGraphic(GrammarMarkType.arc, createArc);\n};\n\nexport const registerArc3dGraphic = () => {\n registerShadowRoot();\n registerArc3d();\n Factory.registerGraphic(GrammarMarkType.arc3d, createArc3d);\n};\n\nexport const registerPyramid3dGraphic = () => {\n registerShadowRoot();\n registerPyramid3d();\n Factory.registerGraphic(GrammarMarkType.pyramid3d, createPyramid3d);\n};\n\nexport const registerAreaGraphic = () => {\n registerShadowRoot();\n registerArea();\n Factory.registerGraphic(GrammarMarkType.area, createArea);\n};\n\nexport const registerGroupGraphic = () => {\n registerShadowRoot();\n registerGroup();\n Factory.registerGraphic(GrammarMarkType.group, createGroup);\n};\n\nexport const registerImageGraphic = () => {\n registerShadowRoot();\n registerImage();\n Factory.registerGraphic(GrammarMarkType.image, createImage);\n};\n\nexport const registerLineGraphic = () => {\n registerShadowRoot();\n registerLine();\n Factory.registerGraphic(GrammarMarkType.line, createLine);\n};\n\nexport const registerPathGraphic = () => {\n registerShadowRoot();\n registerPath();\n Factory.registerGraphic(GrammarMarkType.path, createPath);\n};\n\nexport const registerRectGraphic = () => {\n registerShadowRoot();\n registerRect();\n Factory.registerGraphic(GrammarMarkType.rect, createRect);\n};\n\nexport const registerRect3dGraphic = () => {\n registerShadowRoot();\n registerRect3d();\n Factory.registerGraphic(GrammarMarkType.rect3d, createRect3d);\n};\n\nexport const registerRuleGraphic = () => {\n registerShadowRoot();\n registerLine();\n Factory.registerGraphic(GrammarMarkType.rule, createLine);\n};\n\nexport const registerShapeGraphic = () => {\n registerShadowRoot();\n registerPath();\n Factory.registerGraphic(GrammarMarkType.shape, createPath);\n};\n\nexport const registerSymbolGraphic = () => {\n registerShadowRoot();\n registerSymbol();\n Factory.registerGraphic(GrammarMarkType.symbol, createSymbol);\n};\n\nexport const registerTextGraphic = () => {\n registerShadowRoot();\n registerText();\n registerRichtext();\n Factory.registerGraphic(GrammarMarkType.text, createText);\n};\n\nexport const registerPolygonGraphic = () => {\n registerShadowRoot();\n registerPolygon();\n Factory.registerGraphic(GrammarMarkType.polygon, createPolygon);\n};\n\nexport const registerRichTextGraphic = () => {\n registerShadowRoot();\n registerRichtext();\n Factory.registerGraphic(GrammarMarkType.richtext, createRichText);\n};\n\nexport const registerCellGraphic = () => {\n registerShadowRoot();\n registerSymbol();\n Factory.registerGraphic(GrammarMarkType.cell, createSymbol);\n};\n\nexport const registerIntervalGraphic = () => {\n registerShadowRoot();\n registerRect();\n registerArc();\n Factory.registerGraphic(GrammarMarkType.interval, createRect);\n};\n\nexport const registerGlyphGraphic = () => {\n registerShadowRoot();\n registerGlyph();\n Factory.registerGraphic(GrammarMarkType.glyph, createGlyph);\n};\n\nexport const registerLargeRectsGraphic = () => {\n registerShadowRoot();\n registerPath();\n Factory.registerGraphic(GrammarMarkType.largeRects, (attrs: any) => {\n return new LargeRects(attrs) as unknown as IGraphic;\n });\n};\n\nexport const registerLargeSymbolsGraphic = () => {\n registerShadowRoot();\n registerPath();\n Factory.registerGraphic(GrammarMarkType.largeSymbols, (attrs: any) => {\n return new LargeSymbols(attrs) as unknown as IGraphic;\n });\n};\n"]}
1
+ {"version":3,"sources":["../src/graph/mark/graphic.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;AAC7C,oCAA2C;AAC3C,+CAA2C;AAC3C,mDAA+C;AAE/C,yDAkBgC;AAChC,yDAiBgC;AAChC,qEAKsC;AAE/B,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,MAAM,EAAE,2BAAY,CAAC,CAAC;AAChE,CAAC,CAAC;AAJW,QAAA,qBAAqB,yBAIhC;AAEK,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,0BAAW,GAAE,CAAC;IACd,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,GAAG,EAAE,wBAAS,CAAC,CAAC;IACxD,IAAA,yCAAoB,GAAE,CAAC;AACzB,CAAC,CAAC;AALW,QAAA,kBAAkB,sBAK7B;AAEK,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,4BAAa,GAAE,CAAC;IAChB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,KAAK,EAAE,0BAAW,CAAC,CAAC;AAC9D,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B;AAEK,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,gCAAiB,GAAE,CAAC;IACpB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,SAAS,EAAE,8BAAe,CAAC,CAAC;AACtE,CAAC,CAAC;AAJW,QAAA,wBAAwB,4BAInC;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,IAAI,EAAE,yBAAU,CAAC,CAAC;IAC1D,IAAA,0CAAqB,GAAE,CAAC;IACxB,IAAA,4CAAuB,GAAE,CAAC;AAC5B,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B;AAEK,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,4BAAa,GAAE,CAAC;IAChB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,KAAK,EAAE,0BAAW,CAAC,CAAC;AAC9D,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B;AAEK,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,4BAAa,GAAE,CAAC;IAChB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,KAAK,EAAE,0BAAW,CAAC,CAAC;AAC9D,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,0CAAqB,GAAE,CAAC;IACxB,IAAA,4CAAuB,GAAE,CAAC;IAC1B,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,IAAI,EAAE,yBAAU,CAAC,CAAC;AAC5D,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,IAAI,EAAE,yBAAU,CAAC,CAAC;AAC5D,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,0CAAqB,GAAE,CAAC;IACxB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,IAAI,EAAE,yBAAU,CAAC,CAAC;AAC5D,CAAC,CAAC;AALW,QAAA,mBAAmB,uBAK9B;AAEK,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,MAAM,EAAE,2BAAY,CAAC,CAAC;AAChE,CAAC,CAAC;AAJW,QAAA,qBAAqB,yBAIhC;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,IAAI,EAAE,yBAAU,CAAC,CAAC;AAC5D,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEK,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,KAAK,EAAE,yBAAU,CAAC,CAAC;AAC7D,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B;AAEK,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,4CAAuB,GAAE,CAAC;IAC1B,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,MAAM,EAAE,2BAAY,CAAC,CAAC;AAChE,CAAC,CAAC;AALW,QAAA,qBAAqB,yBAKhC;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,+BAAgB,GAAE,CAAC;IACnB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,IAAI,EAAE,yBAAU,CAAC,CAAC;AAC5D,CAAC,CAAC;AALW,QAAA,mBAAmB,uBAK9B;AAEK,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACzC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,8BAAe,GAAE,CAAC;IAClB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,OAAO,EAAE,4BAAa,CAAC,CAAC;AAClE,CAAC,CAAC;AAJW,QAAA,sBAAsB,0BAIjC;AAEK,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,+BAAgB,GAAE,CAAC;IACnB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,QAAQ,EAAE,6BAAc,CAAC,CAAC;AACpE,CAAC,CAAC;AAJW,QAAA,uBAAuB,2BAIlC;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,4CAAuB,GAAE,CAAC;IAC1B,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,IAAI,EAAE,2BAAY,CAAC,CAAC;AAC9D,CAAC,CAAC;AALW,QAAA,mBAAmB,uBAK9B;AAEK,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,0CAAqB,GAAE,CAAC;IACxB,IAAA,0BAAW,GAAE,CAAC;IACd,IAAA,yCAAoB,GAAE,CAAC;IACvB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,QAAQ,EAAE,yBAAU,CAAC,CAAC;AAChE,CAAC,CAAC;AAPW,QAAA,uBAAuB,2BAOlC;AAEK,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,4BAAa,GAAE,CAAC;IAChB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,KAAK,EAAE,0BAAW,CAAC,CAAC;AAC9D,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B;AAEK,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC5C,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,UAAU,EAAE,CAAC,KAAU,EAAE,EAAE;QACjE,OAAO,IAAI,wBAAU,CAAC,KAAK,CAAwB,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AANW,QAAA,yBAAyB,6BAMpC;AAEK,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,YAAY,EAAE,CAAC,KAAU,EAAE,EAAE;QACnE,OAAO,IAAI,4BAAY,CAAC,KAAK,CAAwB,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AANW,QAAA,2BAA2B,+BAMtC","file":"graphic.js","sourcesContent":["import { Factory } from '../../core/factory';\nimport { GrammarMarkType } from '../enums';\nimport { LargeRects } from './large-rects';\nimport { LargeSymbols } from './large-symbols';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport {\n registerCircle,\n registerArc,\n registerArc3d,\n registerPyramid3d,\n registerArea,\n registerGroup,\n registerImage,\n registerRect3d,\n registerLine,\n registerPath,\n registerRect,\n registerSymbol,\n registerText,\n registerPolygon,\n registerRichtext,\n registerGlyph,\n registerShadowRoot\n} from '@visactor/vrender-kits';\nimport {\n createArc,\n createCircle,\n createArc3d,\n createPyramid3d,\n createArea,\n createGroup,\n createImage,\n createRect3d,\n createLine,\n createPath,\n createRect,\n createSymbol,\n createText,\n createPolygon,\n createRichText,\n createGlyph\n} from '@visactor/vrender-core';\nimport {\n registerRectDataLabel,\n registerLineDataLabel,\n registerArcDataLabel,\n registerSymbolDataLabel\n} from '@visactor/vrender-components';\n\nexport const registerCircleGraphic = () => {\n registerShadowRoot();\n registerCircle();\n Factory.registerGraphic(GrammarMarkType.circle, createCircle);\n};\n\nexport const registerArcGraphic = () => {\n registerShadowRoot();\n registerArc();\n Factory.registerGraphic(GrammarMarkType.arc, createArc);\n registerArcDataLabel();\n};\n\nexport const registerArc3dGraphic = () => {\n registerShadowRoot();\n registerArc3d();\n Factory.registerGraphic(GrammarMarkType.arc3d, createArc3d);\n};\n\nexport const registerPyramid3dGraphic = () => {\n registerShadowRoot();\n registerPyramid3d();\n Factory.registerGraphic(GrammarMarkType.pyramid3d, createPyramid3d);\n};\n\nexport const registerAreaGraphic = () => {\n registerShadowRoot();\n registerArea();\n Factory.registerGraphic(GrammarMarkType.area, createArea);\n registerLineDataLabel();\n registerSymbolDataLabel();\n};\n\nexport const registerGroupGraphic = () => {\n registerShadowRoot();\n registerGroup();\n Factory.registerGraphic(GrammarMarkType.group, createGroup);\n};\n\nexport const registerImageGraphic = () => {\n registerShadowRoot();\n registerImage();\n Factory.registerGraphic(GrammarMarkType.image, createImage);\n};\n\nexport const registerLineGraphic = () => {\n registerShadowRoot();\n registerLine();\n registerLineDataLabel();\n registerSymbolDataLabel();\n Factory.registerGraphic(GrammarMarkType.line, createLine);\n};\n\nexport const registerPathGraphic = () => {\n registerShadowRoot();\n registerPath();\n Factory.registerGraphic(GrammarMarkType.path, createPath);\n};\n\nexport const registerRectGraphic = () => {\n registerShadowRoot();\n registerRect();\n registerRectDataLabel();\n Factory.registerGraphic(GrammarMarkType.rect, createRect);\n};\n\nexport const registerRect3dGraphic = () => {\n registerShadowRoot();\n registerRect3d();\n Factory.registerGraphic(GrammarMarkType.rect3d, createRect3d);\n};\n\nexport const registerRuleGraphic = () => {\n registerShadowRoot();\n registerLine();\n Factory.registerGraphic(GrammarMarkType.rule, createLine);\n};\n\nexport const registerShapeGraphic = () => {\n registerShadowRoot();\n registerPath();\n Factory.registerGraphic(GrammarMarkType.shape, createPath);\n};\n\nexport const registerSymbolGraphic = () => {\n registerShadowRoot();\n registerSymbol();\n registerSymbolDataLabel();\n Factory.registerGraphic(GrammarMarkType.symbol, createSymbol);\n};\n\nexport const registerTextGraphic = () => {\n registerShadowRoot();\n registerText();\n registerRichtext();\n Factory.registerGraphic(GrammarMarkType.text, createText);\n};\n\nexport const registerPolygonGraphic = () => {\n registerShadowRoot();\n registerPolygon();\n Factory.registerGraphic(GrammarMarkType.polygon, createPolygon);\n};\n\nexport const registerRichTextGraphic = () => {\n registerShadowRoot();\n registerRichtext();\n Factory.registerGraphic(GrammarMarkType.richtext, createRichText);\n};\n\nexport const registerCellGraphic = () => {\n registerShadowRoot();\n registerSymbol();\n registerSymbolDataLabel();\n Factory.registerGraphic(GrammarMarkType.cell, createSymbol);\n};\n\nexport const registerIntervalGraphic = () => {\n registerShadowRoot();\n registerRect();\n registerRectDataLabel();\n registerArc();\n registerArcDataLabel();\n Factory.registerGraphic(GrammarMarkType.interval, createRect);\n};\n\nexport const registerGlyphGraphic = () => {\n registerShadowRoot();\n registerGlyph();\n Factory.registerGraphic(GrammarMarkType.glyph, createGlyph);\n};\n\nexport const registerLargeRectsGraphic = () => {\n registerShadowRoot();\n registerPath();\n Factory.registerGraphic(GrammarMarkType.largeRects, (attrs: any) => {\n return new LargeRects(attrs) as unknown as IGraphic;\n });\n};\n\nexport const registerLargeSymbolsGraphic = () => {\n registerShadowRoot();\n registerPath();\n Factory.registerGraphic(GrammarMarkType.largeSymbols, (attrs: any) => {\n return new LargeSymbols(attrs) as unknown as IGraphic;\n });\n};\n"]}
@@ -1,5 +1,4 @@
1
1
  import type { FederatedEvent } from '@visactor/vrender-core';
2
- import type { IElement } from './../../types/element';
3
2
  import type { IView } from './../../types/view';
4
3
  import type { EventSourceType } from '../../types';
5
- export default function getExtendedEvents(view: IView, event: FederatedEvent, item: IElement, type: string, source: EventSourceType): FederatedEvent<Event>;
4
+ export default function getExtendedEvents(view: IView, event: FederatedEvent, type: string, source: EventSourceType): FederatedEvent<Event>;
@@ -4,14 +4,25 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
 
7
- const point_1 = require("./point"), constants_1 = require("../../view/constants");
7
+ const point_1 = require("./point"), constants_1 = require("../../view/constants"), constants_2 = require("../constants");
8
8
 
9
- function getExtendedEvents(view, event, item, type, source) {
9
+ function getExtendedEvents(view, event, type, source) {
10
+ var _a, _b;
10
11
  if (source === constants_1.EVENT_SOURCE_WINDOW) {
11
12
  const e = event.changedTouches ? event.changedTouches[0] : event;
12
13
  (0, point_1.point)(e);
13
14
  }
14
- return event.element = item, event;
15
+ let element = null === (_a = event.target) || void 0 === _a ? void 0 : _a[constants_2.BridgeElementKey];
16
+ if (!element && source === constants_1.EVENT_SOURCE_VIEW) {
17
+ let target = event.target;
18
+ const rootGraphic = null === (_b = view.rootMark) || void 0 === _b ? void 0 : _b.graphicItem;
19
+ for (;(null == target ? void 0 : target.parent) && target.parent !== rootGraphic; ) if (target = target.parent,
20
+ target[constants_2.BridgeElementKey]) {
21
+ element = target[constants_2.BridgeElementKey];
22
+ break;
23
+ }
24
+ }
25
+ return event.element = element, event;
15
26
  }
16
27
 
17
28
  exports.default = getExtendedEvents;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graph/util/events-extend.ts"],"names":[],"mappings":";;AAGA,mCAAgC;AAChC,oDAA2D;AAG3D,SAAwB,iBAAiB,CACvC,IAAW,EACX,KAAqB,EACrB,IAAc,EACd,IAAY,EACZ,MAAuB;IAEvB,IAAI,MAAM,KAAK,+BAAmB,EAAE;QAClC,MAAM,CAAC,GAAI,KAAa,CAAC,cAAc,CAAC,CAAC,CAAE,KAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACnF,IAAA,aAAK,EAAC,CAAC,CAAC,CAAC;KACV;IAEA,KAAa,CAAC,OAAO,GAAG,IAAI,CAAC;IAE9B,OAAO,KAAK,CAAC;AACf,CAAC;AAfD,oCAeC","file":"events-extend.js","sourcesContent":["import type { FederatedEvent } from '@visactor/vrender-core';\nimport type { IElement } from './../../types/element';\nimport type { IView } from './../../types/view';\nimport { point } from './point';\nimport { EVENT_SOURCE_WINDOW } from '../../view/constants';\nimport type { EventSourceType } from '../../types';\n\nexport default function getExtendedEvents(\n view: IView,\n event: FederatedEvent,\n item: IElement,\n type: string,\n source: EventSourceType\n) {\n if (source === EVENT_SOURCE_WINDOW) {\n const e = (event as any).changedTouches ? (event as any).changedTouches[0] : event;\n point(e);\n }\n\n (event as any).element = item;\n\n return event;\n}\n"]}
1
+ {"version":3,"sources":["../src/graph/util/events-extend.ts"],"names":[],"mappings":";;AAEA,mCAAgC;AAChC,oDAA8E;AAE9E,4CAAgD;AAEhD,SAAwB,iBAAiB,CAAC,IAAW,EAAE,KAAqB,EAAE,IAAY,EAAE,MAAuB;;IACjH,IAAI,MAAM,KAAK,+BAAmB,EAAE;QAClC,MAAM,CAAC,GAAI,KAAa,CAAC,cAAc,CAAC,CAAC,CAAE,KAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACnF,IAAA,aAAK,EAAC,CAAC,CAAC,CAAC;KACV;IACD,IAAI,OAAO,GAAG,MAAC,KAAK,CAAC,MAAc,0CAAG,4BAAgB,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO,IAAI,MAAM,KAAK,6BAAiB,EAAE;QAC5C,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC1B,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,WAAW,CAAC;QAE/C,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAK,MAAM,CAAC,MAAc,KAAK,WAAW,EAAE;YAC/D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACvB,IAAK,MAAc,CAAC,4BAAgB,CAAC,EAAE;gBACrC,OAAO,GAAI,MAAc,CAAC,4BAAgB,CAAC,CAAC;gBAC5C,MAAM;aACP;SACF;KACF;IAEA,KAAa,CAAC,OAAO,GAAG,OAAO,CAAC;IAEjC,OAAO,KAAK,CAAC;AACf,CAAC;AAtBD,oCAsBC","file":"events-extend.js","sourcesContent":["import type { FederatedEvent } from '@visactor/vrender-core';\nimport type { IView } from './../../types/view';\nimport { point } from './point';\nimport { EVENT_SOURCE_VIEW, EVENT_SOURCE_WINDOW } from '../../view/constants';\nimport type { EventSourceType } from '../../types';\nimport { BridgeElementKey } from '../constants';\n\nexport default function getExtendedEvents(view: IView, event: FederatedEvent, type: string, source: EventSourceType) {\n if (source === EVENT_SOURCE_WINDOW) {\n const e = (event as any).changedTouches ? (event as any).changedTouches[0] : event;\n point(e);\n }\n let element = (event.target as any)?.[BridgeElementKey];\n if (!element && source === EVENT_SOURCE_VIEW) {\n let target = event.target;\n const rootGraphic = view.rootMark?.graphicItem;\n\n while (target?.parent && (target.parent as any) !== rootGraphic) {\n target = target.parent;\n if ((target as any)[BridgeElementKey]) {\n element = (target as any)[BridgeElementKey];\n break;\n }\n }\n }\n\n (event as any).element = element;\n\n return event;\n}\n"]}
@@ -30,17 +30,6 @@ function getOffsetPos(e) {
30
30
  };
31
31
  }
32
32
 
33
- function getBoundingClientRectPos(e, el) {
34
- const result = {
35
- canvasX: 0,
36
- canvasY: 0
37
- }, rect = el.getBoundingClientRect(), currentWidth = rect.width, widthRatio = currentWidth / (el.offsetWidth || currentWidth), currentHeight = rect.height, heightRatio = currentHeight / (el.offsetHeight || currentHeight);
38
- return [ "touchstart", "touchmove", "touchend" ].includes(e.type) && e.changedTouches && e.changedTouches.length ? (result.canvasX = (e.changedTouches[0].clientX - rect.left - (el.clientLeft || 0)) / widthRatio,
39
- result.canvasY = (e.changedTouches[0].clientY - rect.top - (el.clientTop || 0)) / heightRatio,
40
- result.clientX = e.changedTouches[0].clientX, result.clientY = e.changedTouches[0].clientY) : (result.canvasX = (e.clientX - rect.left - (el.clientLeft || 0)) / widthRatio,
41
- result.canvasY = (e.clientY - rect.top - (el.clientTop || 0)) / heightRatio), result;
42
- }
43
-
44
33
  function getXYPos(e) {
45
34
  return {
46
35
  canvasX: e.x,
@@ -49,26 +38,21 @@ function getXYPos(e) {
49
38
  }
50
39
 
51
40
  function getChangedTouchesPos(e) {
41
+ const pos = e.changedTouches[0];
52
42
  return {
53
- canvasX: e.changedTouches[0].x,
54
- canvasY: e.changedTouches[0].y
43
+ canvasX: pos.x,
44
+ canvasY: pos.y
55
45
  };
56
46
  }
57
47
 
58
48
  function defineSrPosition(event, pos, client = !0) {
59
- return (0, vutils_1.isValidNumber)(pos.canvasX) && Object.defineProperty(event, "canvasX", {
60
- value: pos.canvasX,
61
- writable: !0
62
- }), (0, vutils_1.isValidNumber)(pos.canvasY) && Object.defineProperty(event, "canvasY", {
63
- value: pos.canvasY,
64
- writable: !0
65
- }), client && (0, vutils_1.isValidNumber)(pos.clientX) && Object.defineProperty(event, "clientX", {
66
- value: pos.clientX,
67
- writable: !0
68
- }), client && (0, vutils_1.isValidNumber)(pos.clientY) && Object.defineProperty(event, "clientY", {
69
- value: pos.clientY,
70
- writable: !0
71
- }), [ pos.canvasX, pos.canvasY ];
49
+ const keys = [ "canvasX", "canvasY" ];
50
+ return client && (keys.push("clientX"), keys.push("clientY")), keys.forEach((key => {
51
+ (0, vutils_1.isValidNumber)(pos[key]) && Object.defineProperty(event, key, {
52
+ value: pos[key],
53
+ writable: !0
54
+ });
55
+ })), [ pos.canvasX, pos.canvasY ];
72
56
  }
73
57
 
74
58
  exports.point = point;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graph/util/point.ts"],"names":[],"mappings":"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","file":"point.js","sourcesContent":["import { isValidNumber, isNil } from '@visactor/vutils';\n\ninterface EventPosition {\n canvasX: number;\n canvasY: number;\n clientX?: number;\n clientY?: number;\n}\n\nexport function point(event: Event) {\n ['touches', 'changedTouches', 'targetTouches'].forEach(touchKey => {\n if (event[touchKey] && event[touchKey].length) {\n Array.from(event[touchKey]).forEach(touch => {\n const touchPosition = clientToLocal(touch as Event);\n defineSrPosition(touch, touchPosition, false);\n });\n }\n });\n\n const pos = clientToLocal(event);\n return defineSrPosition(event, pos);\n}\n\nfunction clientToLocal(e: Event): EventPosition {\n // For IE6+, chrome, safari, opera. (When will ff support offsetX?)\n if (!isNil((e as any).offsetX)) {\n return getOffsetPos(e);\n }\n\n // if (el && el.getBoundingClientRect) {\n // return getBoundingClientRectPos(e, el);\n // }\n\n // for miniApp\n if (!isNil((e as any).x)) {\n return getXYPos(e);\n }\n\n // for miniApp\n if ((e as any).changedTouches && (e as any).changedTouches.length) {\n return getChangedTouchesPos(e);\n }\n\n // For some other device, e.g., IOS safari.\n return {\n canvasX: 0,\n canvasY: 0\n };\n}\n\nfunction getOffsetPos(e: any) {\n return {\n canvasX: e.offsetX,\n canvasY: e.offsetY\n };\n}\n\nfunction getBoundingClientRectPos(e: any, el: HTMLElement) {\n const result: EventPosition = { canvasX: 0, canvasY: 0 };\n const rect = el.getBoundingClientRect();\n const currentWidth = rect.width;\n const originWidth = el.offsetWidth || currentWidth;\n const widthRatio = currentWidth / originWidth;\n const currentHeight = rect.height;\n const originHeight = el.offsetHeight || currentHeight;\n const heightRatio = currentHeight / originHeight;\n if (['touchstart', 'touchmove', 'touchend'].includes(e.type) && e.changedTouches && e.changedTouches.length) {\n result.canvasX = (e.changedTouches[0].clientX - rect.left - (el.clientLeft || 0)) / widthRatio;\n result.canvasY = (e.changedTouches[0].clientY - rect.top - (el.clientTop || 0)) / heightRatio;\n result.clientX = e.changedTouches[0].clientX;\n result.clientY = e.changedTouches[0].clientY;\n } else {\n result.canvasX = (e.clientX - rect.left - (el.clientLeft || 0)) / widthRatio;\n result.canvasY = (e.clientY - rect.top - (el.clientTop || 0)) / heightRatio;\n }\n return result;\n}\n\nfunction getXYPos(e: any) {\n return { canvasX: e.x, canvasY: e.y };\n}\n\nfunction getChangedTouchesPos(e: any) {\n return { canvasX: e.changedTouches[0].x, canvasY: e.changedTouches[0].y };\n}\n\nfunction defineSrPosition(event: any, pos: EventPosition, client = true) {\n isValidNumber(pos.canvasX) &&\n Object.defineProperty(event, 'canvasX', {\n value: pos.canvasX,\n writable: true\n });\n isValidNumber(pos.canvasY) &&\n Object.defineProperty(event, 'canvasY', {\n value: pos.canvasY,\n writable: true\n });\n client &&\n isValidNumber(pos.clientX) &&\n Object.defineProperty(event, 'clientX', {\n value: pos.clientX,\n writable: true\n });\n client &&\n isValidNumber(pos.clientY) &&\n Object.defineProperty(event, 'clientY', {\n value: pos.clientY,\n writable: true\n });\n return [pos.canvasX, pos.canvasY];\n}\n"]}
1
+ {"version":3,"sources":["../src/graph/util/point.ts"],"names":[],"mappings":";;;AAAA,6CAAwD;AASxD,SAAgB,KAAK,CAAC,KAAY;IAChC,CAAC,SAAS,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAChE,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE;YAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC1C,MAAM,aAAa,GAAG,aAAa,CAAC,KAAc,CAAC,CAAC;gBACpD,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACtC,CAAC;AAZD,sBAYC;AAED,SAAS,aAAa,CAAC,CAAQ;IAE7B,IAAI,CAAC,IAAA,cAAK,EAAE,CAAS,CAAC,OAAO,CAAC,EAAE;QAC9B,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;KACxB;IAGD,IAAI,CAAC,IAAA,cAAK,EAAE,CAAS,CAAC,CAAC,CAAC,EAAE;QACxB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;KACpB;IAGD,IAAK,CAAS,CAAC,cAAc,IAAK,CAAS,CAAC,cAAc,CAAC,MAAM,EAAE;QACjE,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC;KAChC;IAGD,OAAO;QACL,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;KACX,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,CAAM;IAC1B,OAAO;QACL,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,CAAC,OAAO;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,CAAM;IACtB,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAM;IAClC,MAAM,GAAG,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAU,EAAE,GAAkB,EAAE,MAAM,GAAG,IAAI;IACrE,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEpC,IAAI,MAAM,EAAE;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACtB;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjB,IAAA,sBAAa,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE;gBAChC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC;gBACf,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC","file":"point.js","sourcesContent":["import { isValidNumber, isNil } from '@visactor/vutils';\n\ninterface EventPosition {\n canvasX: number;\n canvasY: number;\n clientX?: number;\n clientY?: number;\n}\n\nexport function point(event: Event) {\n ['touches', 'changedTouches', 'targetTouches'].forEach(touchKey => {\n if (event[touchKey] && event[touchKey].length) {\n Array.from(event[touchKey]).forEach(touch => {\n const touchPosition = clientToLocal(touch as Event);\n defineSrPosition(touch, touchPosition, false);\n });\n }\n });\n\n const pos = clientToLocal(event);\n return defineSrPosition(event, pos);\n}\n\nfunction clientToLocal(e: Event): EventPosition {\n // For IE6+, chrome, safari, opera. (When will ff support offsetX?)\n if (!isNil((e as any).offsetX)) {\n return getOffsetPos(e);\n }\n\n // for miniApp\n if (!isNil((e as any).x)) {\n return getXYPos(e);\n }\n\n // for miniApp\n if ((e as any).changedTouches && (e as any).changedTouches.length) {\n return getChangedTouchesPos(e);\n }\n\n // For some other device, e.g., IOS safari.\n return {\n canvasX: 0,\n canvasY: 0\n };\n}\n\nfunction getOffsetPos(e: any) {\n return {\n canvasX: e.offsetX,\n canvasY: e.offsetY\n };\n}\n\nfunction getXYPos(e: any) {\n return { canvasX: e.x, canvasY: e.y };\n}\n\nfunction getChangedTouchesPos(e: any) {\n const pos = e.changedTouches[0];\n return { canvasX: pos.x, canvasY: pos.y };\n}\n\nfunction defineSrPosition(event: any, pos: EventPosition, client = true) {\n const keys = ['canvasX', 'canvasY'];\n\n if (client) {\n keys.push('clientX');\n keys.push('clientY');\n }\n\n keys.forEach(key => {\n isValidNumber(pos[key]) &&\n Object.defineProperty(event, key, {\n value: pos[key],\n writable: true\n });\n });\n\n return [pos.canvasX, pos.canvasY];\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import type { IGrammarBase, IMark, IRunningConfig } from '../types';
2
+ import type { DiffResult } from '../types/base';
3
+ import type { IViewDiff } from '../types/morph';
4
+ export declare class ViewDiff implements IViewDiff {
5
+ diffGrammar<U extends IGrammarBase>(prevGrammars: U[], nextGrammars: U[]): DiffResult<U, U>;
6
+ diffMark(prevMarks: IMark[], nextMarks: IMark[], runningConfig: IRunningConfig): DiffResult<IMark[], IMark[]>;
7
+ private diffUpdateByGroup;
8
+ }
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.ViewDiff = void 0;
6
+
7
+ const differ_1 = require("./mark/differ"), enums_1 = require("./enums"), EmptyKey = Symbol.for("key");
8
+
9
+ class ViewDiff {
10
+ diffGrammar(prevGrammars, nextGrammars) {
11
+ return (0, differ_1.diffSingle)(prevGrammars, nextGrammars, (grammar => {
12
+ var _a;
13
+ return null !== (_a = grammar.id()) && void 0 !== _a ? _a : Symbol();
14
+ }));
15
+ }
16
+ diffMark(prevMarks, nextMarks, runningConfig) {
17
+ const diffResult = {
18
+ enter: [],
19
+ exit: [],
20
+ update: []
21
+ };
22
+ let prevDiffMarks = [], nextDiffMarks = [];
23
+ prevMarks.forEach((mark => {
24
+ mark.markType !== enums_1.GrammarMarkType.group && (runningConfig.morph && mark.getMorphConfig().morph || runningConfig.morphAll || runningConfig.reuse) ? prevDiffMarks.push(mark) : diffResult.exit.push({
25
+ prev: [ mark ]
26
+ });
27
+ })), nextMarks.forEach((mark => {
28
+ mark.markType !== enums_1.GrammarMarkType.group && (runningConfig.morph && mark.getMorphConfig().morph || runningConfig.morphAll || runningConfig.reuse) ? nextDiffMarks.push(mark) : diffResult.enter.push({
29
+ next: [ mark ]
30
+ });
31
+ }));
32
+ const keyDiffResult = this.diffUpdateByGroup(prevDiffMarks, nextDiffMarks, (mark => mark.getMorphConfig().morphKey), (mark => mark.getMorphConfig().morphKey));
33
+ prevDiffMarks = keyDiffResult.prev, nextDiffMarks = keyDiffResult.next, diffResult.update = diffResult.update.concat(keyDiffResult.update);
34
+ const nameDiffResult = this.diffUpdateByGroup(prevDiffMarks, nextDiffMarks, (mark => mark.id()), (mark => mark.id()));
35
+ prevDiffMarks = nameDiffResult.prev, nextDiffMarks = nameDiffResult.next, diffResult.update = diffResult.update.concat(nameDiffResult.update);
36
+ const prevParentGroup = (0, differ_1.groupData)(prevDiffMarks, (mark => {
37
+ var _a, _b;
38
+ return null === (_b = null === (_a = mark.group) || void 0 === _a ? void 0 : _a.id) || void 0 === _b ? void 0 : _b.call(_a);
39
+ })), nextParentGroup = (0, differ_1.groupData)(nextDiffMarks, (mark => {
40
+ var _a, _b;
41
+ return null === (_b = null === (_a = mark.group) || void 0 === _a ? void 0 : _a.id) || void 0 === _b ? void 0 : _b.call(_a);
42
+ }));
43
+ return Object.keys(nextParentGroup).forEach((groupName => {
44
+ const prevChildren = prevParentGroup.data.get(groupName), nextChildren = nextParentGroup.data.get(groupName);
45
+ if (prevChildren && nextChildren) {
46
+ for (let i = 0; i < Math.max(prevChildren.length, nextChildren.length); i += 1) {
47
+ const prevChild = prevChildren[i], nextChild = nextChildren[i];
48
+ prevChild && nextChild ? diffResult.update.push({
49
+ prev: [ prevChild ],
50
+ next: [ nextChild ]
51
+ }) : prevChild ? diffResult.exit.push({
52
+ prev: [ prevChild ]
53
+ }) : nextChild && diffResult.enter.push({
54
+ next: [ nextChild ]
55
+ });
56
+ }
57
+ prevDiffMarks = prevDiffMarks.filter((mark => !prevChildren.includes(mark))), nextDiffMarks = nextDiffMarks.filter((mark => !nextChildren.includes(mark)));
58
+ }
59
+ })), prevDiffMarks.forEach((mark => diffResult.exit.push({
60
+ prev: [ mark ]
61
+ }))), nextDiffMarks.forEach((mark => diffResult.enter.push({
62
+ next: [ mark ]
63
+ }))), diffResult;
64
+ }
65
+ diffUpdateByGroup(prev, next, prevKey, nextKey) {
66
+ const prevGroup = (0, differ_1.groupData)(prev, (datum => {
67
+ var _a;
68
+ return null !== (_a = prevKey(datum)) && void 0 !== _a ? _a : EmptyKey;
69
+ })), nextGroup = (0, differ_1.groupData)(next, (datum => {
70
+ var _a;
71
+ return null !== (_a = nextKey(datum)) && void 0 !== _a ? _a : EmptyKey;
72
+ }));
73
+ let prevAfterDiff = prev, nextAfterDiff = next;
74
+ const update = [];
75
+ return nextGroup.keys.forEach((key => {
76
+ if (key !== EmptyKey) {
77
+ const prevKeyData = prevGroup.data.get(key), nextKeyData = nextGroup.data.get(key);
78
+ prevKeyData && nextKeyData && (update.push({
79
+ prev: prevKeyData,
80
+ next: nextKeyData
81
+ }), prevAfterDiff = prevAfterDiff.filter((datum => !prevKeyData.includes(datum))),
82
+ nextAfterDiff = nextAfterDiff.filter((datum => !nextKeyData.includes(datum))));
83
+ }
84
+ })), {
85
+ prev: prevAfterDiff,
86
+ next: nextAfterDiff,
87
+ update: update
88
+ };
89
+ }
90
+ }
91
+
92
+ exports.ViewDiff = ViewDiff;
93
+ //# sourceMappingURL=view-diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/graph/view-diff.ts"],"names":[],"mappings":";;;AAGA,0CAAsD;AACtD,mCAA0C;AAE1C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAEnC,MAAa,QAAQ;IACnB,WAAW,CAAyB,YAAiB,EAAE,YAAiB;QACtE,MAAM,GAAG,GAAG,CAAC,OAAU,EAAE,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,EAAE,EAAE,mCAAI,MAAM,EAAE,CAAA,EAAA,CAAC;QACrD,OAAO,IAAA,mBAAU,EAAC,YAAY,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ,CAAC,SAAkB,EAAE,SAAkB,EAAE,aAA6B;QAC5E,MAAM,UAAU,GAAiC;YAC/C,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;SACX,CAAC;QAEF,IAAI,aAAa,GAAY,EAAE,CAAC;QAChC,IAAI,aAAa,GAAY,EAAE,CAAC;QAGhC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,IAEE,IAAI,CAAC,QAAQ,KAAK,uBAAe,CAAC,KAAK;gBACvC,CAAC,CAAC,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,QAAQ,IAAI,aAAa,CAAC,KAAK,CAAC,EACvG;gBACA,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;iBAAM;gBACL,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACxC;QACH,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,IACE,IAAI,CAAC,QAAQ,KAAK,uBAAe,CAAC,KAAK;gBACvC,CAAC,CAAC,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,QAAQ,IAAI,aAAa,CAAC,KAAK,CAAC,EACvG;gBACA,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;iBAAM;gBACL,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACzC;QACH,CAAC,CAAC,CAAC;QAGH,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAC1C,aAAa,EACb,aAAa,EACb,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,EACtC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,CACvC,CAAC;QACF,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;QACnC,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;QACnC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAGnE,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAC3C,aAAa,EACb,aAAa,EACb,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EACjB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAClB,CAAC;QACF,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC;QACpC,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC;QACpC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAKpE,MAAM,eAAe,GAAG,IAAA,kBAAS,EAAC,aAAa,EAAE,IAAI,CAAC,EAAE,eAAC,OAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,EAAE,kDAAI,CAAA,EAAA,CAAC,CAAC;QAC7E,MAAM,eAAe,GAAG,IAAA,kBAAS,EAAC,aAAa,EAAE,IAAI,CAAC,EAAE,eAAC,OAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,EAAE,kDAAI,CAAA,EAAA,CAAC,CAAC;QAE7E,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC/C,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzD,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzD,IAAI,YAAY,IAAI,YAAY,EAAE;gBAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;oBAC9E,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;oBAClC,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;oBAClC,IAAI,SAAS,IAAI,SAAS,EAAE;wBAC1B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;qBAClE;yBAAM,IAAI,SAAS,EAAE;wBACpB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;qBAC7C;yBAAM,IAAI,SAAS,EAAE;wBACpB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;qBAC9C;iBACF;gBAED,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3E,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;aAC5E;QACH,CAAC,CAAC,CAAC;QAGH,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvE,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,iBAAiB,CACvB,IAAS,EACT,IAAS,EACT,OAAsC,EACtC,OAAsC;QAEtC,MAAM,SAAS,GAAG,IAAA,kBAAS,EAAC,IAAI,EAAE,KAAK,CAAC,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,KAAK,CAAC,mCAAI,QAAQ,CAAA,EAAA,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,IAAA,kBAAS,EAAC,IAAI,EAAE,KAAK,CAAC,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,KAAK,CAAC,mCAAI,QAAQ,CAAA,EAAA,CAAC,CAAC;QAEvE,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,MAAM,MAAM,GAA+B,EAAE,CAAC;QAC9C,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC3B,IAAI,GAAG,KAAK,QAAQ,EAAE;gBACpB,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC5C,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,WAAW,IAAI,WAAW,EAAE;oBAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;oBACtD,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC5E,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC7E;aACF;QACH,CAAC,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,aAAa;YACnB,MAAM;SACP,CAAC;IACJ,CAAC;CACF;AA5HD,4BA4HC","file":"view-diff.js","sourcesContent":["import type { IGrammarBase, IMark, IRunningConfig, MarkSpec } from '../types';\nimport type { DiffResult } from '../types/base';\nimport type { IViewDiff } from '../types/morph';\nimport { diffSingle, groupData } from './mark/differ';\nimport { GrammarMarkType } from './enums';\n\nconst EmptyKey = Symbol.for('key');\n\nexport class ViewDiff implements IViewDiff {\n diffGrammar<U extends IGrammarBase>(prevGrammars: U[], nextGrammars: U[]): DiffResult<U, U> {\n const key = (grammar: U) => grammar.id() ?? Symbol();\n return diffSingle(prevGrammars, nextGrammars, key);\n }\n\n diffMark(prevMarks: IMark[], nextMarks: IMark[], runningConfig: IRunningConfig): DiffResult<IMark[], IMark[]> {\n const diffResult: DiffResult<IMark[], IMark[]> = {\n enter: [],\n exit: [],\n update: []\n };\n\n let prevDiffMarks: IMark[] = [];\n let nextDiffMarks: IMark[] = [];\n\n // filter out marks & specs which will not morph\n prevMarks.forEach(mark => {\n if (\n // group mark does not support reusing or morphing\n mark.markType !== GrammarMarkType.group &&\n ((runningConfig.morph && mark.getMorphConfig().morph) || runningConfig.morphAll || runningConfig.reuse)\n ) {\n prevDiffMarks.push(mark);\n } else {\n diffResult.exit.push({ prev: [mark] });\n }\n });\n nextMarks.forEach(mark => {\n if (\n mark.markType !== GrammarMarkType.group &&\n ((runningConfig.morph && mark.getMorphConfig().morph) || runningConfig.morphAll || runningConfig.reuse)\n ) {\n nextDiffMarks.push(mark);\n } else {\n diffResult.enter.push({ next: [mark] });\n }\n });\n\n // 1. match by custom key\n const keyDiffResult = this.diffUpdateByGroup(\n prevDiffMarks,\n nextDiffMarks,\n mark => mark.getMorphConfig().morphKey,\n mark => mark.getMorphConfig().morphKey\n );\n prevDiffMarks = keyDiffResult.prev;\n nextDiffMarks = keyDiffResult.next;\n diffResult.update = diffResult.update.concat(keyDiffResult.update);\n\n // 2. match by name\n const nameDiffResult = this.diffUpdateByGroup(\n prevDiffMarks,\n nextDiffMarks,\n mark => mark.id(),\n mark => mark.id()\n );\n prevDiffMarks = nameDiffResult.prev;\n nextDiffMarks = nameDiffResult.next;\n diffResult.update = diffResult.update.concat(nameDiffResult.update);\n\n // 3. match by index\n\n // FIXME: mark index cannot be get before executing, index is decided by remove/order for now\n const prevParentGroup = groupData(prevDiffMarks, mark => mark.group?.id?.());\n const nextParentGroup = groupData(nextDiffMarks, mark => mark.group?.id?.());\n\n Object.keys(nextParentGroup).forEach(groupName => {\n const prevChildren = prevParentGroup.data.get(groupName);\n const nextChildren = nextParentGroup.data.get(groupName);\n if (prevChildren && nextChildren) {\n for (let i = 0; i < Math.max(prevChildren.length, nextChildren.length); i += 1) {\n const prevChild = prevChildren[i];\n const nextChild = nextChildren[i];\n if (prevChild && nextChild) {\n diffResult.update.push({ prev: [prevChild], next: [nextChild] });\n } else if (prevChild) {\n diffResult.exit.push({ prev: [prevChild] });\n } else if (nextChild) {\n diffResult.enter.push({ next: [nextChild] });\n }\n }\n\n prevDiffMarks = prevDiffMarks.filter(mark => !prevChildren.includes(mark));\n nextDiffMarks = nextDiffMarks.filter(mark => !nextChildren.includes(mark));\n }\n });\n\n // 4. handle unmatched marks\n prevDiffMarks.forEach(mark => diffResult.exit.push({ prev: [mark] }));\n nextDiffMarks.forEach(mark => diffResult.enter.push({ next: [mark] }));\n\n return diffResult;\n }\n\n private diffUpdateByGroup<U extends IMark | MarkSpec, V extends IMark | MarkSpec>(\n prev: U[],\n next: V[],\n prevKey: (datum: U) => symbol | string,\n nextKey: (datum: V) => symbol | string\n ) {\n const prevGroup = groupData(prev, datum => prevKey(datum) ?? EmptyKey);\n const nextGroup = groupData(next, datum => nextKey(datum) ?? EmptyKey);\n\n let prevAfterDiff = prev;\n let nextAfterDiff = next;\n const update: { prev: U[]; next: V[] }[] = [];\n nextGroup.keys.forEach(key => {\n if (key !== EmptyKey) {\n const prevKeyData = prevGroup.data.get(key);\n const nextKeyData = nextGroup.data.get(key);\n if (prevKeyData && nextKeyData) {\n update.push({ prev: prevKeyData, next: nextKeyData });\n prevAfterDiff = prevAfterDiff.filter(datum => !prevKeyData.includes(datum));\n nextAfterDiff = nextAfterDiff.filter(datum => !nextKeyData.includes(datum));\n }\n }\n });\n return {\n prev: prevAfterDiff,\n next: nextAfterDiff,\n update\n };\n }\n}\n"]}
package/cjs/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const version = "0.13.6";
1
+ export declare const version = "0.13.7-alpha.0";
2
2
  export * from './graph';
3
3
  export * from './interactions';
4
4
  export { View } from './view';
@@ -10,6 +10,8 @@ export * from './util/text';
10
10
  export * from './types';
11
11
  export { Factory } from './core/factory';
12
12
  export { SIGNAL_AUTOFIT, SIGNAL_HEIGHT, SIGNAL_PADDING, SIGNAL_VIEW_HEIGHT, SIGNAL_VIEW_WIDTH, SIGNAL_WIDTH, SIGNAL_VIEW_BOX } from './view/constants';
13
+ export { registerViewEventsAPI } from './view/view-event-mixin';
14
+ export { registerViewMorphAPI } from './view/view-morph-mixin';
13
15
  export { ThemeManager } from './theme/theme-manager';
14
16
  export * from './glyph';
15
17
  export * from './component';
@@ -21,3 +23,8 @@ export * from './interactions';
21
23
  export * from './semantic-marks/cell';
22
24
  export * from './semantic-marks/interval';
23
25
  export * from './graph/mark/graphic';
26
+ export { registerDefaultLayout, defaultDoLayout } from './graph/layout/layout';
27
+ export { registerGlyphMark, GlyphMark } from './view/glyph';
28
+ export declare const registerDragPlugin: () => void;
29
+ export declare const registerGesturePlugin: () => void;
30
+ export declare const registerAnimate: () => void;
package/cjs/index.js CHANGED
@@ -17,8 +17,8 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
17
17
 
18
18
  Object.defineProperty(exports, "__esModule", {
19
19
  value: !0
20
- }), exports.vglobal = exports.ThemeManager = exports.SIGNAL_VIEW_BOX = exports.SIGNAL_WIDTH = exports.SIGNAL_VIEW_WIDTH = exports.SIGNAL_VIEW_HEIGHT = exports.SIGNAL_PADDING = exports.SIGNAL_HEIGHT = exports.SIGNAL_AUTOFIT = exports.Factory = exports.GrammarBase = exports.invokeFunctionType = exports.parseFunctionType = exports.registerCoordinate = exports.Coordinate = exports.registerScale = exports.Scale = exports.View = exports.version = void 0,
21
- exports.version = "0.13.6", __exportStar(require("./graph"), exports), __exportStar(require("./interactions"), exports);
20
+ }), exports.registerAnimate = exports.registerGesturePlugin = exports.registerDragPlugin = exports.GlyphMark = exports.registerGlyphMark = exports.defaultDoLayout = exports.registerDefaultLayout = exports.vglobal = exports.ThemeManager = exports.registerViewMorphAPI = exports.registerViewEventsAPI = exports.SIGNAL_VIEW_BOX = exports.SIGNAL_WIDTH = exports.SIGNAL_VIEW_WIDTH = exports.SIGNAL_VIEW_HEIGHT = exports.SIGNAL_PADDING = exports.SIGNAL_HEIGHT = exports.SIGNAL_AUTOFIT = exports.Factory = exports.GrammarBase = exports.invokeFunctionType = exports.parseFunctionType = exports.registerCoordinate = exports.Coordinate = exports.registerScale = exports.Scale = exports.View = exports.version = void 0,
21
+ exports.version = "0.13.7-alpha.0", __exportStar(require("./graph"), exports), __exportStar(require("./interactions"), exports);
22
22
 
23
23
  var view_1 = require("./view");
24
24
 
@@ -128,6 +128,24 @@ Object.defineProperty(exports, "SIGNAL_AUTOFIT", {
128
128
  }
129
129
  });
130
130
 
131
+ var view_event_mixin_1 = require("./view/view-event-mixin");
132
+
133
+ Object.defineProperty(exports, "registerViewEventsAPI", {
134
+ enumerable: !0,
135
+ get: function() {
136
+ return view_event_mixin_1.registerViewEventsAPI;
137
+ }
138
+ });
139
+
140
+ var view_morph_mixin_1 = require("./view/view-morph-mixin");
141
+
142
+ Object.defineProperty(exports, "registerViewMorphAPI", {
143
+ enumerable: !0,
144
+ get: function() {
145
+ return view_morph_mixin_1.registerViewMorphAPI;
146
+ }
147
+ });
148
+
131
149
  var theme_manager_1 = require("./theme/theme-manager");
132
150
 
133
151
  Object.defineProperty(exports, "ThemeManager", {
@@ -148,4 +166,50 @@ Object.defineProperty(exports, "vglobal", {
148
166
  }), __exportStar(require("./env"), exports), __exportStar(require("./interactions"), exports),
149
167
  __exportStar(require("./semantic-marks/cell"), exports), __exportStar(require("./semantic-marks/interval"), exports),
150
168
  __exportStar(require("./graph/mark/graphic"), exports);
169
+
170
+ var layout_1 = require("./graph/layout/layout");
171
+
172
+ Object.defineProperty(exports, "registerDefaultLayout", {
173
+ enumerable: !0,
174
+ get: function() {
175
+ return layout_1.registerDefaultLayout;
176
+ }
177
+ }), Object.defineProperty(exports, "defaultDoLayout", {
178
+ enumerable: !0,
179
+ get: function() {
180
+ return layout_1.defaultDoLayout;
181
+ }
182
+ });
183
+
184
+ var glyph_1 = require("./view/glyph");
185
+
186
+ Object.defineProperty(exports, "registerGlyphMark", {
187
+ enumerable: !0,
188
+ get: function() {
189
+ return glyph_1.registerGlyphMark;
190
+ }
191
+ }), Object.defineProperty(exports, "GlyphMark", {
192
+ enumerable: !0,
193
+ get: function() {
194
+ return glyph_1.GlyphMark;
195
+ }
196
+ });
197
+
198
+ const vrender_kits_1 = require("@visactor/vrender-kits"), factory_2 = require("./core/factory"), registerDragPlugin = () => {
199
+ factory_2.Factory.registerStageEventPlugin("drag", vrender_kits_1.DragNDrop);
200
+ };
201
+
202
+ exports.registerDragPlugin = registerDragPlugin;
203
+
204
+ const registerGesturePlugin = () => {
205
+ factory_2.Factory.registerStageEventPlugin("gesture", vrender_kits_1.Gesture);
206
+ };
207
+
208
+ exports.registerGesturePlugin = registerGesturePlugin;
209
+
210
+ const view_animate_mixin_1 = require("./view/view-animate-mixin"), mark_animate_mixin_1 = require("./view/mark-animate-mixin"), registerAnimate = () => {
211
+ (0, view_animate_mixin_1.registerViewAnimateAPI)(), (0, mark_animate_mixin_1.registerMarkAnimateAPI)();
212
+ };
213
+
214
+ exports.registerAnimate = registerAnimate;
151
215
  //# sourceMappingURL=index.js.map
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACa,QAAA,OAAO,GAAG,QAAQ,CAAC;AAEhC,0CAAwB;AAExB,iDAA+B;AAE/B,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,sCAAoD;AAA3C,8FAAA,KAAK,OAAA;AAAE,sGAAA,aAAa,OAAA;AAC7B,gDAAmE;AAA1D,wGAAA,UAAU,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AACvC,qCAAqE;AAA5D,yGAAA,iBAAiB,OAAA;AAAE,0GAAA,kBAAkB,OAAA;AAC9C,oDAAkD;AAAzC,2GAAA,WAAW,OAAA;AACpB,8CAA4B;AAC5B,0CAAwB;AACxB,0CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAChB,8CAQ0B;AAPxB,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AACb,2GAAA,cAAc,OAAA;AACd,+GAAA,kBAAkB,OAAA;AAClB,8GAAA,iBAAiB,OAAA;AACjB,yGAAA,YAAY,OAAA;AACZ,4GAAA,eAAe,OAAA;AAGjB,uDAAqD;AAA5C,6GAAA,YAAY,OAAA;AAErB,0CAAwB;AACxB,8CAA4B;AAC5B,+CAA6B;AAC7B,8DAA4C;AAE5C,uDAAiD;AAAxC,uGAAA,OAAO,OAAA;AAChB,wCAAsB;AACtB,iDAA+B;AAC/B,wDAAsC;AACtC,4DAA0C;AAC1C,uDAAqC","file":"index.js","sourcesContent":["// -- Exports -----\nexport const version = \"0.13.6\";\n\nexport * from './graph';\n\nexport * from './interactions';\n\nexport { View } from './view';\nexport { Scale, registerScale } from './view/scale';\nexport { Coordinate, registerCoordinate } from './view/coordinate';\nexport { parseFunctionType, invokeFunctionType } from './parse/util';\nexport { GrammarBase } from './view/grammar-base';\nexport * from './util/text';\nexport * from './types';\nexport { Factory } from './core/factory';\nexport {\n SIGNAL_AUTOFIT,\n SIGNAL_HEIGHT,\n SIGNAL_PADDING,\n SIGNAL_VIEW_HEIGHT,\n SIGNAL_VIEW_WIDTH,\n SIGNAL_WIDTH,\n SIGNAL_VIEW_BOX\n} from './view/constants';\n\nexport { ThemeManager } from './theme/theme-manager';\n\nexport * from './glyph';\nexport * from './component';\nexport * from './transforms';\nexport * from './graph/animation/animation';\n\nexport { vglobal } from '@visactor/vrender-core';\nexport * from './env';\nexport * from './interactions';\nexport * from './semantic-marks/cell';\nexport * from './semantic-marks/interval';\nexport * from './graph/mark/graphic';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACa,QAAA,OAAO,GAAG,gBAAgB,CAAC;AAExC,0CAAwB;AAExB,iDAA+B;AAE/B,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,sCAAoD;AAA3C,8FAAA,KAAK,OAAA;AAAE,sGAAA,aAAa,OAAA;AAC7B,gDAAmE;AAA1D,wGAAA,UAAU,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AACvC,qCAAqE;AAA5D,yGAAA,iBAAiB,OAAA;AAAE,0GAAA,kBAAkB,OAAA;AAC9C,oDAAkD;AAAzC,2GAAA,WAAW,OAAA;AACpB,8CAA4B;AAC5B,0CAAwB;AACxB,0CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAChB,8CAQ0B;AAPxB,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AACb,2GAAA,cAAc,OAAA;AACd,+GAAA,kBAAkB,OAAA;AAClB,8GAAA,iBAAiB,OAAA;AACjB,yGAAA,YAAY,OAAA;AACZ,4GAAA,eAAe,OAAA;AAEjB,4DAAgE;AAAvD,yHAAA,qBAAqB,OAAA;AAC9B,4DAA+D;AAAtD,wHAAA,oBAAoB,OAAA;AAE7B,uDAAqD;AAA5C,6GAAA,YAAY,OAAA;AAErB,0CAAwB;AACxB,8CAA4B;AAC5B,+CAA6B;AAC7B,8DAA4C;AAE5C,uDAAiD;AAAxC,uGAAA,OAAO,OAAA;AAChB,wCAAsB;AACtB,iDAA+B;AAC/B,wDAAsC;AACtC,4DAA0C;AAC1C,uDAAqC;AACrC,gDAA+E;AAAtE,+GAAA,qBAAqB,OAAA;AAAE,yGAAA,eAAe,OAAA;AAC/C,sCAA4D;AAAnD,0GAAA,iBAAiB,OAAA;AAAE,kGAAA,SAAS,OAAA;AAErC,yDAA4D;AAC5D,4CAAyC;AAElC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,iBAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,wBAAS,CAAC,CAAC;AACtD,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B;AAEK,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,iBAAO,CAAC,wBAAwB,CAAC,SAAS,EAAE,sBAAO,CAAC,CAAC;AACvD,CAAC,CAAC;AAFW,QAAA,qBAAqB,yBAEhC;AAEF,kEAAmE;AACnE,kEAAmE;AAE5D,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,IAAA,2CAAsB,GAAE,CAAC;IACzB,IAAA,2CAAsB,GAAE,CAAC;AAC3B,CAAC,CAAC;AAHW,QAAA,eAAe,mBAG1B","file":"index.js","sourcesContent":["// -- Exports -----\nexport const version = \"0.13.7-alpha.0\";\n\nexport * from './graph';\n\nexport * from './interactions';\n\nexport { View } from './view';\nexport { Scale, registerScale } from './view/scale';\nexport { Coordinate, registerCoordinate } from './view/coordinate';\nexport { parseFunctionType, invokeFunctionType } from './parse/util';\nexport { GrammarBase } from './view/grammar-base';\nexport * from './util/text';\nexport * from './types';\nexport { Factory } from './core/factory';\nexport {\n SIGNAL_AUTOFIT,\n SIGNAL_HEIGHT,\n SIGNAL_PADDING,\n SIGNAL_VIEW_HEIGHT,\n SIGNAL_VIEW_WIDTH,\n SIGNAL_WIDTH,\n SIGNAL_VIEW_BOX\n} from './view/constants';\nexport { registerViewEventsAPI } from './view/view-event-mixin';\nexport { registerViewMorphAPI } from './view/view-morph-mixin';\n\nexport { ThemeManager } from './theme/theme-manager';\n\nexport * from './glyph';\nexport * from './component';\nexport * from './transforms';\nexport * from './graph/animation/animation';\n\nexport { vglobal } from '@visactor/vrender-core';\nexport * from './env';\nexport * from './interactions';\nexport * from './semantic-marks/cell';\nexport * from './semantic-marks/interval';\nexport * from './graph/mark/graphic';\nexport { registerDefaultLayout, defaultDoLayout } from './graph/layout/layout';\nexport { registerGlyphMark, GlyphMark } from './view/glyph';\n\nimport { DragNDrop, Gesture } from '@visactor/vrender-kits';\nimport { Factory } from './core/factory';\n\nexport const registerDragPlugin = () => {\n Factory.registerStageEventPlugin('drag', DragNDrop);\n};\n\nexport const registerGesturePlugin = () => {\n Factory.registerStageEventPlugin('gesture', Gesture);\n};\n\nimport { registerViewAnimateAPI } from './view/view-animate-mixin';\nimport { registerMarkAnimateAPI } from './view/mark-animate-mixin';\n\nexport const registerAnimate = () => {\n registerViewAnimateAPI();\n registerMarkAnimateAPI();\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interactions/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["import { array, isArray, isNil, isString, isValid } from '@visactor/vutils';\nimport type {\n IBaseInteractionOptions,\n IElement,\n IGlyphElement,\n IGrammarBase,\n IView,\n InteractionEventHandler\n} from '../types';\n\nexport abstract class BaseInteraction<T extends IBaseInteractionOptions> {\n readonly view: IView;\n\n options: T;\n\n type: string;\n\n constructor(view: IView, options: T) {\n this.view = view;\n this.depend(options?.dependency);\n }\n\n references: Map<IGrammarBase, number> = new Map();\n\n protected abstract getEvents(): Array<{ type: string | string[]; handler: InteractionEventHandler }>;\n\n getStartState(): string {\n return null;\n }\n\n depend(grammar: IGrammarBase[] | IGrammarBase | string[] | string) {\n this.references.clear();\n array(grammar)\n .map(grammar => (isString(grammar) ? this.view.getGrammarById(grammar) : grammar))\n .filter(ref => !isNil(ref))\n .forEach(ref => {\n this.references.set(ref, (this.references.get(ref) ?? 0) + 1);\n });\n }\n\n parameters() {\n const params: any = {};\n this.references.forEach((count, ref) => {\n // upstream reference with no valid id will not be recorded in parameters\n if (isValid(ref.id())) {\n params[ref.id() as string] = ref.output();\n }\n });\n return params;\n }\n\n bind() {\n const events = this.getEvents();\n\n (events ?? []).forEach(evt => {\n if (evt.type && evt.handler) {\n if (isArray(evt.type)) {\n evt.type.forEach(evtType => {\n evtType && evtType !== 'none' && this.view.addEventListener(evtType, evt.handler);\n });\n } else {\n evt.type !== 'none' && this.view.addEventListener(evt.type, evt.handler);\n }\n }\n });\n }\n\n unbind() {\n // unbind events\n const events = this.getEvents();\n\n (events ?? []).forEach(evt => {\n if (evt.type && evt.handler) {\n if (isArray(evt.type)) {\n evt.type.forEach(evtType => {\n evtType && evtType !== 'none' && this.view.removeEventListener(evtType, evt.handler);\n });\n } else {\n evt.type !== 'none' && this.view.removeEventListener(evt.type, evt.handler);\n }\n }\n });\n }\n\n start(element: IElement | IGlyphElement) {\n // do nothing\n }\n\n reset(element?: IElement | IGlyphElement) {\n // do nothing\n }\n\n protected dispatchEvent(type: 'start' | 'reset' | 'update' | 'end', params: any) {\n this.view.emit(`${this.type}:${type}`, params);\n\n if (type === 'start' && this.options.onStart) {\n this.options.onStart(params);\n } else if (type === 'reset' && this.options.onReset) {\n this.options.onReset(params);\n } else if (type === 'update' && this.options.onUpdate) {\n this.options.onUpdate(params);\n } else if (type === 'end' && this.options.onEnd) {\n this.options.onEnd(params);\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/interactions/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["import { array, isArray, isNil, isString, isValid } from '@visactor/vutils';\nimport type {\n IBaseInteractionOptions,\n IElement,\n IGlyphElement,\n IGrammarBase,\n IView,\n InteractionEventHandler\n} from '../types';\n\nexport abstract class BaseInteraction<T extends IBaseInteractionOptions> {\n readonly view: IView;\n\n options: T;\n\n type: string;\n\n constructor(view: IView, options: T) {\n this.view = view;\n this.depend(options?.dependency);\n }\n\n references: Map<IGrammarBase, number> = new Map();\n\n protected abstract getEvents(): Array<{ type: string | string[]; handler: InteractionEventHandler }>;\n\n getStartState(): string {\n return null;\n }\n\n depend(grammar: IGrammarBase[] | IGrammarBase | string[] | string) {\n this.references.clear();\n array(grammar)\n .map(grammar => (isString(grammar) ? this.view.getGrammarById(grammar) : grammar))\n .filter(ref => !isNil(ref))\n .forEach(ref => {\n this.references.set(ref, (this.references.get(ref) ?? 0) + 1);\n });\n }\n\n parameters() {\n const params: any = {};\n this.references.forEach((count, ref) => {\n // upstream reference with no valid id will not be recorded in parameters\n if (isValid(ref.id())) {\n params[ref.id() as string] = ref.output();\n }\n });\n return params;\n }\n\n bind() {\n const events = this.getEvents();\n\n (events ?? []).forEach(evt => {\n if (evt.type && evt.handler) {\n if (isArray(evt.type)) {\n evt.type.forEach(evtType => {\n evtType && evtType !== 'none' && this.view.addEventListener(evtType, evt.handler);\n });\n } else {\n evt.type !== 'none' && this.view.addEventListener(evt.type, evt.handler);\n }\n }\n });\n }\n\n unbind() {\n // unbind events\n const events = this.getEvents();\n\n (events ?? []).forEach(evt => {\n if (evt.type && evt.handler) {\n if (isArray(evt.type)) {\n evt.type.forEach(evtType => {\n evtType && evtType !== 'none' && this.view.removeEventListener(evtType, evt.handler);\n });\n } else {\n evt.type !== 'none' && this.view.removeEventListener(evt.type, evt.handler);\n }\n }\n });\n }\n\n start(element: IElement | IGlyphElement) {\n // do nothing\n }\n\n reset(element?: IElement | IGlyphElement) {\n // do nothing\n }\n\n protected dispatchEvent(type: 'start' | 'reset' | 'update' | 'end', params: any) {\n this.view.emit(`${this.type}:${type}`, params);\n\n if (type === 'start' && this.options.onStart) {\n this.options.onStart(params);\n } else if (type === 'reset' && this.options.onReset) {\n this.options.onReset(params);\n } else if (type === 'update' && this.options.onUpdate) {\n this.options.onUpdate(params);\n } else if (type === 'end' && this.options.onEnd) {\n this.options.onEnd(params);\n }\n }\n}\n"]}
@@ -105,5 +105,4 @@ class BrushBase extends base_1.BaseInteraction {
105
105
  }
106
106
  }
107
107
 
108
- exports.BrushBase = BrushBase;
109
- //# sourceMappingURL=brush-base.js.map
108
+ exports.BrushBase = BrushBase;