@visactor/vstory 0.0.5 → 0.0.6

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 (404) hide show
  1. package/README.md +13 -0
  2. package/cjs/constants/character.d.ts +2 -1
  3. package/cjs/constants/character.js +1 -1
  4. package/cjs/constants/character.js.map +1 -1
  5. package/cjs/dsl/types/index.d.ts +1 -0
  6. package/cjs/dsl/types/index.js.map +1 -1
  7. package/cjs/dsl/utils/datum.js +2 -1
  8. package/cjs/dsl/utils/flicker.js +1 -2
  9. package/cjs/edit/const.d.ts +1 -3
  10. package/cjs/edit/const.js +1 -0
  11. package/cjs/edit/const.js.map +1 -1
  12. package/cjs/edit/edit-action.d.ts +9 -0
  13. package/cjs/edit/edit-action.js +61 -5
  14. package/cjs/edit/edit-action.js.map +1 -1
  15. package/cjs/edit/edit-component/base-selection.d.ts +8 -3
  16. package/cjs/edit/edit-component/base-selection.js +31 -5
  17. package/cjs/edit/edit-component/base-selection.js.map +1 -1
  18. package/cjs/edit/edit-component/box-selection.js +1 -1
  19. package/cjs/edit/edit-component/chart-selection.d.ts +15 -0
  20. package/cjs/edit/edit-component/chart-selection.js +39 -0
  21. package/cjs/edit/edit-component/chart-selection.js.map +1 -0
  22. package/cjs/edit/edit-component/common.d.ts +1 -11
  23. package/cjs/edit/edit-component/common.js +1 -30
  24. package/cjs/edit/edit-component/common.js.map +1 -1
  25. package/cjs/edit/edit-component/edit-control/richtext-control.d.ts +19 -0
  26. package/cjs/edit/edit-component/edit-control/richtext-control.js +34 -0
  27. package/cjs/edit/edit-component/edit-control/richtext-control.js.map +1 -0
  28. package/cjs/edit/edit-component/edit-control/richtext-transform-control.d.ts +2 -3
  29. package/cjs/edit/edit-component/edit-control/richtext-transform-control.js +30 -32
  30. package/cjs/edit/edit-component/edit-control/richtext-transform-control.js.map +1 -1
  31. package/cjs/edit/edit-component/edit-control/transform-control.d.ts +4 -2
  32. package/cjs/edit/edit-component/edit-control/transform-control.js +10 -6
  33. package/cjs/edit/edit-component/edit-control/transform-control.js.map +1 -1
  34. package/cjs/edit/edit-component/edit-control/transform-drag.d.ts +1 -0
  35. package/cjs/edit/edit-component/edit-control/transform-drag.js +4 -2
  36. package/cjs/edit/edit-component/edit-control/transform-drag.js.map +1 -1
  37. package/cjs/edit/edit-component/image-selection.d.ts +1 -2
  38. package/cjs/edit/edit-component/image-selection.js +3 -6
  39. package/cjs/edit/edit-component/image-selection.js.map +1 -1
  40. package/cjs/edit/edit-component/index.js +4 -5
  41. package/cjs/edit/edit-component/index.js.map +1 -1
  42. package/cjs/edit/edit-component/mixin/richtext.d.ts +21 -0
  43. package/cjs/edit/edit-component/mixin/richtext.js +26 -0
  44. package/cjs/edit/edit-component/mixin/richtext.js.map +1 -0
  45. package/cjs/edit/edit-component/rect-selection.d.ts +8 -12
  46. package/cjs/edit/edit-component/rect-selection.js +12 -17
  47. package/cjs/edit/edit-component/rect-selection.js.map +1 -1
  48. package/cjs/edit/edit-component/richtext-selection-common.d.ts +19 -0
  49. package/cjs/edit/edit-component/richtext-selection-common.js +35 -0
  50. package/cjs/edit/edit-component/richtext-selection-common.js.map +1 -0
  51. package/cjs/edit/edit-component/richtext-selection.d.ts +0 -2
  52. package/cjs/edit/edit-component/richtext-selection.js +0 -6
  53. package/cjs/edit/edit-component/richtext-selection.js.map +1 -1
  54. package/cjs/edit/edit-component/shape-selection.d.ts +11 -0
  55. package/cjs/edit/edit-component/shape-selection.js +36 -0
  56. package/cjs/edit/edit-component/shape-selection.js.map +1 -0
  57. package/cjs/edit/edit-component/text-selection.d.ts +0 -3
  58. package/cjs/edit/edit-component/text-selection.js +2 -9
  59. package/cjs/edit/edit-component/text-selection.js.map +1 -1
  60. package/cjs/edit/edit.d.ts +5 -2
  61. package/cjs/edit/edit.js +20 -5
  62. package/cjs/edit/edit.js.map +1 -1
  63. package/cjs/edit/interface.d.ts +6 -1
  64. package/cjs/edit/interface.js +3 -1
  65. package/cjs/edit/interface.js.map +1 -1
  66. package/cjs/index.d.ts +3 -0
  67. package/cjs/index.js +3 -1
  68. package/cjs/index.js.map +1 -1
  69. package/cjs/player/interface/player.js +1 -1
  70. package/cjs/player/interface/scheduler.js +1 -1
  71. package/cjs/player/player.js +6 -2
  72. package/cjs/player/player.js.map +1 -1
  73. package/cjs/player/processor/chart/common/chartAppear.d.ts +2 -2
  74. package/cjs/player/processor/chart/common/chartAppear.js.map +1 -1
  75. package/cjs/player/processor/chart/common/commonAppear.d.ts +3 -3
  76. package/cjs/player/processor/chart/common/commonAppear.js.map +1 -1
  77. package/cjs/player/processor/chart/component/axisAppear.d.ts +2 -2
  78. package/cjs/player/processor/chart/component/axisAppear.js.map +1 -1
  79. package/cjs/player/processor/chart/component/commonAppear.d.ts +3 -3
  80. package/cjs/player/processor/chart/component/commonAppear.js.map +1 -1
  81. package/cjs/player/processor/chart/component/labelAppear.d.ts +2 -2
  82. package/cjs/player/processor/chart/component/labelAppear.js.map +1 -1
  83. package/cjs/player/processor/chart/rankingBar/rankingBar.d.ts +29 -0
  84. package/cjs/player/processor/chart/rankingBar/rankingBar.js +54 -0
  85. package/cjs/player/processor/chart/rankingBar/rankingBar.js.map +1 -0
  86. package/cjs/player/processor/chart/seriesmark/commonTransformMarkAppear.d.ts +3 -3
  87. package/cjs/player/processor/chart/seriesmark/commonTransformMarkAppear.js.map +1 -1
  88. package/cjs/player/processor/chart/seriesmark/transformArcVisibility.d.ts +2 -2
  89. package/cjs/player/processor/chart/seriesmark/transformArcVisibility.js.map +1 -1
  90. package/cjs/player/processor/chart/seriesmark/transformLineVisibility.d.ts +2 -2
  91. package/cjs/player/processor/chart/seriesmark/transformLineVisibility.js.map +1 -1
  92. package/cjs/player/processor/chart/seriesmark/transformRectVisibility.d.ts +2 -2
  93. package/cjs/player/processor/chart/seriesmark/transformRectVisibility.js.map +1 -1
  94. package/cjs/player/processor/chart/seriesmark/transformSymbolVisibility.d.ts +2 -2
  95. package/cjs/player/processor/chart/seriesmark/transformSymbolVisibility.js.map +1 -1
  96. package/cjs/player/processor/chart/seriesmark/transformTextVisibility.d.ts +2 -2
  97. package/cjs/player/processor/chart/seriesmark/transformTextVisibility.js.map +1 -1
  98. package/cjs/player/processor/chart/vchart.d.ts +35 -24
  99. package/cjs/player/processor/chart/vchart.js +88 -60
  100. package/cjs/player/processor/chart/vchart.js.map +1 -1
  101. package/cjs/player/processor/common/bounce-processor.js +2 -3
  102. package/cjs/player/processor/common/bounce-processor.js.map +1 -1
  103. package/cjs/player/processor/common-processor.js +0 -2
  104. package/cjs/player/processor/component/common-component.js +21 -21
  105. package/cjs/player/processor/component/common-component.js.map +1 -1
  106. package/cjs/player/processor/interface/action-processor.d.ts +1 -1
  107. package/cjs/player/processor/interface/action-processor.js.map +1 -1
  108. package/cjs/player/processor/interface/common-action.d.ts +3 -2
  109. package/cjs/player/processor/interface/common-action.js.map +1 -1
  110. package/cjs/player/processor/interface/style-action.d.ts +4 -5
  111. package/cjs/player/processor/interface/style-action.js.map +1 -1
  112. package/cjs/player/processor/processor-item.js +1 -1
  113. package/cjs/player/processor/processor.js +1 -1
  114. package/cjs/player/processor/processor.js.map +1 -1
  115. package/cjs/player/processor/processorMap.d.ts +9 -0
  116. package/cjs/player/processor/processorMap.js +7 -1
  117. package/cjs/player/processor/processorMap.js.map +1 -1
  118. package/cjs/player/scheduler.js +12 -8
  119. package/cjs/player/scheduler.js.map +1 -1
  120. package/cjs/story/canvas/canvas.js +3 -4
  121. package/cjs/story/canvas/canvas.js.map +1 -1
  122. package/cjs/story/character/base/base.d.ts +4 -0
  123. package/cjs/story/character/base/base.js +1 -1
  124. package/cjs/story/character/base/base.js.map +1 -1
  125. package/cjs/story/character/chart/character.d.ts +15 -0
  126. package/cjs/story/character/chart/character.js +55 -19
  127. package/cjs/story/character/chart/character.js.map +1 -1
  128. package/cjs/story/character/chart/characters/rankingBar.d.ts +4 -0
  129. package/cjs/story/character/chart/characters/rankingBar.js +15 -0
  130. package/cjs/story/character/chart/characters/rankingBar.js.map +1 -0
  131. package/cjs/story/character/chart/graphic/vchart-graphic-picker.js +6 -8
  132. package/cjs/story/character/chart/graphic/vchart-graphic-picker.js.map +1 -1
  133. package/cjs/story/character/chart/graphic/vchart-graphic-render.js +6 -6
  134. package/cjs/story/character/chart/graphic/vchart-graphic-render.js.map +1 -1
  135. package/cjs/story/character/chart/graphic/vchart-graphic.d.ts +12 -2
  136. package/cjs/story/character/chart/graphic/vchart-graphic.js +77 -13
  137. package/cjs/story/character/chart/graphic/vchart-graphic.js.map +1 -1
  138. package/cjs/story/character/chart/runtime/common-spec.d.ts +2 -4
  139. package/cjs/story/character/chart/runtime/common-spec.js +0 -2
  140. package/cjs/story/character/chart/runtime/common-spec.js.map +1 -1
  141. package/cjs/story/character/chart/runtime/component-spec.d.ts +4 -3
  142. package/cjs/story/character/chart/runtime/component-spec.js +7 -5
  143. package/cjs/story/character/chart/runtime/component-spec.js.map +1 -1
  144. package/cjs/story/character/chart/temp/constant.d.ts +1 -0
  145. package/cjs/story/character/chart/temp/constant.js +2 -1
  146. package/cjs/story/character/chart/temp/constant.js.map +1 -1
  147. package/cjs/story/character/chart/temp/templates/bar.d.ts +20 -0
  148. package/cjs/story/character/chart/temp/templates/bar.js +31 -0
  149. package/cjs/story/character/chart/temp/templates/bar.js.map +1 -0
  150. package/cjs/story/character/chart/temp/templates/base-temp.d.ts +6 -4
  151. package/cjs/story/character/chart/temp/templates/base-temp.js +1 -1
  152. package/cjs/story/character/chart/temp/templates/base-temp.js.map +1 -1
  153. package/cjs/story/character/chart/temp/templates/ranking-bar-temp.d.ts +8 -0
  154. package/cjs/story/character/chart/temp/templates/ranking-bar-temp.js +22 -0
  155. package/cjs/story/character/chart/temp/templates/ranking-bar-temp.js.map +1 -0
  156. package/cjs/story/character/component/character-group/component-group-graphic-render.d.ts +2 -2
  157. package/cjs/story/character/component/character-group/component-group-graphic-render.js +3 -3
  158. package/cjs/story/character/component/character-group/component-group-graphic-render.js.map +1 -1
  159. package/cjs/story/character/component/character-group/component-group-graphic.d.ts +1 -1
  160. package/cjs/story/character/component/character-group/component-group-graphic.js +6 -4
  161. package/cjs/story/character/component/character-group/component-group-graphic.js.map +1 -1
  162. package/cjs/story/character/component/character.d.ts +5 -1
  163. package/cjs/story/character/component/character.js +18 -1
  164. package/cjs/story/character/component/character.js.map +1 -1
  165. package/cjs/story/character/component/characters/character-image.d.ts +3 -0
  166. package/cjs/story/character/component/characters/character-image.js +4 -0
  167. package/cjs/story/character/component/characters/character-image.js.map +1 -1
  168. package/cjs/story/character/component/characters/character-rect.d.ts +3 -0
  169. package/cjs/story/character/component/characters/character-rect.js +4 -0
  170. package/cjs/story/character/component/characters/character-rect.js.map +1 -1
  171. package/cjs/story/character/component/characters/character-shape.d.ts +4 -0
  172. package/cjs/story/character/component/characters/character-shape.js +15 -0
  173. package/cjs/story/character/component/characters/character-shape.js.map +1 -1
  174. package/cjs/story/character/component/graphic/graphic-base-text.d.ts +2 -1
  175. package/cjs/story/character/component/graphic/graphic-base-text.js +7 -2
  176. package/cjs/story/character/component/graphic/graphic-base-text.js.map +1 -1
  177. package/cjs/story/character/component/graphic/symbol.d.ts +3 -0
  178. package/cjs/story/character/component/graphic/symbol.js +17 -3
  179. package/cjs/story/character/component/graphic/symbol.js.map +1 -1
  180. package/cjs/story/character/dsl-interface.d.ts +2 -0
  181. package/cjs/story/character/dsl-interface.js.map +1 -1
  182. package/cjs/story/character/runtime-interface.d.ts +9 -4
  183. package/cjs/story/character/runtime-interface.js.map +1 -1
  184. package/cjs/story/character/visactor/character.d.ts +15 -0
  185. package/cjs/story/character/visactor/character.js +17 -1
  186. package/cjs/story/character/visactor/character.js.map +1 -1
  187. package/cjs/story/character/visactor/interface.js.map +1 -1
  188. package/cjs/story/index.js +5 -2
  189. package/cjs/story/index.js.map +1 -1
  190. package/cjs/story/interface/dsl-interface.d.ts +3 -2
  191. package/cjs/story/interface/dsl-interface.js.map +1 -1
  192. package/cjs/story/interface/runtime-interface.d.ts +2 -0
  193. package/cjs/story/interface/runtime-interface.js.map +1 -1
  194. package/cjs/story/story.js +3 -2
  195. package/cjs/story/story.js.map +1 -1
  196. package/cjs/story/utils/layout.d.ts +2 -1
  197. package/cjs/story/utils/layout.js +2 -2
  198. package/cjs/story/utils/layout.js.map +1 -1
  199. package/cjs/story/utils/vchart-pick.d.ts +115 -0
  200. package/cjs/story/utils/vchart-pick.js +109 -0
  201. package/cjs/story/utils/vchart-pick.js.map +1 -0
  202. package/dist/index.js +27003 -87350
  203. package/dist/index.min.js +3 -3
  204. package/es/constants/character.d.ts +2 -1
  205. package/es/constants/character.js +1 -1
  206. package/es/constants/character.js.map +1 -1
  207. package/es/dsl/types/index.d.ts +1 -0
  208. package/es/dsl/types/index.js.map +1 -1
  209. package/es/dsl/utils/datum.js +2 -1
  210. package/es/dsl/utils/flicker.js +1 -2
  211. package/es/edit/const.d.ts +1 -3
  212. package/es/edit/const.js +1 -0
  213. package/es/edit/const.js.map +1 -1
  214. package/es/edit/edit-action.d.ts +9 -0
  215. package/es/edit/edit-action.js +63 -5
  216. package/es/edit/edit-action.js.map +1 -1
  217. package/es/edit/edit-component/base-selection.d.ts +8 -3
  218. package/es/edit/edit-component/base-selection.js +32 -4
  219. package/es/edit/edit-component/base-selection.js.map +1 -1
  220. package/es/edit/edit-component/box-selection.js +1 -1
  221. package/es/edit/edit-component/chart-selection.d.ts +15 -0
  222. package/es/edit/edit-component/chart-selection.js +31 -0
  223. package/es/edit/edit-component/chart-selection.js.map +1 -0
  224. package/es/edit/edit-component/common.d.ts +1 -11
  225. package/es/edit/edit-component/common.js +1 -24
  226. package/es/edit/edit-component/common.js.map +1 -1
  227. package/es/edit/edit-component/edit-control/richtext-control.d.ts +19 -0
  228. package/es/edit/edit-component/edit-control/richtext-control.js +28 -0
  229. package/es/edit/edit-component/edit-control/richtext-control.js.map +1 -0
  230. package/es/edit/edit-component/edit-control/richtext-transform-control.d.ts +2 -3
  231. package/es/edit/edit-component/edit-control/richtext-transform-control.js +29 -34
  232. package/es/edit/edit-component/edit-control/richtext-transform-control.js.map +1 -1
  233. package/es/edit/edit-component/edit-control/transform-control.d.ts +4 -2
  234. package/es/edit/edit-component/edit-control/transform-control.js +10 -6
  235. package/es/edit/edit-component/edit-control/transform-control.js.map +1 -1
  236. package/es/edit/edit-component/edit-control/transform-drag.d.ts +1 -0
  237. package/es/edit/edit-component/edit-control/transform-drag.js +4 -2
  238. package/es/edit/edit-component/edit-control/transform-drag.js.map +1 -1
  239. package/es/edit/edit-component/image-selection.d.ts +1 -2
  240. package/es/edit/edit-component/image-selection.js +3 -6
  241. package/es/edit/edit-component/image-selection.js.map +1 -1
  242. package/es/edit/edit-component/index.js +7 -9
  243. package/es/edit/edit-component/index.js.map +1 -1
  244. package/es/edit/edit-component/mixin/richtext.d.ts +21 -0
  245. package/es/edit/edit-component/mixin/richtext.js +18 -0
  246. package/es/edit/edit-component/mixin/richtext.js.map +1 -0
  247. package/es/edit/edit-component/rect-selection.d.ts +8 -12
  248. package/es/edit/edit-component/rect-selection.js +13 -20
  249. package/es/edit/edit-component/rect-selection.js.map +1 -1
  250. package/es/edit/edit-component/richtext-selection-common.d.ts +19 -0
  251. package/es/edit/edit-component/richtext-selection-common.js +33 -0
  252. package/es/edit/edit-component/richtext-selection-common.js.map +1 -0
  253. package/es/edit/edit-component/richtext-selection.d.ts +0 -2
  254. package/es/edit/edit-component/richtext-selection.js +0 -6
  255. package/es/edit/edit-component/richtext-selection.js.map +1 -1
  256. package/es/edit/edit-component/shape-selection.d.ts +11 -0
  257. package/es/edit/edit-component/shape-selection.js +30 -0
  258. package/es/edit/edit-component/shape-selection.js.map +1 -0
  259. package/es/edit/edit-component/text-selection.d.ts +0 -3
  260. package/es/edit/edit-component/text-selection.js +1 -10
  261. package/es/edit/edit-component/text-selection.js.map +1 -1
  262. package/es/edit/edit.d.ts +5 -2
  263. package/es/edit/edit.js +21 -4
  264. package/es/edit/edit.js.map +1 -1
  265. package/es/edit/interface.d.ts +6 -1
  266. package/es/edit/interface.js +3 -1
  267. package/es/edit/interface.js.map +1 -1
  268. package/es/index.d.ts +3 -0
  269. package/es/index.js +7 -1
  270. package/es/index.js.map +1 -1
  271. package/es/player/interface/player.js +1 -1
  272. package/es/player/interface/scheduler.js +1 -1
  273. package/es/player/player.js +6 -2
  274. package/es/player/player.js.map +1 -1
  275. package/es/player/processor/chart/common/chartAppear.d.ts +2 -2
  276. package/es/player/processor/chart/common/chartAppear.js.map +1 -1
  277. package/es/player/processor/chart/common/commonAppear.d.ts +3 -3
  278. package/es/player/processor/chart/common/commonAppear.js.map +1 -1
  279. package/es/player/processor/chart/component/axisAppear.d.ts +2 -2
  280. package/es/player/processor/chart/component/axisAppear.js.map +1 -1
  281. package/es/player/processor/chart/component/commonAppear.d.ts +3 -3
  282. package/es/player/processor/chart/component/commonAppear.js.map +1 -1
  283. package/es/player/processor/chart/component/labelAppear.d.ts +2 -2
  284. package/es/player/processor/chart/component/labelAppear.js.map +1 -1
  285. package/es/player/processor/chart/rankingBar/rankingBar.d.ts +29 -0
  286. package/es/player/processor/chart/rankingBar/rankingBar.js +50 -0
  287. package/es/player/processor/chart/rankingBar/rankingBar.js.map +1 -0
  288. package/es/player/processor/chart/seriesmark/commonTransformMarkAppear.d.ts +3 -3
  289. package/es/player/processor/chart/seriesmark/commonTransformMarkAppear.js.map +1 -1
  290. package/es/player/processor/chart/seriesmark/transformArcVisibility.d.ts +2 -2
  291. package/es/player/processor/chart/seriesmark/transformArcVisibility.js.map +1 -1
  292. package/es/player/processor/chart/seriesmark/transformLineVisibility.d.ts +2 -2
  293. package/es/player/processor/chart/seriesmark/transformLineVisibility.js.map +1 -1
  294. package/es/player/processor/chart/seriesmark/transformRectVisibility.d.ts +2 -2
  295. package/es/player/processor/chart/seriesmark/transformRectVisibility.js.map +1 -1
  296. package/es/player/processor/chart/seriesmark/transformSymbolVisibility.d.ts +2 -2
  297. package/es/player/processor/chart/seriesmark/transformSymbolVisibility.js.map +1 -1
  298. package/es/player/processor/chart/seriesmark/transformTextVisibility.d.ts +2 -2
  299. package/es/player/processor/chart/seriesmark/transformTextVisibility.js.map +1 -1
  300. package/es/player/processor/chart/vchart.d.ts +35 -24
  301. package/es/player/processor/chart/vchart.js +89 -61
  302. package/es/player/processor/chart/vchart.js.map +1 -1
  303. package/es/player/processor/common/bounce-processor.js +2 -3
  304. package/es/player/processor/common/bounce-processor.js.map +1 -1
  305. package/es/player/processor/common-processor.js +0 -2
  306. package/es/player/processor/component/common-component.js +21 -21
  307. package/es/player/processor/component/common-component.js.map +1 -1
  308. package/es/player/processor/interface/action-processor.d.ts +1 -1
  309. package/es/player/processor/interface/action-processor.js.map +1 -1
  310. package/es/player/processor/interface/common-action.d.ts +3 -2
  311. package/es/player/processor/interface/common-action.js.map +1 -1
  312. package/es/player/processor/interface/style-action.d.ts +4 -5
  313. package/es/player/processor/interface/style-action.js.map +1 -1
  314. package/es/player/processor/processor-item.js +1 -1
  315. package/es/player/processor/processor.js +1 -1
  316. package/es/player/processor/processor.js.map +1 -1
  317. package/es/player/processor/processorMap.d.ts +9 -0
  318. package/es/player/processor/processorMap.js +8 -0
  319. package/es/player/processor/processorMap.js.map +1 -1
  320. package/es/player/scheduler.js +12 -8
  321. package/es/player/scheduler.js.map +1 -1
  322. package/es/story/canvas/canvas.js +3 -4
  323. package/es/story/canvas/canvas.js.map +1 -1
  324. package/es/story/character/base/base.d.ts +4 -0
  325. package/es/story/character/base/base.js +1 -1
  326. package/es/story/character/base/base.js.map +1 -1
  327. package/es/story/character/chart/character.d.ts +15 -0
  328. package/es/story/character/chart/character.js +58 -15
  329. package/es/story/character/chart/character.js.map +1 -1
  330. package/es/story/character/chart/characters/rankingBar.d.ts +4 -0
  331. package/es/story/character/chart/characters/rankingBar.js +14 -0
  332. package/es/story/character/chart/characters/rankingBar.js.map +1 -0
  333. package/es/story/character/chart/graphic/vchart-graphic-picker.js +6 -8
  334. package/es/story/character/chart/graphic/vchart-graphic-picker.js.map +1 -1
  335. package/es/story/character/chart/graphic/vchart-graphic-render.js +7 -7
  336. package/es/story/character/chart/graphic/vchart-graphic-render.js.map +1 -1
  337. package/es/story/character/chart/graphic/vchart-graphic.d.ts +12 -2
  338. package/es/story/character/chart/graphic/vchart-graphic.js +80 -12
  339. package/es/story/character/chart/graphic/vchart-graphic.js.map +1 -1
  340. package/es/story/character/chart/runtime/common-spec.d.ts +2 -4
  341. package/es/story/character/chart/runtime/common-spec.js +0 -2
  342. package/es/story/character/chart/runtime/common-spec.js.map +1 -1
  343. package/es/story/character/chart/runtime/component-spec.d.ts +4 -3
  344. package/es/story/character/chart/runtime/component-spec.js +7 -5
  345. package/es/story/character/chart/runtime/component-spec.js.map +1 -1
  346. package/es/story/character/chart/temp/constant.d.ts +1 -0
  347. package/es/story/character/chart/temp/constant.js +2 -1
  348. package/es/story/character/chart/temp/constant.js.map +1 -1
  349. package/es/story/character/chart/temp/templates/bar.d.ts +20 -0
  350. package/es/story/character/chart/temp/templates/bar.js +27 -0
  351. package/es/story/character/chart/temp/templates/bar.js.map +1 -0
  352. package/es/story/character/chart/temp/templates/base-temp.d.ts +6 -4
  353. package/es/story/character/chart/temp/templates/base-temp.js +1 -1
  354. package/es/story/character/chart/temp/templates/base-temp.js.map +1 -1
  355. package/es/story/character/chart/temp/templates/ranking-bar-temp.d.ts +8 -0
  356. package/es/story/character/chart/temp/templates/ranking-bar-temp.js +18 -0
  357. package/es/story/character/chart/temp/templates/ranking-bar-temp.js.map +1 -0
  358. package/es/story/character/component/character-group/component-group-graphic-render.d.ts +2 -2
  359. package/es/story/character/component/character-group/component-group-graphic-render.js +4 -4
  360. package/es/story/character/component/character-group/component-group-graphic-render.js.map +1 -1
  361. package/es/story/character/component/character-group/component-group-graphic.d.ts +1 -1
  362. package/es/story/character/component/character-group/component-group-graphic.js +5 -3
  363. package/es/story/character/component/character-group/component-group-graphic.js.map +1 -1
  364. package/es/story/character/component/character.d.ts +5 -1
  365. package/es/story/character/component/character.js +18 -1
  366. package/es/story/character/component/character.js.map +1 -1
  367. package/es/story/character/component/characters/character-image.d.ts +3 -0
  368. package/es/story/character/component/characters/character-image.js +4 -0
  369. package/es/story/character/component/characters/character-image.js.map +1 -1
  370. package/es/story/character/component/characters/character-rect.d.ts +3 -0
  371. package/es/story/character/component/characters/character-rect.js +4 -0
  372. package/es/story/character/component/characters/character-rect.js.map +1 -1
  373. package/es/story/character/component/characters/character-shape.d.ts +4 -0
  374. package/es/story/character/component/characters/character-shape.js +15 -0
  375. package/es/story/character/component/characters/character-shape.js.map +1 -1
  376. package/es/story/character/component/graphic/graphic-base-text.d.ts +2 -1
  377. package/es/story/character/component/graphic/graphic-base-text.js +7 -2
  378. package/es/story/character/component/graphic/graphic-base-text.js.map +1 -1
  379. package/es/story/character/component/graphic/symbol.d.ts +3 -0
  380. package/es/story/character/component/graphic/symbol.js +17 -2
  381. package/es/story/character/component/graphic/symbol.js.map +1 -1
  382. package/es/story/character/dsl-interface.d.ts +2 -0
  383. package/es/story/character/dsl-interface.js.map +1 -1
  384. package/es/story/character/runtime-interface.d.ts +9 -4
  385. package/es/story/character/runtime-interface.js.map +1 -1
  386. package/es/story/character/visactor/character.d.ts +15 -0
  387. package/es/story/character/visactor/character.js +18 -0
  388. package/es/story/character/visactor/character.js.map +1 -1
  389. package/es/story/character/visactor/interface.js.map +1 -1
  390. package/es/story/index.js +7 -3
  391. package/es/story/index.js.map +1 -1
  392. package/es/story/interface/dsl-interface.d.ts +3 -2
  393. package/es/story/interface/dsl-interface.js.map +1 -1
  394. package/es/story/interface/runtime-interface.d.ts +2 -0
  395. package/es/story/interface/runtime-interface.js.map +1 -1
  396. package/es/story/story.js +3 -2
  397. package/es/story/story.js.map +1 -1
  398. package/es/story/utils/layout.d.ts +2 -1
  399. package/es/story/utils/layout.js +2 -2
  400. package/es/story/utils/layout.js.map +1 -1
  401. package/es/story/utils/vchart-pick.d.ts +115 -0
  402. package/es/story/utils/vchart-pick.js +115 -0
  403. package/es/story/utils/vchart-pick.js.map +1 -0
  404. package/package.json +11 -10
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/edit/edit-component/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC1D,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClD,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAC1D,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClD,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IAC1D,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;AAChE,CAAC","file":"index.js","sourcesContent":["import { CommonEditComponent } from './common';\nimport { BoxSelection } from './box-selection';\nimport { ImageSelection } from './image-selection';\nimport { TextSelection } from './text-selection';\nimport { RichTextSelection } from './richtext-selection';\nimport { RectSelection } from './rect-selection';\nimport { Edit } from '../edit';\n\nexport function loadAllSelection() {\n Edit.registerEditComponent('common', CommonEditComponent);\n Edit.registerEditComponent('text', TextSelection);\n Edit.registerEditComponent('richtext', RichTextSelection);\n Edit.registerEditComponent('rect', RectSelection);\n Edit.registerEditComponent('box-selection', BoxSelection);\n Edit.registerEditComponent('image-selection', ImageSelection);\n}\n"]}
1
+ {"version":3,"sources":["../src/edit/edit-component/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,UAAU,gBAAgB;IAI9B,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClD,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACpD,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACpD,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACpD,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;AAC5D,CAAC","file":"index.js","sourcesContent":["// import { CommonEditComponent } from './common';\nimport { BoxSelection } from './box-selection';\nimport { ImageSelection } from './image-selection';\nimport { RectSelection } from './rect-selection';\nimport { ChartSelection } from './chart-selection';\nimport { Edit } from '../edit';\nimport { ShapeSelection } from './shape-selection';\n\nexport function loadAllSelection() {\n // Edit.registerEditComponent('common', CommonEditComponent);\n // Edit.registerEditComponent('text', TextSelection);\n // Edit.registerEditComponent('richtext', RichTextSelection);\n Edit.registerEditComponent('rect', RectSelection);\n Edit.registerEditComponent('image', ImageSelection);\n Edit.registerEditComponent('shape', ShapeSelection);\n Edit.registerEditComponent('chart', ChartSelection);\n Edit.registerEditComponent('box-selection', BoxSelection);\n}\n"]}
@@ -0,0 +1,21 @@
1
+ import type { Edit } from './../../edit';
2
+ import type { IRichText } from '@visactor/vrender-core';
3
+ import type { ICharacter } from '../../../story/character';
4
+ import type { IEditActionInfo, IEditComponent } from '../../interface';
5
+ import { RichTextControl } from '../edit-control/richtext-control';
6
+ import type { ITransformControl } from '../edit-control/transform-control';
7
+ export interface RichTextMixin extends IEditComponent {
8
+ edit: Edit;
9
+ _actionInfo: IEditActionInfo;
10
+ _isSelection: boolean;
11
+ isEditing: boolean;
12
+ _layoutComponent?: ITransformControl;
13
+ _activeCharacter?: ICharacter | null;
14
+ }
15
+ export declare class RichTextMixin {
16
+ _richTextControl: RichTextControl;
17
+ _textClickHandlerTemp: any;
18
+ _createRichControl(character: ICharacter, text: IRichText): void;
19
+ _releaseRichControl(character: ICharacter, text: IRichText): void;
20
+ handlerTextClick(): void;
21
+ }
@@ -0,0 +1,18 @@
1
+ import { RichTextControl } from "../edit-control/richtext-control";
2
+
3
+ export class RichTextMixin {
4
+ _createRichControl(character, text) {
5
+ this._richTextControl = new RichTextControl(this.edit, character, text), this._textClickHandlerTemp = this.handlerTextClick.bind(this),
6
+ text.addEventListener("pointerdown", this._textClickHandlerTemp);
7
+ }
8
+ _releaseRichControl(character, text) {
9
+ var _a;
10
+ null === (_a = this._richTextControl) || void 0 === _a || _a.release(), text && text.removeEventListener("pointerdown", this._textClickHandlerTemp),
11
+ this._richTextControl = null, this._textClickHandlerTemp = null;
12
+ }
13
+ handlerTextClick() {
14
+ var _a;
15
+ null === (_a = this._richTextControl) || void 0 === _a || _a.startEdit();
16
+ }
17
+ }
18
+ //# sourceMappingURL=richtext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/edit/edit-component/mixin/richtext.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAYnE,MAAM,OAAO,aAAa;IAIxB,kBAAkB,CAAC,SAAqB,EAAE,IAAe;QACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACnE,CAAC;IAED,mBAAmB,CAAC,SAAqB,EAAE,IAAe;;QACxD,MAAA,IAAI,CAAC,gBAAgB,0CAAE,OAAO,EAAE,CAAC;QACjC,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;SACrE;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACpC,CAAC;IAED,gBAAgB;;QACd,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,EAAE,CAAC;IACrC,CAAC;CACF","file":"richtext.js","sourcesContent":["import type { Edit } from './../../edit';\nimport type { IRichText } from '@visactor/vrender-core';\nimport type { ICharacter } from '../../../story/character';\nimport type { IEditActionInfo, IEditComponent } from '../../interface';\nimport { RichTextControl } from '../edit-control/richtext-control';\nimport type { ITransformControl } from '../edit-control/transform-control';\n\nexport interface RichTextMixin extends IEditComponent {\n edit: Edit;\n _actionInfo: IEditActionInfo;\n _isSelection: boolean;\n isEditing: boolean;\n _layoutComponent?: ITransformControl;\n _activeCharacter?: ICharacter | null;\n}\n\nexport class RichTextMixin {\n _richTextControl: RichTextControl;\n _textClickHandlerTemp: any;\n\n _createRichControl(character: ICharacter, text: IRichText) {\n this._richTextControl = new RichTextControl(this.edit, character, text);\n this._textClickHandlerTemp = this.handlerTextClick.bind(this);\n text.addEventListener('pointerdown', this._textClickHandlerTemp);\n }\n\n _releaseRichControl(character: ICharacter, text: IRichText) {\n this._richTextControl?.release();\n if (text) {\n text.removeEventListener('pointerdown', this._textClickHandlerTemp);\n }\n this._richTextControl = null;\n this._textClickHandlerTemp = null;\n }\n\n handlerTextClick() {\n this._richTextControl?.startEdit();\n }\n}\n"]}
@@ -1,18 +1,14 @@
1
- import type { IEditSelectionInfo } from '../interface';
2
- import { type IEditComponent } from '../interface';
3
- import type { Edit } from '../edit';
4
- import { BaseSelection } from './base-selection';
5
- import type { TransformAttributes, ITransformControl, IUpdateParams } from './edit-control/transform-control';
6
1
  import type { VRenderPointerEvent } from '../../interface/type';
7
- export declare class RectSelection extends BaseSelection implements IEditComponent {
8
- readonly edit: Edit;
2
+ import type { IEditActionInfo } from '../interface';
3
+ import { type IEditComponent } from '../interface';
4
+ import type { IUpdateParams } from './edit-control/transform-control';
5
+ import { RichTextSelectionCommon } from './richtext-selection-common';
6
+ export declare class RectSelection extends RichTextSelectionCommon implements IEditComponent {
9
7
  readonly level = 3;
10
8
  readonly type: string;
11
- constructor(edit: Edit);
12
- protected _createLayoutComponent(attributes: Partial<TransformAttributes>): ITransformControl;
9
+ readonly editCharacterType: string;
10
+ startEdit(actionInfo: IEditActionInfo): void;
13
11
  editEnd(): void;
14
- checkAction(actionInfo: IEditSelectionInfo): boolean;
15
- checkActionWhileEditing(actionInfo: IEditSelectionInfo): boolean;
12
+ handlerContentClick: (e: any) => void;
16
13
  protected handlerTransformChange(data: IUpdateParams, event?: VRenderPointerEvent): void;
17
- checkActionWhileNoEditing(actionInfo: IEditSelectionInfo): boolean;
18
14
  }
@@ -1,31 +1,24 @@
1
- import { EditActionEnum } from "../interface";
1
+ import { StoryComponentType } from "../../constants/character";
2
2
 
3
- import { BaseSelection } from "./base-selection";
3
+ import { RichTextSelectionCommon } from "./richtext-selection-common";
4
4
 
5
- import { RichTextTransformControl } from "./edit-control/richtext-transform-control";
6
-
7
- export class RectSelection extends BaseSelection {
8
- constructor(edit) {
9
- super(edit), this.edit = edit, this.level = 3, this.type = "rect";
5
+ export class RectSelection extends RichTextSelectionCommon {
6
+ constructor() {
7
+ super(...arguments), this.level = 3, this.type = "rect", this.editCharacterType = StoryComponentType.RECT,
8
+ this.handlerContentClick = e => {
9
+ this._layoutComponent.handleDragMouseDown(e), this.endRichTextEdit();
10
+ };
10
11
  }
11
- _createLayoutComponent(attributes) {
12
- return new RichTextTransformControl(this, attributes);
12
+ startEdit(actionInfo) {
13
+ super.startEdit(actionInfo);
14
+ this._actionInfo.character.graphic.graphic.addEventListener("pointerdown", this.handlerContentClick);
13
15
  }
14
16
  editEnd() {
17
+ this._actionInfo.character.graphic.graphic.removeEventListener("pointerdown", this.handlerContentClick),
15
18
  super.editEnd();
16
19
  }
17
- checkAction(actionInfo) {
18
- return this.isEditing ? this.checkActionWhileEditing(actionInfo) : this.checkActionWhileNoEditing(actionInfo);
19
- }
20
- checkActionWhileEditing(actionInfo) {
21
- return (actionInfo.type !== EditActionEnum.singleSelection || actionInfo.detail.graphicType === this.type) && !!("pointerdown" !== actionInfo.event.type || actionInfo.event.target && actionInfo.event.target.parent === this._layoutComponent);
22
- }
23
20
  handlerTransformChange(data, event) {
24
- this._activeCharacter && this._activeCharacter.setAttributes(data);
25
- }
26
- checkActionWhileNoEditing(actionInfo) {
27
- return actionInfo.type === EditActionEnum.singleSelection && actionInfo.detail.graphicType === this.type && (this.startEdit(actionInfo),
28
- !0);
21
+ return super.handlerTransformChange(data, event);
29
22
  }
30
23
  }
31
24
  //# sourceMappingURL=rect-selection.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/edit/edit-component/rect-selection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAA6C,MAAM,cAAc,CAAC;AAEzF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAErF,MAAM,OAAO,aAAc,SAAQ,aAAa;IAI9C,YAA4B,IAAU;QACpC,KAAK,CAAC,IAAI,CAAC,CAAC;QADc,SAAI,GAAJ,IAAI,CAAM;QAH7B,UAAK,GAAG,CAAC,CAAC;QACV,SAAI,GAAW,MAAM,CAAC;IAI/B,CAAC;IAES,sBAAsB,CAAC,UAAwC;QACvE,OAAO,IAAI,wBAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IACD,WAAW,CAAC,UAA8B;QACxC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;SACjD;QACD,OAAO,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,uBAAuB,CAAC,UAA8B;QAEpD,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,EAAE;YACrG,OAAO,KAAK,CAAC;SACd;QAED,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,IAAK,UAAU,CAAC,KAAK,CAAC,MAAc,CAAC,MAAM,KAAK,IAAI,CAAC,gBAAgB,EAAE;gBACjG,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,sBAAsB,CAAC,IAAmB,EAAE,KAA2B;QAC/E,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,yBAAyB,CAAC,UAA8B;QACtD,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,EAAE;YACrG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAE3B,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF","file":"rect-selection.js","sourcesContent":["import type { IEditSelectionInfo } from '../interface';\nimport { EditActionEnum, type IEditActionInfo, type IEditComponent } from '../interface';\nimport type { Edit } from '../edit';\nimport { BaseSelection } from './base-selection';\nimport type { TransformAttributes, ITransformControl, IUpdateParams } from './edit-control/transform-control';\nimport { TransformControl } from './edit-control/transform-control';\nimport type { VRenderPointerEvent } from '../../interface/type';\nimport { RichTextTransformControl } from './edit-control/richtext-transform-control';\n\nexport class RectSelection extends BaseSelection implements IEditComponent {\n readonly level = 3;\n readonly type: string = 'rect';\n\n constructor(public readonly edit: Edit) {\n super(edit);\n }\n\n protected _createLayoutComponent(attributes: Partial<TransformAttributes>): ITransformControl {\n return new RichTextTransformControl(this, attributes);\n }\n\n editEnd(): void {\n super.editEnd();\n return;\n }\n checkAction(actionInfo: IEditSelectionInfo): boolean {\n if (this.isEditing) {\n return this.checkActionWhileEditing(actionInfo);\n }\n return this.checkActionWhileNoEditing(actionInfo);\n }\n\n checkActionWhileEditing(actionInfo: IEditSelectionInfo): boolean {\n // 点到其他内容了,return false\n if (actionInfo.type === EditActionEnum.singleSelection && actionInfo.detail.graphicType !== this.type) {\n return false;\n }\n\n if (actionInfo.event.type === 'pointerdown') {\n if (!actionInfo.event.target || (actionInfo.event.target as any).parent !== this._layoutComponent) {\n return false;\n }\n }\n return true;\n }\n\n protected handlerTransformChange(data: IUpdateParams, event?: VRenderPointerEvent): void {\n if (this._activeCharacter) {\n this._activeCharacter.setAttributes(data);\n }\n }\n\n checkActionWhileNoEditing(actionInfo: IEditSelectionInfo): boolean {\n if (actionInfo.type === EditActionEnum.singleSelection && actionInfo.detail.graphicType === this.type) {\n this.startEdit(actionInfo);\n // graphic\n return true;\n }\n\n return false;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/edit/edit-component/rect-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAK/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,MAAM,OAAO,aAAc,SAAQ,uBAAuB;IAA1D;;QACW,UAAK,GAAG,CAAC,CAAC;QACV,SAAI,GAAW,MAAM,CAAC;QACtB,sBAAiB,GAAW,kBAAkB,CAAC,IAAI,CAAC;QAe7D,wBAAmB,GAAG,CAAC,CAAM,EAAE,EAAE;YAC/B,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,CAAC;IAKJ,CAAC;IArBC,SAAS,CAAC,UAA2B;QACnC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE5B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QAC7C,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACtF,CAAC;IACD,OAAO;QAEL,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QAC7C,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvF,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAOS,sBAAsB,CAAC,IAAmB,EAAE,KAA2B;QAC/E,OAAO,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;CACF","file":"rect-selection.js","sourcesContent":["import { StoryComponentType } from '../../constants/character';\nimport type { VRenderPointerEvent } from '../../interface/type';\nimport type { IEditActionInfo } from '../interface';\nimport { type IEditComponent } from '../interface';\nimport type { IUpdateParams } from './edit-control/transform-control';\nimport { RichTextSelectionCommon } from './richtext-selection-common';\n\nexport class RectSelection extends RichTextSelectionCommon implements IEditComponent {\n readonly level = 3;\n readonly type: string = 'rect';\n readonly editCharacterType: string = StoryComponentType.RECT;\n\n startEdit(actionInfo: IEditActionInfo) {\n super.startEdit(actionInfo);\n // @ts-ignore;\n const character = this._actionInfo.character;\n character.graphic.graphic.addEventListener('pointerdown', this.handlerContentClick);\n }\n editEnd() {\n // @ts-ignore;\n const character = this._actionInfo.character;\n character.graphic.graphic.removeEventListener('pointerdown', this.handlerContentClick);\n super.editEnd();\n }\n\n handlerContentClick = (e: any) => {\n this._layoutComponent.handleDragMouseDown(e);\n this.endRichTextEdit();\n };\n\n protected handlerTransformChange(data: IUpdateParams, event?: VRenderPointerEvent): void {\n return super.handlerTransformChange(data, event);\n }\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import type { IEditActionInfo } from '../interface';
2
+ import { type IEditComponent } from '../interface';
3
+ import { BaseSelection } from './base-selection';
4
+ import type { IRichText } from '@visactor/vrender-core';
5
+ import { RichTextMixin } from './mixin/richtext';
6
+ export interface RichTextSelectionCommon extends Pick<RichTextMixin, '_richTextControl' | '_createRichControl' | '_releaseRichControl'>, IEditComponent {
7
+ }
8
+ export declare class RichTextSelectionCommon extends BaseSelection implements IEditComponent {
9
+ readonly level = 3;
10
+ readonly type: string;
11
+ readonly editCharacterType: string;
12
+ protected _getRichText(): {
13
+ character: any;
14
+ text: IRichText;
15
+ };
16
+ startEdit(actionInfo: IEditActionInfo): void;
17
+ editEnd(): void;
18
+ endRichTextEdit: () => void;
19
+ }
@@ -0,0 +1,33 @@
1
+ import { BaseSelection } from "./base-selection";
2
+
3
+ import { mixin } from "@visactor/vutils";
4
+
5
+ import { RichTextMixin } from "./mixin/richtext";
6
+
7
+ export class RichTextSelectionCommon extends BaseSelection {
8
+ constructor() {
9
+ super(...arguments), this.level = 3, this.endRichTextEdit = () => {
10
+ var _a;
11
+ null === (_a = this._richTextControl) || void 0 === _a || _a.endEdit();
12
+ };
13
+ }
14
+ _getRichText() {
15
+ const character = this._actionInfo.character;
16
+ return {
17
+ character: character,
18
+ text: character.textGraphic
19
+ };
20
+ }
21
+ startEdit(actionInfo) {
22
+ super.startEdit(actionInfo);
23
+ const {character: character, text: text} = this._getRichText();
24
+ this._createRichControl(character, text);
25
+ }
26
+ editEnd() {
27
+ const {character: character, text: text} = this._getRichText();
28
+ this._releaseRichControl(character, text), super.editEnd();
29
+ }
30
+ }
31
+
32
+ mixin(RichTextSelectionCommon, RichTextMixin);
33
+ //# sourceMappingURL=richtext-selection-common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/edit/edit-component/richtext-selection-common.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMjD,MAAM,OAAO,uBAAwB,SAAQ,aAAa;IAA1D;;QACW,UAAK,GAAG,CAAC,CAAC;QAsBnB,oBAAe,GAAG,GAAG,EAAE;;YACrB,MAAA,IAAI,CAAC,gBAAgB,0CAAE,OAAO,EAAE,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;IArBW,YAAY;QAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,WAAwB,CAAC;QAChD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,UAA2B;QACnC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChD,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO;QACL,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChD,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1C,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;CAKF;AAED,KAAK,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC","file":"richtext-selection-common.js","sourcesContent":["import type { IEditActionInfo } from '../interface';\nimport { type IEditComponent } from '../interface';\nimport { BaseSelection } from './base-selection';\nimport type { IRichText } from '@visactor/vrender-core';\nimport { mixin } from '@visactor/vutils';\nimport { RichTextMixin } from './mixin/richtext';\n\nexport interface RichTextSelectionCommon\n extends Pick<RichTextMixin, '_richTextControl' | '_createRichControl' | '_releaseRichControl'>,\n IEditComponent {}\n\nexport class RichTextSelectionCommon extends BaseSelection implements IEditComponent {\n readonly level = 3;\n readonly type: string;\n readonly editCharacterType: string;\n\n protected _getRichText() {\n // @ts-ignore\n const character = this._actionInfo.character;\n const text = character.textGraphic as IRichText;\n return { character, text };\n }\n\n startEdit(actionInfo: IEditActionInfo) {\n super.startEdit(actionInfo);\n const { character, text } = this._getRichText();\n this._createRichControl(character, text);\n }\n editEnd() {\n const { character, text } = this._getRichText();\n this._releaseRichControl(character, text);\n super.editEnd();\n }\n\n endRichTextEdit = () => {\n this._richTextControl?.endEdit();\n };\n}\n\nmixin(RichTextSelectionCommon, RichTextMixin);\n"]}
@@ -9,8 +9,6 @@ export declare class RichTextSelection extends BaseSelection implements IEditCom
9
9
  readonly type: string;
10
10
  constructor(edit: Edit);
11
11
  protected _createLayoutComponent(attributes: Partial<TransformAttributes>): ITransformControl;
12
- editEnd(): void;
13
- checkAction(actionInfo: IEditSelectionInfo | IEditActionInfo): boolean;
14
12
  checkActionWhileEditing(actionInfo: IEditSelectionInfo | IEditActionInfo): boolean;
15
13
  checkActionWhileNoEditing(actionInfo: IEditSelectionInfo | IEditActionInfo): boolean;
16
14
  startEdit(actionInfo: IEditActionInfo): void;
@@ -11,12 +11,6 @@ export class RichTextSelection extends BaseSelection {
11
11
  _createLayoutComponent(attributes) {
12
12
  return new RichTextTransformControl(this, attributes);
13
13
  }
14
- editEnd() {
15
- super.editEnd();
16
- }
17
- checkAction(actionInfo) {
18
- return this.isEditing ? this.checkActionWhileEditing(actionInfo) : this.checkActionWhileNoEditing(actionInfo);
19
- }
20
14
  checkActionWhileEditing(actionInfo) {
21
15
  return (actionInfo.type !== EditActionEnum.singleSelection || actionInfo.detail.graphicType === this.type) && !!("pointerdown" !== actionInfo.event.type || actionInfo.event.target && actionInfo.event.target.parent === this._layoutComponent);
22
16
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/edit/edit-component/richtext-selection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAA6C,MAAM,cAAc,CAAC;AAGzF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAErF,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAIlD,YAA4B,IAAU;QACpC,KAAK,CAAC,IAAI,CAAC,CAAC;QADc,SAAI,GAAJ,IAAI,CAAM;QAH7B,UAAK,GAAG,CAAC,CAAC;QACV,SAAI,GAAW,UAAU,CAAC;IAInC,CAAC;IAES,sBAAsB,CAAC,UAAwC;QACvE,OAAO,IAAI,wBAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IACD,WAAW,CAAC,UAAgD;QAC1D,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;SACjD;QACD,OAAO,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,uBAAuB,CAAC,UAAgD;QAEtE,IACE,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;YACjD,UAAiC,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,EACnE;YACA,OAAO,KAAK,CAAC;SACd;QAED,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,IAAK,UAAU,CAAC,KAAK,CAAC,MAAc,CAAC,MAAM,KAAK,IAAI,CAAC,gBAAgB,EAAE;gBACjG,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAyB,CAAC,UAAgD;QACxE,IACE,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;YACjD,UAAiC,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,EACnE;YACA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAE3B,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,CAAC,UAA2B;QACnC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAClB,IAAI,EAAE,cAAc;YACpB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,eAAe,EAAE,CAAC,MAAW,EAAE,EAAE;YAEjC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF","file":"richtext-selection.js","sourcesContent":["import type { IEditSelectionInfo } from '../interface';\nimport { EditActionEnum, type IEditActionInfo, type IEditComponent } from '../interface';\nimport { StoryEvent } from '../../story/interface/runtime-interface';\nimport type { Edit } from '../edit';\nimport { BaseSelection } from './base-selection';\nimport type { TransformAttributes, ITransformControl } from './edit-control/transform-control';\nimport { RichTextTransformControl } from './edit-control/richtext-transform-control';\n\nexport class RichTextSelection extends BaseSelection implements IEditComponent {\n readonly level = 3;\n readonly type: string = 'richtext';\n\n constructor(public readonly edit: Edit) {\n super(edit);\n }\n\n protected _createLayoutComponent(attributes: Partial<TransformAttributes>): ITransformControl {\n return new RichTextTransformControl(this, attributes);\n }\n\n editEnd(): void {\n super.editEnd();\n return;\n }\n checkAction(actionInfo: IEditSelectionInfo | IEditActionInfo): boolean {\n if (this.isEditing) {\n return this.checkActionWhileEditing(actionInfo);\n }\n return this.checkActionWhileNoEditing(actionInfo);\n }\n\n checkActionWhileEditing(actionInfo: IEditSelectionInfo | IEditActionInfo): boolean {\n // 点到其他内容了,return false\n if (\n actionInfo.type === EditActionEnum.singleSelection &&\n (actionInfo as IEditSelectionInfo).detail.graphicType !== this.type\n ) {\n return false;\n }\n\n if (actionInfo.event.type === 'pointerdown') {\n if (!actionInfo.event.target || (actionInfo.event.target as any).parent !== this._layoutComponent) {\n return false;\n }\n }\n return true;\n }\n\n checkActionWhileNoEditing(actionInfo: IEditSelectionInfo | IEditActionInfo): boolean {\n if (\n actionInfo.type === EditActionEnum.singleSelection &&\n (actionInfo as IEditSelectionInfo).detail.graphicType === this.type\n ) {\n this.startEdit(actionInfo);\n // graphic\n return true;\n }\n\n return false;\n }\n\n startEdit(actionInfo: IEditActionInfo) {\n super.startEdit(actionInfo);\n this.edit.startEdit({\n type: 'boxSelection',\n actionInfo: this._actionInfo,\n updateCharacter: (params: any) => {\n // nothing 不支持任何修改\n }\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/edit/edit-component/richtext-selection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAA6C,MAAM,cAAc,CAAC;AAEzF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAErF,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAIlD,YAA4B,IAAU;QACpC,KAAK,CAAC,IAAI,CAAC,CAAC;QADc,SAAI,GAAJ,IAAI,CAAM;QAH7B,UAAK,GAAG,CAAC,CAAC;QACV,SAAI,GAAW,UAAU,CAAC;IAInC,CAAC;IAES,sBAAsB,CAAC,UAAwC;QACvE,OAAO,IAAI,wBAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IAED,uBAAuB,CAAC,UAAgD;QAEtE,IACE,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;YACjD,UAAiC,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,EACnE;YACA,OAAO,KAAK,CAAC;SACd;QAED,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,IAAK,UAAU,CAAC,KAAK,CAAC,MAAc,CAAC,MAAM,KAAK,IAAI,CAAC,gBAAgB,EAAE;gBACjG,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAyB,CAAC,UAAgD;QACxE,IACE,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;YACjD,UAAiC,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,EACnE;YACA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAE3B,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,CAAC,UAA2B;QACnC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAClB,IAAI,EAAE,cAAc;YACpB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,eAAe,EAAE,CAAC,MAAW,EAAE,EAAE;YAEjC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF","file":"richtext-selection.js","sourcesContent":["import type { IEditSelectionInfo } from '../interface';\nimport { EditActionEnum, type IEditActionInfo, type IEditComponent } from '../interface';\nimport type { Edit } from '../edit';\nimport { BaseSelection } from './base-selection';\nimport type { TransformAttributes, ITransformControl } from './edit-control/transform-control';\nimport { RichTextTransformControl } from './edit-control/richtext-transform-control';\n\nexport class RichTextSelection extends BaseSelection implements IEditComponent {\n readonly level = 3;\n readonly type: string = 'richtext';\n\n constructor(public readonly edit: Edit) {\n super(edit);\n }\n\n protected _createLayoutComponent(attributes: Partial<TransformAttributes>): ITransformControl {\n return new RichTextTransformControl(this, attributes);\n }\n\n checkActionWhileEditing(actionInfo: IEditSelectionInfo | IEditActionInfo): boolean {\n // 点到其他内容了,return false\n if (\n actionInfo.type === EditActionEnum.singleSelection &&\n (actionInfo as IEditSelectionInfo).detail.graphicType !== this.type\n ) {\n return false;\n }\n\n if (actionInfo.event.type === 'pointerdown') {\n if (!actionInfo.event.target || (actionInfo.event.target as any).parent !== this._layoutComponent) {\n return false;\n }\n }\n return true;\n }\n\n checkActionWhileNoEditing(actionInfo: IEditSelectionInfo | IEditActionInfo): boolean {\n if (\n actionInfo.type === EditActionEnum.singleSelection &&\n (actionInfo as IEditSelectionInfo).detail.graphicType === this.type\n ) {\n this.startEdit(actionInfo);\n // graphic\n return true;\n }\n\n return false;\n }\n\n startEdit(actionInfo: IEditActionInfo) {\n super.startEdit(actionInfo);\n this.edit.startEdit({\n type: 'boxSelection',\n actionInfo: this._actionInfo,\n updateCharacter: (params: any) => {\n // nothing 不支持任何修改\n }\n });\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import type { VRenderPointerEvent } from '../../interface/type';
2
+ import { type IEditComponent } from '../interface';
3
+ import type { IUpdateParams } from './edit-control/transform-control';
4
+ import { RectSelection } from './rect-selection';
5
+ export declare class ShapeSelection extends RectSelection implements IEditComponent {
6
+ readonly level = 3;
7
+ readonly type: string;
8
+ readonly editCharacterType: string;
9
+ updateComponent(): void;
10
+ protected handlerTransformChange(data: IUpdateParams, event?: VRenderPointerEvent): void;
11
+ }
@@ -0,0 +1,30 @@
1
+ import { StoryComponentType } from "../../constants/character";
2
+
3
+ import { RectSelection } from "./rect-selection";
4
+
5
+ export class ShapeSelection extends RectSelection {
6
+ constructor() {
7
+ super(...arguments), this.level = 3, this.type = "shape", this.editCharacterType = StoryComponentType.SHAPE;
8
+ }
9
+ updateComponent() {
10
+ const actionInfo = this._actionInfo;
11
+ if (!actionInfo || !actionInfo.character) return;
12
+ const symbol = actionInfo.character.graphic.graphic, {width: width, height: height} = symbol.attribute, group = actionInfo.character.getGraphicParent(), {angle: angle, x: x, y: y} = group.attribute;
13
+ this._layoutComponent.updateBoundsAndAngle({
14
+ x1: x,
15
+ y1: y,
16
+ x2: x + width,
17
+ y2: y + height
18
+ }, angle);
19
+ }
20
+ handlerTransformChange(data, event) {
21
+ if (this._activeCharacter) {
22
+ const {x: x, y: y, width: width, height: height} = data;
23
+ this._activeCharacter.setAttributes(Object.assign(Object.assign({}, data), {
24
+ x: x + width / 2,
25
+ y: y + height / 2
26
+ }));
27
+ }
28
+ }
29
+ }
30
+ //# sourceMappingURL=shape-selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/edit/edit-component/shape-selection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAO/D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,OAAO,cAAe,SAAQ,aAAa;IAAjD;;QACW,UAAK,GAAG,CAAC,CAAC;QACV,SAAI,GAAW,OAAO,CAAC;QACvB,sBAAiB,GAAW,kBAAkB,CAAC,KAAK,CAAC;IAoChE,CAAC;IA9BC,eAAe;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,WAAiC,CAAC;QAC1D,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE;YACzC,OAAO;SACR;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QACpD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;QAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;QACtD,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;QACxC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CACxC;YACE,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC,GAAG,KAAK;YACb,EAAE,EAAE,CAAC,GAAG,MAAM;SACf,EACD,KAAK,CACN,CAAC;IACJ,CAAC;IAES,sBAAsB,CAAC,IAAmB,EAAE,KAA2B;QAC/E,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,gBAAgB,CAAC,aAAa,iCAC9B,IAAI,KACP,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAChB,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,IACjB,CAAC;SACJ;IACH,CAAC;CACF","file":"shape-selection.js","sourcesContent":["// import { StoryGraphicType } from '../../dsl/constant';\nimport { StoryComponentType } from '../../constants/character';\nimport type { VRenderPointerEvent } from '../../interface/type';\nimport type { IEditSelectionInfo } from '../interface';\nimport { type IEditComponent } from '../interface';\nimport { BaseSelection } from './base-selection';\nimport type { ITransformControl, IUpdateParams, TransformAttributes } from './edit-control/transform-control';\nimport { TransformControl } from './edit-control/transform-control';\nimport { RectSelection } from './rect-selection';\n\nexport class ShapeSelection extends RectSelection implements IEditComponent {\n readonly level = 3;\n readonly type: string = 'shape';\n readonly editCharacterType: string = StoryComponentType.SHAPE;\n\n // protected _createLayoutComponent(attributes: Partial<TransformAttributes>): ITransformControl {\n // return new TransformControl(this, attributes);\n // }\n\n updateComponent() {\n const actionInfo = this._actionInfo as IEditSelectionInfo;\n if (!(actionInfo && actionInfo.character)) {\n return;\n }\n const symbol = actionInfo.character.graphic.graphic;\n const { width, height } = symbol.attribute;\n const group = actionInfo.character.getGraphicParent();\n const { angle, x, y } = group.attribute;\n this._layoutComponent.updateBoundsAndAngle(\n {\n x1: x,\n y1: y,\n x2: x + width,\n y2: y + height\n },\n angle\n );\n }\n\n protected handlerTransformChange(data: IUpdateParams, event?: VRenderPointerEvent): void {\n if (this._activeCharacter) {\n const { x, y, width, height } = data;\n this._activeCharacter.setAttributes({\n ...data,\n x: x + width / 2,\n y: y + height / 2\n });\n }\n }\n}\n"]}
@@ -1,4 +1,3 @@
1
- import type { IEditSelectionInfo } from '../interface';
2
1
  import { type IEditActionInfo, type IEditComponent } from '../interface';
3
2
  import type { Edit } from '../edit';
4
3
  import { BaseSelection } from './base-selection';
@@ -6,7 +5,5 @@ export declare class TextSelection extends BaseSelection implements IEditCompone
6
5
  readonly edit: Edit;
7
6
  readonly level = 3;
8
7
  constructor(edit: Edit);
9
- editEnd(): void;
10
- checkAction(actionInfo: IEditSelectionInfo | IEditActionInfo): boolean;
11
8
  startEdit(actionInfo: IEditActionInfo): void;
12
9
  }
@@ -1,21 +1,12 @@
1
- import { EditActionEnum } from "../interface";
2
-
3
1
  import { BaseSelection } from "./base-selection";
4
2
 
5
3
  export class TextSelection extends BaseSelection {
6
4
  constructor(edit) {
7
5
  super(edit), this.edit = edit, this.level = 3;
8
6
  }
9
- editEnd() {
10
- super.editEnd();
11
- }
12
- checkAction(actionInfo) {
13
- return actionInfo.type === EditActionEnum.singleSelection && (!!actionInfo.detail && ("text" === actionInfo.detail.graphicType && (this.startEdit(actionInfo),
14
- !0)));
15
- }
16
7
  startEdit(actionInfo) {
17
8
  super.startEdit(actionInfo), this.edit.startEdit({
18
- type: "boxSelection",
9
+ type: "textSelection",
19
10
  actionInfo: this._actionInfo,
20
11
  updateCharacter: params => {}
21
12
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/edit/edit-component/text-selection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAA6C,MAAM,cAAc,CAAC;AAGzF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,OAAO,aAAc,SAAQ,aAAa;IAG9C,YAA4B,IAAU;QACpC,KAAK,CAAC,IAAI,CAAC,CAAC;QADc,SAAI,GAAJ,IAAI,CAAM;QAF7B,UAAK,GAAG,CAAC,CAAC;IAInB,CAAC;IACD,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IACD,WAAW,CAAC,UAAgD;QAC1D,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe,EAAE;YACtD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAE,UAAiC,CAAC,MAAM,EAAE;YAC9C,OAAO,KAAK,CAAC;SACd;QACD,IAAK,UAAiC,CAAC,MAAM,CAAC,WAAW,KAAK,MAAM,EAAE;YACpE,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,UAA2B;QACnC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAClB,IAAI,EAAE,cAAc;YACpB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,eAAe,EAAE,CAAC,MAAW,EAAE,EAAE;YAEjC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF","file":"text-selection.js","sourcesContent":["import type { IEditSelectionInfo } from '../interface';\nimport { EditActionEnum, type IEditActionInfo, type IEditComponent } from '../interface';\nimport { StoryEvent } from '../../story/interface/runtime-interface';\nimport type { Edit } from '../edit';\nimport { BaseSelection } from './base-selection';\n\nexport class TextSelection extends BaseSelection implements IEditComponent {\n readonly level = 3;\n\n constructor(public readonly edit: Edit) {\n super(edit);\n }\n editEnd(): void {\n super.editEnd();\n return;\n }\n checkAction(actionInfo: IEditSelectionInfo | IEditActionInfo): boolean {\n if (actionInfo.type !== EditActionEnum.singleSelection) {\n return false;\n }\n if (!(actionInfo as IEditSelectionInfo).detail) {\n return false;\n }\n if ((actionInfo as IEditSelectionInfo).detail.graphicType !== 'text') {\n return false;\n }\n this.startEdit(actionInfo);\n return true;\n }\n\n startEdit(actionInfo: IEditActionInfo) {\n super.startEdit(actionInfo);\n this.edit.startEdit({\n type: 'boxSelection',\n actionInfo: this._actionInfo,\n updateCharacter: (params: any) => {\n // nothing 不支持任何修改\n }\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/edit/edit-component/text-selection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,OAAO,aAAc,SAAQ,aAAa;IAG9C,YAA4B,IAAU;QACpC,KAAK,CAAC,IAAI,CAAC,CAAC;QADc,SAAI,GAAJ,IAAI,CAAM;QAF7B,UAAK,GAAG,CAAC,CAAC;IAInB,CAAC;IAED,SAAS,CAAC,UAA2B;QACnC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAClB,IAAI,EAAE,eAAe;YACrB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,eAAe,EAAE,CAAC,MAAW,EAAE,EAAE;YAEjC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF","file":"text-selection.js","sourcesContent":["import { type IEditActionInfo, type IEditComponent } from '../interface';\n\nimport type { Edit } from '../edit';\nimport { BaseSelection } from './base-selection';\n\nexport class TextSelection extends BaseSelection implements IEditComponent {\n readonly level = 3;\n\n constructor(public readonly edit: Edit) {\n super(edit);\n }\n\n startEdit(actionInfo: IEditActionInfo) {\n super.startEdit(actionInfo);\n this.edit.startEdit({\n type: 'textSelection',\n actionInfo: this._actionInfo,\n updateCharacter: (params: any) => {\n // nothing 不支持任何修改\n }\n });\n }\n}\n"]}
package/es/edit/edit.d.ts CHANGED
@@ -2,8 +2,8 @@ import type { StoryEvent } from '../story/interface/runtime-interface';
2
2
  import type { Story } from './../story/story';
3
3
  import { EditAction } from './edit-action';
4
4
  import { EventEmitter } from '@visactor/vutils';
5
- import type { IEditActionInfo, IEditComponent, IEditComponentConstructor, IEditMessage } from './interface';
6
- import type { IGroup } from '@visactor/vrender';
5
+ import { type IEditActionInfo, type IEditComponent, type IEditComponentConstructor, type IEditMessage } from './interface';
6
+ import type { IGroup, IGraphic } from '@visactor/vrender';
7
7
  export declare class Edit {
8
8
  readonly story: Story;
9
9
  readonly editAction: EditAction;
@@ -17,6 +17,7 @@ export declare class Edit {
17
17
  };
18
18
  protected _componentList: IEditComponent[];
19
19
  protected _currentComponent: IEditComponent;
20
+ protected _overGraphicGroup: IGroup;
20
21
  protected _editGroup: IGroup;
21
22
  constructor(story: Story);
22
23
  _initEditGroup(): void;
@@ -25,8 +26,10 @@ export declare class Edit {
25
26
  onStoryEvent(event: StoryEvent, type: string): void;
26
27
  onAction(actionInfo: IEditActionInfo): void;
27
28
  startEdit(msg: IEditMessage): void;
29
+ dispatchEditAction(type: string, msg: IEditMessage): void;
28
30
  triggerEditWithEvent(event: StoryEvent): void;
29
31
  triggerEditWithComponent(type: string, actionInfo: IEditActionInfo): void;
30
32
  stopEdit(): void;
31
33
  release(): void;
34
+ showOverGraphic(graphic: IGraphic, clearOther?: boolean): void;
32
35
  }
package/es/edit/edit.js CHANGED
@@ -2,6 +2,8 @@ import { EditAction } from "./edit-action";
2
2
 
3
3
  import { EventEmitter } from "@visactor/vutils";
4
4
 
5
+ import { EditActionEnum } from "./interface";
6
+
5
7
  import { createGroup } from "@visactor/vrender";
6
8
 
7
9
  export class Edit {
@@ -14,8 +16,10 @@ export class Edit {
14
16
  this._initEditGroup(), this._initComponent();
15
17
  }
16
18
  _initEditGroup() {
17
- this._editGroup = createGroup({});
18
- this.story.canvas.getStage().createLayer().add(this._editGroup);
19
+ this._editGroup = createGroup({}), this._editGroup.name = "edit_group";
20
+ const editLayer = this.story.canvas.getStage().createLayer();
21
+ editLayer.add(this._editGroup), this._overGraphicGroup = createGroup({}), this._overGraphicGroup.name = "over_group",
22
+ editLayer.add(this._overGraphicGroup);
19
23
  }
20
24
  getEditGroup() {
21
25
  return this._editGroup;
@@ -26,16 +30,26 @@ export class Edit {
26
30
  })), this._componentList = Object.values(this._componentMap).sort(((a, b) => a.level - b.level)).reverse();
27
31
  }
28
32
  onStoryEvent(event, type) {
33
+ if (event.path.find((g => g === this._editGroup || g === this._overGraphicGroup))) {
34
+ if (!event.path[event.path.length - 1].isContainer) return;
35
+ }
29
36
  this.editAction.onStoryEvent(event, type);
30
37
  }
31
38
  onAction(actionInfo) {
32
- if (!this._currentComponent || !this._currentComponent.checkAction(actionInfo)) for (let i = 0; i < this._componentList.length; i++) {
39
+ if (this._currentComponent) {
40
+ if (this._currentComponent.checkAction(actionInfo)) return;
41
+ actionInfo.type === EditActionEnum.unSelection && this.stopEdit();
42
+ }
43
+ for (let i = 0; i < this._componentList.length; i++) {
33
44
  const cpt = this._componentList[i];
34
45
  if (cpt.checkAction(actionInfo)) return this.stopEdit(), void (this._currentComponent = cpt);
35
46
  }
36
47
  }
37
48
  startEdit(msg) {
38
- this.emitter.emit("startEdit", msg);
49
+ this.dispatchEditAction("startEdit", msg);
50
+ }
51
+ dispatchEditAction(type, msg) {
52
+ this.emitter.emit(type, msg);
39
53
  }
40
54
  triggerEditWithEvent(event) {}
41
55
  triggerEditWithComponent(type, actionInfo) {}
@@ -47,6 +61,9 @@ export class Edit {
47
61
  var _a, _b;
48
62
  null === (_b = null === (_a = this.story.canvas) || void 0 === _a ? void 0 : _a.getStage) || void 0 === _b || _b.call(_a).removeEventListener("*", this.onStoryEvent);
49
63
  }
64
+ showOverGraphic(graphic, clearOther = !0) {
65
+ clearOther && this._overGraphicGroup.removeAllChild(!0), this._overGraphicGroup.add(graphic);
66
+ }
50
67
  }
51
68
 
52
69
  Edit.componentConstructorMap = {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/edit/edit.ts"],"names":[],"mappings":"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","file":"edit.js","sourcesContent":["import type { StoryEvent } from '../story/interface/runtime-interface';\nimport type { Story } from './../story/story';\nimport { EditAction } from './edit-action';\nimport { EventEmitter } from '@visactor/vutils';\nimport type { IEditActionInfo, IEditComponent, IEditComponentConstructor, IEditMessage } from './interface';\nimport type { IGroup } from '@visactor/vrender';\nimport { createGroup } from '@visactor/vrender';\n\nexport class Edit {\n readonly editAction: EditAction;\n readonly emitter: EventEmitter;\n\n protected static componentConstructorMap: { [key: string]: IEditComponentConstructor } = {};\n\n static registerEditComponent(key: string, cpt: IEditComponentConstructor) {\n Edit.componentConstructorMap[key] = cpt;\n }\n\n protected _componentMap: { [key: string]: IEditComponent } = {};\n protected _componentList: IEditComponent[];\n\n protected _currentComponent: IEditComponent;\n\n protected _editGroup: IGroup;\n\n constructor(public readonly story: Story) {\n this.emitter = new EventEmitter();\n this.editAction = new EditAction(story);\n this.editAction.emitter.on('dispatchAction', this.onAction.bind(this));\n this.story.canvas.getStage().addEventListener('*', this.onStoryEvent.bind(this) as any);\n this._initEditGroup();\n this._initComponent();\n }\n\n _initEditGroup() {\n this._editGroup = createGroup({});\n const editLayer = this.story.canvas.getStage().createLayer();\n editLayer.add(this._editGroup);\n }\n\n getEditGroup() {\n return this._editGroup;\n }\n\n protected _initComponent() {\n this._componentMap = {};\n Object.keys(Edit.componentConstructorMap).forEach(key => {\n this._componentMap[key] = new Edit.componentConstructorMap[key](this);\n });\n this._componentList = Object.values(this._componentMap)\n .sort((a, b) => a.level - b.level)\n .reverse();\n }\n\n onStoryEvent(event: StoryEvent, type: string) {\n this.editAction.onStoryEvent(event, type);\n }\n\n onAction(actionInfo: IEditActionInfo) {\n if (this._currentComponent) {\n // 优先上一次的编辑组件\n if (this._currentComponent.checkAction(actionInfo)) {\n return;\n }\n }\n for (let i = 0; i < this._componentList.length; i++) {\n const cpt = this._componentList[i];\n if (cpt.checkAction(actionInfo)) {\n this.stopEdit();\n this._currentComponent = cpt;\n return;\n }\n }\n }\n\n startEdit(msg: IEditMessage) {\n this.emitter.emit('startEdit', msg);\n }\n\n triggerEditWithEvent(event: StoryEvent) {\n return;\n }\n\n triggerEditWithComponent(type: string, actionInfo: IEditActionInfo) {\n return;\n }\n\n stopEdit() {\n this._currentComponent?.editEnd();\n this._currentComponent = null;\n }\n\n release() {\n this.story.canvas?.getStage?.().removeEventListener('*', this.onStoryEvent as any);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/edit/edit.ts"],"names":[],"mappings":"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","file":"edit.js","sourcesContent":["import type { StoryEvent } from '../story/interface/runtime-interface';\nimport type { Story } from './../story/story';\nimport { EditAction } from './edit-action';\nimport { EventEmitter } from '@visactor/vutils';\nimport {\n EditActionEnum,\n type IEditActionInfo,\n type IEditComponent,\n type IEditComponentConstructor,\n type IEditMessage\n} from './interface';\nimport type { IGroup, IGraphic } from '@visactor/vrender';\nimport { createGroup } from '@visactor/vrender';\n\nexport class Edit {\n readonly editAction: EditAction;\n readonly emitter: EventEmitter;\n\n protected static componentConstructorMap: { [key: string]: IEditComponentConstructor } = {};\n\n static registerEditComponent(key: string, cpt: IEditComponentConstructor) {\n Edit.componentConstructorMap[key] = cpt;\n }\n\n protected _componentMap: { [key: string]: IEditComponent } = {};\n protected _componentList: IEditComponent[];\n\n protected _currentComponent: IEditComponent;\n protected _overGraphicGroup: IGroup;\n\n protected _editGroup: IGroup;\n\n constructor(public readonly story: Story) {\n this.emitter = new EventEmitter();\n this.editAction = new EditAction(story);\n this.editAction.emitter.on('dispatchAction', this.onAction.bind(this));\n this.story.canvas.getStage().addEventListener('*', this.onStoryEvent.bind(this) as any);\n this._initEditGroup();\n this._initComponent();\n }\n\n _initEditGroup() {\n this._editGroup = createGroup({});\n this._editGroup.name = 'edit_group';\n const editLayer = this.story.canvas.getStage().createLayer();\n editLayer.add(this._editGroup);\n\n this._overGraphicGroup = createGroup({});\n this._overGraphicGroup.name = 'over_group';\n editLayer.add(this._overGraphicGroup);\n }\n\n getEditGroup() {\n return this._editGroup;\n }\n\n protected _initComponent() {\n this._componentMap = {};\n Object.keys(Edit.componentConstructorMap).forEach(key => {\n this._componentMap[key] = new Edit.componentConstructorMap[key](this);\n });\n this._componentList = Object.values(this._componentMap)\n .sort((a, b) => a.level - b.level)\n .reverse();\n }\n\n onStoryEvent(event: StoryEvent, type: string) {\n // 如果交互到编辑元素忽略\n if (event.path.find(g => g === this._editGroup || g === this._overGraphicGroup)) {\n // 具体判断是否编辑到交互元素,如果pick到group,就不算\n const pathTarget = event.path[event.path.length - 1];\n if (!pathTarget.isContainer) {\n return;\n }\n }\n this.editAction.onStoryEvent(event, type);\n }\n\n onAction(actionInfo: IEditActionInfo) {\n if (this._currentComponent) {\n // 优先上一次的编辑组件\n if (this._currentComponent.checkAction(actionInfo)) {\n return;\n } else if (actionInfo.type === EditActionEnum.unSelection) {\n this.stopEdit();\n }\n }\n for (let i = 0; i < this._componentList.length; i++) {\n const cpt = this._componentList[i];\n if (cpt.checkAction(actionInfo)) {\n this.stopEdit();\n this._currentComponent = cpt;\n return;\n }\n }\n }\n\n startEdit(msg: IEditMessage) {\n this.dispatchEditAction('startEdit', msg);\n }\n\n dispatchEditAction(type: string, msg: IEditMessage) {\n this.emitter.emit(type, msg);\n }\n\n triggerEditWithEvent(event: StoryEvent) {\n return;\n }\n\n triggerEditWithComponent(type: string, actionInfo: IEditActionInfo) {\n return;\n }\n\n stopEdit() {\n this._currentComponent?.editEnd();\n this._currentComponent = null;\n }\n\n release() {\n this.story.canvas?.getStage?.().removeEventListener('*', this.onStoryEvent as any);\n }\n\n showOverGraphic(graphic: IGraphic, clearOther: boolean = true) {\n if (clearOther) {\n this._overGraphicGroup.removeAllChild(true);\n }\n this._overGraphicGroup.add(graphic);\n }\n}\n"]}
@@ -4,7 +4,11 @@ import type { IRect } from '../type/space';
4
4
  import type { IGraphic } from '@visactor/vrender';
5
5
  export declare enum EditActionEnum {
6
6
  singleSelection = "singleSelect",
7
- multipleSelection = "multipleSelect"
7
+ multipleSelection = "multipleSelect",
8
+ unSelection = "unSelect",
9
+ pointerOverCharacter = "pointerOverCharacter",
10
+ pointerOutCharacter = "pointerOutCharacter",
11
+ richTextPluginEdit = "richTextPluginEdit"
8
12
  }
9
13
  export interface IEditSelectionDetailChart extends ICharacterPickInfo {
10
14
  model: string;
@@ -29,6 +33,7 @@ export interface IEditActionInfoBase {
29
33
  export type IEditActionInfo = IEditActionInfoBase | IEditSelectionInfo;
30
34
  export type ContinuousActionType = 'boxSelection' | 'layerZoom' | 'layerMove';
31
35
  export interface IEditComponent {
36
+ readonly type: string;
32
37
  readonly level: number;
33
38
  isEditing: boolean;
34
39
  checkAction: (actionInfo: IEditActionInfo | IEditSelectionInfo) => boolean;
@@ -1,6 +1,8 @@
1
1
  export var EditActionEnum;
2
2
 
3
3
  !function(EditActionEnum) {
4
- EditActionEnum.singleSelection = "singleSelect", EditActionEnum.multipleSelection = "multipleSelect";
4
+ EditActionEnum.singleSelection = "singleSelect", EditActionEnum.multipleSelection = "multipleSelect",
5
+ EditActionEnum.unSelection = "unSelect", EditActionEnum.pointerOverCharacter = "pointerOverCharacter",
6
+ EditActionEnum.pointerOutCharacter = "pointerOutCharacter", EditActionEnum.richTextPluginEdit = "richTextPluginEdit";
5
7
  }(EditActionEnum || (EditActionEnum = {}));
6
8
  //# sourceMappingURL=interface.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/edit/interface.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,kDAAgC,CAAA;IAChC,sDAAoC,CAAA;AACtC,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB","file":"interface.js","sourcesContent":["import type { Edit } from './edit';\nimport type { ICharacter, ICharacterPickInfo } from './../story/character/runtime-interface';\nimport type { IRect } from '../type/space';\nimport type { IGraphic } from '@visactor/vrender';\n\nexport enum EditActionEnum {\n singleSelection = 'singleSelect', // 单选\n multipleSelection = 'multipleSelect' // 多选\n}\n\nexport interface IEditSelectionDetailChart extends ICharacterPickInfo {\n model: string;\n mark: any;\n datum: any;\n}\n\nexport type IEditSelectionDetailComponent = ICharacterPickInfo;\n\nexport interface IEditSelectionInfo extends IEditActionInfoBase {\n characterId?: string | string[];\n character?: ICharacter;\n detail: IEditSelectionDetailChart | IEditSelectionDetailComponent;\n}\n\nexport interface VREvent extends Event {\n pickParams?: {\n shadowTarget?: IGraphic;\n };\n}\n\nexport interface IEditActionInfoBase {\n type: keyof typeof EditActionEnum | string;\n event: VREvent;\n}\n\nexport type IEditActionInfo = IEditActionInfoBase | IEditSelectionInfo;\n\nexport type ContinuousActionType = 'boxSelection' | 'layerZoom' | 'layerMove';\n\nexport interface IEditComponent {\n readonly level: number;\n isEditing: boolean;\n\n // 是否 开始/继续 编辑 返回false的话,会导致当前编辑结束\n checkAction: (actionInfo: IEditActionInfo | IEditSelectionInfo) => boolean;\n\n // 编辑结束\n editEnd: () => void;\n\n getActiveCharacter: () => ICharacter | null | undefined;\n}\n\nexport type IModelInfoSpecKey = {\n specKey: string;\n specIndex: number;\n};\nexport type IModelInfo = IModelInfoSpecKey & {\n id?: string | number; // id in spec, model.userId\n};\n\nexport interface ILayoutLine extends Partial<IModelInfo> {\n orient: 'x' | 'y';\n type: 'start' | 'middle' | 'end';\n value: number;\n start: number;\n end: number;\n rect: IRect;\n}\n\nexport interface IEditComponentConstructor {\n new (edit: Edit): IEditComponent;\n}\n\nexport interface IEditMessage {\n type: string; // 编辑组件类型,\n actionInfo: IEditActionInfo;\n updateCharacter: (updateParams: any) => void;\n}\n"]}
1
+ {"version":3,"sources":["../src/edit/interface.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,cASX;AATD,WAAY,cAAc;IACxB,kDAAgC,CAAA;IAChC,sDAAoC,CAAA;IACpC,0CAAwB,CAAA;IAExB,+DAA6C,CAAA;IAC7C,6DAA2C,CAAA;IAE3C,2DAAyC,CAAA;AAC3C,CAAC,EATW,cAAc,KAAd,cAAc,QASzB","file":"interface.js","sourcesContent":["import type { Edit } from './edit';\nimport type { ICharacter, ICharacterPickInfo } from './../story/character/runtime-interface';\nimport type { IRect } from '../type/space';\nimport type { IGraphic } from '@visactor/vrender';\n\nexport enum EditActionEnum {\n singleSelection = 'singleSelect', // 单选\n multipleSelection = 'multipleSelect', // 多选\n unSelection = 'unSelect', // 为选中\n\n pointerOverCharacter = 'pointerOverCharacter', // 悬浮到角色上\n pointerOutCharacter = 'pointerOutCharacter', // 从角色上悬浮出去,从角色的 a子模块到 b子模块也会触发\n\n richTextPluginEdit = 'richTextPluginEdit' // 富文本插件的编辑消息\n}\n\nexport interface IEditSelectionDetailChart extends ICharacterPickInfo {\n model: string;\n mark: any;\n datum: any;\n}\n\nexport type IEditSelectionDetailComponent = ICharacterPickInfo;\n\nexport interface IEditSelectionInfo extends IEditActionInfoBase {\n characterId?: string | string[];\n character?: ICharacter;\n detail: IEditSelectionDetailChart | IEditSelectionDetailComponent;\n}\n\nexport interface VREvent extends Event {\n pickParams?: {\n shadowTarget?: IGraphic;\n };\n}\n\nexport interface IEditActionInfoBase {\n type: keyof typeof EditActionEnum | string;\n event: VREvent;\n}\n\nexport type IEditActionInfo = IEditActionInfoBase | IEditSelectionInfo;\n\nexport type ContinuousActionType = 'boxSelection' | 'layerZoom' | 'layerMove';\n\nexport interface IEditComponent {\n readonly type: string;\n readonly level: number;\n isEditing: boolean;\n\n // 是否 开始/继续 编辑 返回false的话,会导致当前编辑结束\n checkAction: (actionInfo: IEditActionInfo | IEditSelectionInfo) => boolean;\n\n // 编辑结束\n editEnd: () => void;\n\n getActiveCharacter: () => ICharacter | null | undefined;\n}\n\nexport type IModelInfoSpecKey = {\n specKey: string;\n specIndex: number;\n};\nexport type IModelInfo = IModelInfoSpecKey & {\n id?: string | number; // id in spec, model.userId\n};\n\nexport interface ILayoutLine extends Partial<IModelInfo> {\n orient: 'x' | 'y';\n type: 'start' | 'middle' | 'end';\n value: number;\n start: number;\n end: number;\n rect: IRect;\n}\n\nexport interface IEditComponentConstructor {\n new (edit: Edit): IEditComponent;\n}\n\nexport interface IEditMessage {\n type: string; // 编辑组件类型,\n actionInfo: IEditActionInfo;\n updateCharacter: (updateParams: any) => void;\n}\n"]}
package/es/index.d.ts CHANGED
@@ -1,2 +1,5 @@
1
1
  export * from './story';
2
2
  export * from './edit';
3
+ export * from './story/utils/vchart-pick';
4
+ export * from './story/utils/chart';
5
+ export * from './story/utils/layout';
package/es/index.js CHANGED
@@ -4,4 +4,10 @@ registerCharacter();
4
4
 
5
5
  export * from "./story";
6
6
 
7
- export * from "./edit";
7
+ export * from "./edit";
8
+
9
+ export * from "./story/utils/vchart-pick";
10
+
11
+ export * from "./story/utils/chart";
12
+
13
+ export * from "./story/utils/layout";
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,iBAAiB,EAAE,CAAC;AAEpB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC","file":"index.js","sourcesContent":["import { registerCharacter } from './story';\n\nregisterCharacter();\n\nexport * from './story';\nexport * from './edit';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,iBAAiB,EAAE,CAAC;AAEpB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC","file":"index.js","sourcesContent":["import { registerCharacter } from './story';\n\nregisterCharacter();\n\nexport * from './story';\nexport * from './edit';\nexport * from './story/utils/vchart-pick';\nexport * from './story/utils/chart';\nexport * from './story/utils/layout';\n"]}
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=player.js.map
2
+ //# sourceMappingURL=player.js.map
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=scheduler.js.map
2
+ //# sourceMappingURL=scheduler.js.map
@@ -78,10 +78,14 @@ export class Player extends EventEmitter {
78
78
  characterSet.add(character), this._actionProcessor.doAction(character.spec.type, action.actionSpec.action, character, action.actionSpec);
79
79
  })), characterSet.forEach((character => {
80
80
  character.show();
81
- })), this._currTime = t, this._story.canvas.getStage().ticker.tickAt(t), this._story.canvas.getStage().render();
81
+ })), this._currTime = t;
82
+ const stage = this._story.canvas.getStage();
83
+ stage.ticker.tickAt(t), stage.render();
82
84
  }
83
85
  play() {
84
- this._ticker.stop(), this._currTime = 0, this.reset(), this._ticker.start((t => {
86
+ this._ticker.stop(), this._currTime = 0, this.reset();
87
+ const stage = this._story.canvas.getStage();
88
+ stage.ticker.start(!0), stage.getTimeline().resume(), this._ticker.start((t => {
85
89
  let nextT = this._currTime + t;
86
90
  const totalTime = this._scheduler.getTotalTime();
87
91
  nextT >= totalTime ? (nextT = totalTime, this.tickTo(nextT), this._ticker.stop(),