@visactor/vstory 0.0.5 → 0.0.7

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 (412) 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/story-chart/pie.js +1 -1
  6. package/cjs/dsl/story-executor/index.js +2 -0
  7. package/cjs/dsl/story-processor/index.js +1 -1
  8. package/cjs/dsl/story-processor/processor.js +1 -1
  9. package/cjs/dsl/types/Datum.js +1 -1
  10. package/cjs/dsl/types/index.d.ts +1 -0
  11. package/cjs/dsl/types/index.js +1 -1
  12. package/cjs/dsl/types/index.js.map +1 -1
  13. package/cjs/dsl/utils/datum.js +2 -1
  14. package/cjs/dsl/utils/flicker.js +1 -1
  15. package/cjs/edit/const.d.ts +1 -3
  16. package/cjs/edit/const.js +1 -0
  17. package/cjs/edit/const.js.map +1 -1
  18. package/cjs/edit/edit-action.d.ts +9 -0
  19. package/cjs/edit/edit-action.js +61 -5
  20. package/cjs/edit/edit-action.js.map +1 -1
  21. package/cjs/edit/edit-component/base-selection.d.ts +8 -3
  22. package/cjs/edit/edit-component/base-selection.js +30 -4
  23. package/cjs/edit/edit-component/base-selection.js.map +1 -1
  24. package/cjs/edit/edit-component/chart-selection.d.ts +15 -0
  25. package/cjs/edit/edit-component/chart-selection.js +39 -0
  26. package/cjs/edit/edit-component/chart-selection.js.map +1 -0
  27. package/cjs/edit/edit-component/common.d.ts +1 -11
  28. package/cjs/edit/edit-component/common.js +1 -32
  29. package/cjs/edit/edit-component/common.js.map +1 -1
  30. package/cjs/edit/edit-component/edit-control/richtext-control.d.ts +19 -0
  31. package/cjs/edit/edit-component/edit-control/richtext-control.js +34 -0
  32. package/cjs/edit/edit-component/edit-control/richtext-control.js.map +1 -0
  33. package/cjs/edit/edit-component/edit-control/richtext-transform-control.d.ts +2 -3
  34. package/cjs/edit/edit-component/edit-control/richtext-transform-control.js +30 -32
  35. package/cjs/edit/edit-component/edit-control/richtext-transform-control.js.map +1 -1
  36. package/cjs/edit/edit-component/edit-control/transform-control.d.ts +4 -2
  37. package/cjs/edit/edit-component/edit-control/transform-control.js +10 -6
  38. package/cjs/edit/edit-component/edit-control/transform-control.js.map +1 -1
  39. package/cjs/edit/edit-component/edit-control/transform-drag.d.ts +1 -0
  40. package/cjs/edit/edit-component/edit-control/transform-drag.js +4 -2
  41. package/cjs/edit/edit-component/edit-control/transform-drag.js.map +1 -1
  42. package/cjs/edit/edit-component/image-selection.d.ts +1 -2
  43. package/cjs/edit/edit-component/image-selection.js +2 -5
  44. package/cjs/edit/edit-component/image-selection.js.map +1 -1
  45. package/cjs/edit/edit-component/index.js +5 -6
  46. package/cjs/edit/edit-component/index.js.map +1 -1
  47. package/cjs/edit/edit-component/layer-edit.js +0 -2
  48. package/cjs/edit/edit-component/mixin/richtext.d.ts +21 -0
  49. package/cjs/edit/edit-component/mixin/richtext.js +26 -0
  50. package/cjs/edit/edit-component/mixin/richtext.js.map +1 -0
  51. package/cjs/edit/edit-component/rect-selection.d.ts +8 -12
  52. package/cjs/edit/edit-component/rect-selection.js +13 -18
  53. package/cjs/edit/edit-component/rect-selection.js.map +1 -1
  54. package/cjs/edit/edit-component/richtext-selection-common.d.ts +19 -0
  55. package/cjs/edit/edit-component/richtext-selection-common.js +35 -0
  56. package/cjs/edit/edit-component/richtext-selection-common.js.map +1 -0
  57. package/cjs/edit/edit-component/richtext-selection.d.ts +0 -2
  58. package/cjs/edit/edit-component/richtext-selection.js +1 -7
  59. package/cjs/edit/edit-component/richtext-selection.js.map +1 -1
  60. package/cjs/edit/edit-component/shape-selection.d.ts +11 -0
  61. package/cjs/edit/edit-component/shape-selection.js +35 -0
  62. package/cjs/edit/edit-component/shape-selection.js.map +1 -0
  63. package/cjs/edit/edit-component/text-selection.d.ts +0 -3
  64. package/cjs/edit/edit-component/text-selection.js +3 -10
  65. package/cjs/edit/edit-component/text-selection.js.map +1 -1
  66. package/cjs/edit/edit.d.ts +5 -2
  67. package/cjs/edit/edit.js +20 -5
  68. package/cjs/edit/edit.js.map +1 -1
  69. package/cjs/edit/interface.d.ts +6 -1
  70. package/cjs/edit/interface.js +3 -1
  71. package/cjs/edit/interface.js.map +1 -1
  72. package/cjs/index.d.ts +3 -0
  73. package/cjs/index.js +3 -1
  74. package/cjs/index.js.map +1 -1
  75. package/cjs/player/encode.js +0 -2
  76. package/cjs/player/player.js +6 -2
  77. package/cjs/player/player.js.map +1 -1
  78. package/cjs/player/processor/chart/common/chartAppear.d.ts +2 -2
  79. package/cjs/player/processor/chart/common/chartAppear.js.map +1 -1
  80. package/cjs/player/processor/chart/common/commonAppear.d.ts +3 -3
  81. package/cjs/player/processor/chart/common/commonAppear.js.map +1 -1
  82. package/cjs/player/processor/chart/component/axisAppear.d.ts +2 -2
  83. package/cjs/player/processor/chart/component/axisAppear.js.map +1 -1
  84. package/cjs/player/processor/chart/component/commonAppear.d.ts +3 -3
  85. package/cjs/player/processor/chart/component/commonAppear.js.map +1 -1
  86. package/cjs/player/processor/chart/component/labelAppear.d.ts +2 -2
  87. package/cjs/player/processor/chart/component/labelAppear.js.map +1 -1
  88. package/cjs/player/processor/chart/rankingBar/rankingBar.d.ts +29 -0
  89. package/cjs/player/processor/chart/rankingBar/rankingBar.js +54 -0
  90. package/cjs/player/processor/chart/rankingBar/rankingBar.js.map +1 -0
  91. package/cjs/player/processor/chart/seriesmark/commonTransformMarkAppear.d.ts +3 -3
  92. package/cjs/player/processor/chart/seriesmark/commonTransformMarkAppear.js.map +1 -1
  93. package/cjs/player/processor/chart/seriesmark/transformArcVisibility.d.ts +2 -2
  94. package/cjs/player/processor/chart/seriesmark/transformArcVisibility.js.map +1 -1
  95. package/cjs/player/processor/chart/seriesmark/transformLineVisibility.d.ts +2 -2
  96. package/cjs/player/processor/chart/seriesmark/transformLineVisibility.js.map +1 -1
  97. package/cjs/player/processor/chart/seriesmark/transformRectVisibility.d.ts +2 -2
  98. package/cjs/player/processor/chart/seriesmark/transformRectVisibility.js.map +1 -1
  99. package/cjs/player/processor/chart/seriesmark/transformSymbolVisibility.d.ts +2 -2
  100. package/cjs/player/processor/chart/seriesmark/transformSymbolVisibility.js.map +1 -1
  101. package/cjs/player/processor/chart/seriesmark/transformTextVisibility.d.ts +2 -2
  102. package/cjs/player/processor/chart/seriesmark/transformTextVisibility.js.map +1 -1
  103. package/cjs/player/processor/chart/vchart.d.ts +35 -24
  104. package/cjs/player/processor/chart/vchart.js +88 -60
  105. package/cjs/player/processor/chart/vchart.js.map +1 -1
  106. package/cjs/player/processor/common/bounce-processor.js +2 -3
  107. package/cjs/player/processor/common/bounce-processor.js.map +1 -1
  108. package/cjs/player/processor/component/common-component.js +21 -21
  109. package/cjs/player/processor/component/common-component.js.map +1 -1
  110. package/cjs/player/processor/interface/action-processor.d.ts +1 -1
  111. package/cjs/player/processor/interface/action-processor.js.map +1 -1
  112. package/cjs/player/processor/interface/common-action.d.ts +3 -2
  113. package/cjs/player/processor/interface/common-action.js.map +1 -1
  114. package/cjs/player/processor/interface/style-action.d.ts +4 -5
  115. package/cjs/player/processor/interface/style-action.js.map +1 -1
  116. package/cjs/player/processor/processor.js +1 -1
  117. package/cjs/player/processor/processor.js.map +1 -1
  118. package/cjs/player/processor/processorMap.d.ts +9 -0
  119. package/cjs/player/processor/processorMap.js +7 -1
  120. package/cjs/player/processor/processorMap.js.map +1 -1
  121. package/cjs/player/scheduler.js +12 -8
  122. package/cjs/player/scheduler.js.map +1 -1
  123. package/cjs/scene/action.js +2 -0
  124. package/cjs/story/canvas/canvas.js +3 -4
  125. package/cjs/story/canvas/canvas.js.map +1 -1
  126. package/cjs/story/character/base/base.d.ts +4 -0
  127. package/cjs/story/character/base/base.js +1 -1
  128. package/cjs/story/character/base/base.js.map +1 -1
  129. package/cjs/story/character/chart/character.d.ts +15 -0
  130. package/cjs/story/character/chart/character.js +55 -19
  131. package/cjs/story/character/chart/character.js.map +1 -1
  132. package/cjs/story/character/chart/characters/rankingBar.d.ts +4 -0
  133. package/cjs/story/character/chart/characters/rankingBar.js +23 -0
  134. package/cjs/story/character/chart/characters/rankingBar.js.map +1 -0
  135. package/cjs/story/character/chart/graphic/vchart-graphic-picker.js +6 -8
  136. package/cjs/story/character/chart/graphic/vchart-graphic-picker.js.map +1 -1
  137. package/cjs/story/character/chart/graphic/vchart-graphic-render.js +6 -6
  138. package/cjs/story/character/chart/graphic/vchart-graphic-render.js.map +1 -1
  139. package/cjs/story/character/chart/graphic/vchart-graphic.d.ts +12 -2
  140. package/cjs/story/character/chart/graphic/vchart-graphic.js +77 -13
  141. package/cjs/story/character/chart/graphic/vchart-graphic.js.map +1 -1
  142. package/cjs/story/character/chart/runtime/common-spec.d.ts +2 -4
  143. package/cjs/story/character/chart/runtime/common-spec.js +0 -2
  144. package/cjs/story/character/chart/runtime/common-spec.js.map +1 -1
  145. package/cjs/story/character/chart/runtime/component-spec.d.ts +4 -3
  146. package/cjs/story/character/chart/runtime/component-spec.js +7 -5
  147. package/cjs/story/character/chart/runtime/component-spec.js.map +1 -1
  148. package/cjs/story/character/chart/temp/constant.d.ts +1 -0
  149. package/cjs/story/character/chart/temp/constant.js +2 -1
  150. package/cjs/story/character/chart/temp/constant.js.map +1 -1
  151. package/cjs/story/character/chart/temp/templates/bar.d.ts +20 -0
  152. package/cjs/story/character/chart/temp/templates/bar.js +31 -0
  153. package/cjs/story/character/chart/temp/templates/bar.js.map +1 -0
  154. package/cjs/story/character/chart/temp/templates/base-temp.d.ts +6 -4
  155. package/cjs/story/character/chart/temp/templates/base-temp.js +1 -1
  156. package/cjs/story/character/chart/temp/templates/base-temp.js.map +1 -1
  157. package/cjs/story/character/chart/temp/templates/ranking-bar-temp.d.ts +8 -0
  158. package/cjs/story/character/chart/temp/templates/ranking-bar-temp.js +22 -0
  159. package/cjs/story/character/chart/temp/templates/ranking-bar-temp.js.map +1 -0
  160. package/cjs/story/character/component/character-group/component-group-graphic-render.d.ts +2 -2
  161. package/cjs/story/character/component/character-group/component-group-graphic-render.js +3 -3
  162. package/cjs/story/character/component/character-group/component-group-graphic-render.js.map +1 -1
  163. package/cjs/story/character/component/character-group/component-group-graphic.d.ts +1 -1
  164. package/cjs/story/character/component/character-group/component-group-graphic.js +6 -4
  165. package/cjs/story/character/component/character-group/component-group-graphic.js.map +1 -1
  166. package/cjs/story/character/component/character.d.ts +5 -1
  167. package/cjs/story/character/component/character.js +18 -1
  168. package/cjs/story/character/component/character.js.map +1 -1
  169. package/cjs/story/character/component/characters/character-image.d.ts +3 -0
  170. package/cjs/story/character/component/characters/character-image.js +4 -0
  171. package/cjs/story/character/component/characters/character-image.js.map +1 -1
  172. package/cjs/story/character/component/characters/character-rect.d.ts +3 -0
  173. package/cjs/story/character/component/characters/character-rect.js +4 -0
  174. package/cjs/story/character/component/characters/character-rect.js.map +1 -1
  175. package/cjs/story/character/component/characters/character-shape.d.ts +4 -0
  176. package/cjs/story/character/component/characters/character-shape.js +15 -0
  177. package/cjs/story/character/component/characters/character-shape.js.map +1 -1
  178. package/cjs/story/character/component/graphic/graphic-base-text.d.ts +2 -1
  179. package/cjs/story/character/component/graphic/graphic-base-text.js +7 -2
  180. package/cjs/story/character/component/graphic/graphic-base-text.js.map +1 -1
  181. package/cjs/story/character/component/graphic/symbol.d.ts +3 -0
  182. package/cjs/story/character/component/graphic/symbol.js +17 -3
  183. package/cjs/story/character/component/graphic/symbol.js.map +1 -1
  184. package/cjs/story/character/dsl-interface.d.ts +2 -0
  185. package/cjs/story/character/dsl-interface.js.map +1 -1
  186. package/cjs/story/character/runtime-interface.d.ts +9 -4
  187. package/cjs/story/character/runtime-interface.js.map +1 -1
  188. package/cjs/story/character/visactor/character.d.ts +15 -0
  189. package/cjs/story/character/visactor/character.js +17 -1
  190. package/cjs/story/character/visactor/character.js.map +1 -1
  191. package/cjs/story/character/visactor/interface.js.map +1 -1
  192. package/cjs/story/index.js +5 -2
  193. package/cjs/story/index.js.map +1 -1
  194. package/cjs/story/interface/dsl-interface.d.ts +3 -2
  195. package/cjs/story/interface/dsl-interface.js.map +1 -1
  196. package/cjs/story/interface/runtime-interface.d.ts +2 -0
  197. package/cjs/story/interface/runtime-interface.js.map +1 -1
  198. package/cjs/story/story.js +3 -2
  199. package/cjs/story/story.js.map +1 -1
  200. package/cjs/story/utils/layout.d.ts +2 -1
  201. package/cjs/story/utils/layout.js +2 -2
  202. package/cjs/story/utils/layout.js.map +1 -1
  203. package/cjs/story/utils/vchart-pick.d.ts +115 -0
  204. package/cjs/story/utils/vchart-pick.js +109 -0
  205. package/cjs/story/utils/vchart-pick.js.map +1 -0
  206. package/dist/index.js +72438 -74811
  207. package/dist/index.min.js +3 -3
  208. package/es/constants/character.d.ts +2 -1
  209. package/es/constants/character.js +1 -1
  210. package/es/constants/character.js.map +1 -1
  211. package/es/dsl/story-chart/pie.js +1 -1
  212. package/es/dsl/story-executor/index.js +2 -0
  213. package/es/dsl/story-processor/index.js +1 -1
  214. package/es/dsl/story-processor/processor.js +1 -1
  215. package/es/dsl/types/Datum.js +1 -1
  216. package/es/dsl/types/index.d.ts +1 -0
  217. package/es/dsl/types/index.js +1 -1
  218. package/es/dsl/types/index.js.map +1 -1
  219. package/es/dsl/utils/datum.js +2 -1
  220. package/es/dsl/utils/flicker.js +1 -1
  221. package/es/edit/const.d.ts +1 -3
  222. package/es/edit/const.js +1 -0
  223. package/es/edit/const.js.map +1 -1
  224. package/es/edit/edit-action.d.ts +9 -0
  225. package/es/edit/edit-action.js +63 -5
  226. package/es/edit/edit-action.js.map +1 -1
  227. package/es/edit/edit-component/base-selection.d.ts +8 -3
  228. package/es/edit/edit-component/base-selection.js +31 -3
  229. package/es/edit/edit-component/base-selection.js.map +1 -1
  230. package/es/edit/edit-component/chart-selection.d.ts +15 -0
  231. package/es/edit/edit-component/chart-selection.js +31 -0
  232. package/es/edit/edit-component/chart-selection.js.map +1 -0
  233. package/es/edit/edit-component/common.d.ts +1 -11
  234. package/es/edit/edit-component/common.js +1 -26
  235. package/es/edit/edit-component/common.js.map +1 -1
  236. package/es/edit/edit-component/edit-control/richtext-control.d.ts +19 -0
  237. package/es/edit/edit-component/edit-control/richtext-control.js +28 -0
  238. package/es/edit/edit-component/edit-control/richtext-control.js.map +1 -0
  239. package/es/edit/edit-component/edit-control/richtext-transform-control.d.ts +2 -3
  240. package/es/edit/edit-component/edit-control/richtext-transform-control.js +29 -34
  241. package/es/edit/edit-component/edit-control/richtext-transform-control.js.map +1 -1
  242. package/es/edit/edit-component/edit-control/transform-control.d.ts +4 -2
  243. package/es/edit/edit-component/edit-control/transform-control.js +10 -6
  244. package/es/edit/edit-component/edit-control/transform-control.js.map +1 -1
  245. package/es/edit/edit-component/edit-control/transform-drag.d.ts +1 -0
  246. package/es/edit/edit-component/edit-control/transform-drag.js +4 -2
  247. package/es/edit/edit-component/edit-control/transform-drag.js.map +1 -1
  248. package/es/edit/edit-component/image-selection.d.ts +1 -2
  249. package/es/edit/edit-component/image-selection.js +2 -5
  250. package/es/edit/edit-component/image-selection.js.map +1 -1
  251. package/es/edit/edit-component/index.js +8 -10
  252. package/es/edit/edit-component/index.js.map +1 -1
  253. package/es/edit/edit-component/layer-edit.js +0 -2
  254. package/es/edit/edit-component/mixin/richtext.d.ts +21 -0
  255. package/es/edit/edit-component/mixin/richtext.js +18 -0
  256. package/es/edit/edit-component/mixin/richtext.js.map +1 -0
  257. package/es/edit/edit-component/rect-selection.d.ts +8 -12
  258. package/es/edit/edit-component/rect-selection.js +14 -21
  259. package/es/edit/edit-component/rect-selection.js.map +1 -1
  260. package/es/edit/edit-component/richtext-selection-common.d.ts +19 -0
  261. package/es/edit/edit-component/richtext-selection-common.js +33 -0
  262. package/es/edit/edit-component/richtext-selection-common.js.map +1 -0
  263. package/es/edit/edit-component/richtext-selection.d.ts +0 -2
  264. package/es/edit/edit-component/richtext-selection.js +1 -7
  265. package/es/edit/edit-component/richtext-selection.js.map +1 -1
  266. package/es/edit/edit-component/shape-selection.d.ts +11 -0
  267. package/es/edit/edit-component/shape-selection.js +29 -0
  268. package/es/edit/edit-component/shape-selection.js.map +1 -0
  269. package/es/edit/edit-component/text-selection.d.ts +0 -3
  270. package/es/edit/edit-component/text-selection.js +2 -11
  271. package/es/edit/edit-component/text-selection.js.map +1 -1
  272. package/es/edit/edit.d.ts +5 -2
  273. package/es/edit/edit.js +21 -4
  274. package/es/edit/edit.js.map +1 -1
  275. package/es/edit/interface.d.ts +6 -1
  276. package/es/edit/interface.js +3 -1
  277. package/es/edit/interface.js.map +1 -1
  278. package/es/index.d.ts +3 -0
  279. package/es/index.js +7 -1
  280. package/es/index.js.map +1 -1
  281. package/es/player/encode.js +0 -2
  282. package/es/player/player.js +6 -2
  283. package/es/player/player.js.map +1 -1
  284. package/es/player/processor/chart/common/chartAppear.d.ts +2 -2
  285. package/es/player/processor/chart/common/chartAppear.js.map +1 -1
  286. package/es/player/processor/chart/common/commonAppear.d.ts +3 -3
  287. package/es/player/processor/chart/common/commonAppear.js.map +1 -1
  288. package/es/player/processor/chart/component/axisAppear.d.ts +2 -2
  289. package/es/player/processor/chart/component/axisAppear.js.map +1 -1
  290. package/es/player/processor/chart/component/commonAppear.d.ts +3 -3
  291. package/es/player/processor/chart/component/commonAppear.js.map +1 -1
  292. package/es/player/processor/chart/component/labelAppear.d.ts +2 -2
  293. package/es/player/processor/chart/component/labelAppear.js.map +1 -1
  294. package/es/player/processor/chart/rankingBar/rankingBar.d.ts +29 -0
  295. package/es/player/processor/chart/rankingBar/rankingBar.js +50 -0
  296. package/es/player/processor/chart/rankingBar/rankingBar.js.map +1 -0
  297. package/es/player/processor/chart/seriesmark/commonTransformMarkAppear.d.ts +3 -3
  298. package/es/player/processor/chart/seriesmark/commonTransformMarkAppear.js.map +1 -1
  299. package/es/player/processor/chart/seriesmark/transformArcVisibility.d.ts +2 -2
  300. package/es/player/processor/chart/seriesmark/transformArcVisibility.js.map +1 -1
  301. package/es/player/processor/chart/seriesmark/transformLineVisibility.d.ts +2 -2
  302. package/es/player/processor/chart/seriesmark/transformLineVisibility.js.map +1 -1
  303. package/es/player/processor/chart/seriesmark/transformRectVisibility.d.ts +2 -2
  304. package/es/player/processor/chart/seriesmark/transformRectVisibility.js.map +1 -1
  305. package/es/player/processor/chart/seriesmark/transformSymbolVisibility.d.ts +2 -2
  306. package/es/player/processor/chart/seriesmark/transformSymbolVisibility.js.map +1 -1
  307. package/es/player/processor/chart/seriesmark/transformTextVisibility.d.ts +2 -2
  308. package/es/player/processor/chart/seriesmark/transformTextVisibility.js.map +1 -1
  309. package/es/player/processor/chart/vchart.d.ts +35 -24
  310. package/es/player/processor/chart/vchart.js +89 -61
  311. package/es/player/processor/chart/vchart.js.map +1 -1
  312. package/es/player/processor/common/bounce-processor.js +2 -3
  313. package/es/player/processor/common/bounce-processor.js.map +1 -1
  314. package/es/player/processor/component/common-component.js +21 -21
  315. package/es/player/processor/component/common-component.js.map +1 -1
  316. package/es/player/processor/interface/action-processor.d.ts +1 -1
  317. package/es/player/processor/interface/action-processor.js.map +1 -1
  318. package/es/player/processor/interface/common-action.d.ts +3 -2
  319. package/es/player/processor/interface/common-action.js.map +1 -1
  320. package/es/player/processor/interface/style-action.d.ts +4 -5
  321. package/es/player/processor/interface/style-action.js.map +1 -1
  322. package/es/player/processor/processor.js +1 -1
  323. package/es/player/processor/processor.js.map +1 -1
  324. package/es/player/processor/processorMap.d.ts +9 -0
  325. package/es/player/processor/processorMap.js +8 -0
  326. package/es/player/processor/processorMap.js.map +1 -1
  327. package/es/player/scheduler.js +12 -8
  328. package/es/player/scheduler.js.map +1 -1
  329. package/es/scene/action.js +2 -0
  330. package/es/story/canvas/canvas.js +3 -4
  331. package/es/story/canvas/canvas.js.map +1 -1
  332. package/es/story/character/base/base.d.ts +4 -0
  333. package/es/story/character/base/base.js +1 -1
  334. package/es/story/character/base/base.js.map +1 -1
  335. package/es/story/character/chart/character.d.ts +15 -0
  336. package/es/story/character/chart/character.js +58 -15
  337. package/es/story/character/chart/character.js.map +1 -1
  338. package/es/story/character/chart/characters/rankingBar.d.ts +4 -0
  339. package/es/story/character/chart/characters/rankingBar.js +18 -0
  340. package/es/story/character/chart/characters/rankingBar.js.map +1 -0
  341. package/es/story/character/chart/graphic/vchart-graphic-picker.js +6 -8
  342. package/es/story/character/chart/graphic/vchart-graphic-picker.js.map +1 -1
  343. package/es/story/character/chart/graphic/vchart-graphic-render.js +7 -7
  344. package/es/story/character/chart/graphic/vchart-graphic-render.js.map +1 -1
  345. package/es/story/character/chart/graphic/vchart-graphic.d.ts +12 -2
  346. package/es/story/character/chart/graphic/vchart-graphic.js +80 -12
  347. package/es/story/character/chart/graphic/vchart-graphic.js.map +1 -1
  348. package/es/story/character/chart/runtime/common-spec.d.ts +2 -4
  349. package/es/story/character/chart/runtime/common-spec.js +0 -2
  350. package/es/story/character/chart/runtime/common-spec.js.map +1 -1
  351. package/es/story/character/chart/runtime/component-spec.d.ts +4 -3
  352. package/es/story/character/chart/runtime/component-spec.js +7 -5
  353. package/es/story/character/chart/runtime/component-spec.js.map +1 -1
  354. package/es/story/character/chart/temp/constant.d.ts +1 -0
  355. package/es/story/character/chart/temp/constant.js +2 -1
  356. package/es/story/character/chart/temp/constant.js.map +1 -1
  357. package/es/story/character/chart/temp/templates/bar.d.ts +20 -0
  358. package/es/story/character/chart/temp/templates/bar.js +27 -0
  359. package/es/story/character/chart/temp/templates/bar.js.map +1 -0
  360. package/es/story/character/chart/temp/templates/base-temp.d.ts +6 -4
  361. package/es/story/character/chart/temp/templates/base-temp.js +1 -1
  362. package/es/story/character/chart/temp/templates/base-temp.js.map +1 -1
  363. package/es/story/character/chart/temp/templates/ranking-bar-temp.d.ts +8 -0
  364. package/es/story/character/chart/temp/templates/ranking-bar-temp.js +18 -0
  365. package/es/story/character/chart/temp/templates/ranking-bar-temp.js.map +1 -0
  366. package/es/story/character/component/character-group/component-group-graphic-render.d.ts +2 -2
  367. package/es/story/character/component/character-group/component-group-graphic-render.js +4 -4
  368. package/es/story/character/component/character-group/component-group-graphic-render.js.map +1 -1
  369. package/es/story/character/component/character-group/component-group-graphic.d.ts +1 -1
  370. package/es/story/character/component/character-group/component-group-graphic.js +5 -3
  371. package/es/story/character/component/character-group/component-group-graphic.js.map +1 -1
  372. package/es/story/character/component/character.d.ts +5 -1
  373. package/es/story/character/component/character.js +18 -1
  374. package/es/story/character/component/character.js.map +1 -1
  375. package/es/story/character/component/characters/character-image.d.ts +3 -0
  376. package/es/story/character/component/characters/character-image.js +4 -0
  377. package/es/story/character/component/characters/character-image.js.map +1 -1
  378. package/es/story/character/component/characters/character-rect.d.ts +3 -0
  379. package/es/story/character/component/characters/character-rect.js +4 -0
  380. package/es/story/character/component/characters/character-rect.js.map +1 -1
  381. package/es/story/character/component/characters/character-shape.d.ts +4 -0
  382. package/es/story/character/component/characters/character-shape.js +15 -0
  383. package/es/story/character/component/characters/character-shape.js.map +1 -1
  384. package/es/story/character/component/graphic/graphic-base-text.d.ts +2 -1
  385. package/es/story/character/component/graphic/graphic-base-text.js +7 -2
  386. package/es/story/character/component/graphic/graphic-base-text.js.map +1 -1
  387. package/es/story/character/component/graphic/symbol.d.ts +3 -0
  388. package/es/story/character/component/graphic/symbol.js +17 -2
  389. package/es/story/character/component/graphic/symbol.js.map +1 -1
  390. package/es/story/character/dsl-interface.d.ts +2 -0
  391. package/es/story/character/dsl-interface.js.map +1 -1
  392. package/es/story/character/runtime-interface.d.ts +9 -4
  393. package/es/story/character/runtime-interface.js.map +1 -1
  394. package/es/story/character/visactor/character.d.ts +15 -0
  395. package/es/story/character/visactor/character.js +18 -0
  396. package/es/story/character/visactor/character.js.map +1 -1
  397. package/es/story/character/visactor/interface.js.map +1 -1
  398. package/es/story/index.js +7 -3
  399. package/es/story/index.js.map +1 -1
  400. package/es/story/interface/dsl-interface.d.ts +3 -2
  401. package/es/story/interface/dsl-interface.js.map +1 -1
  402. package/es/story/interface/runtime-interface.d.ts +2 -0
  403. package/es/story/interface/runtime-interface.js.map +1 -1
  404. package/es/story/story.js +3 -2
  405. package/es/story/story.js.map +1 -1
  406. package/es/story/utils/layout.d.ts +2 -1
  407. package/es/story/utils/layout.js +2 -2
  408. package/es/story/utils/layout.js.map +1 -1
  409. package/es/story/utils/vchart-pick.d.ts +115 -0
  410. package/es/story/utils/vchart-pick.js +115 -0
  411. package/es/story/utils/vchart-pick.js.map +1 -0
  412. package/package.json +8 -7
@@ -4,14 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.loadAllSelection = void 0;
6
6
 
7
- const common_1 = require("./common"), box_selection_1 = require("./box-selection"), image_selection_1 = require("./image-selection"), text_selection_1 = require("./text-selection"), richtext_selection_1 = require("./richtext-selection"), rect_selection_1 = require("./rect-selection"), edit_1 = require("../edit");
7
+ const box_selection_1 = require("./box-selection"), image_selection_1 = require("./image-selection"), rect_selection_1 = require("./rect-selection"), chart_selection_1 = require("./chart-selection"), edit_1 = require("../edit"), shape_selection_1 = require("./shape-selection");
8
8
 
9
9
  function loadAllSelection() {
10
- edit_1.Edit.registerEditComponent("common", common_1.CommonEditComponent), edit_1.Edit.registerEditComponent("text", text_selection_1.TextSelection),
11
- edit_1.Edit.registerEditComponent("richtext", richtext_selection_1.RichTextSelection),
12
- edit_1.Edit.registerEditComponent("rect", rect_selection_1.RectSelection), edit_1.Edit.registerEditComponent("box-selection", box_selection_1.BoxSelection),
13
- edit_1.Edit.registerEditComponent("image-selection", image_selection_1.ImageSelection);
10
+ edit_1.Edit.registerEditComponent("rect", rect_selection_1.RectSelection), edit_1.Edit.registerEditComponent("image", image_selection_1.ImageSelection),
11
+ edit_1.Edit.registerEditComponent("shape", shape_selection_1.ShapeSelection), edit_1.Edit.registerEditComponent("chart", chart_selection_1.ChartSelection),
12
+ edit_1.Edit.registerEditComponent("box-selection", box_selection_1.BoxSelection);
14
13
  }
15
14
 
16
15
  exports.loadAllSelection = loadAllSelection;
17
- //# sourceMappingURL=index.js.map
16
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/edit/edit-component/index.ts"],"names":[],"mappings":";;;AAAA,qCAA+C;AAC/C,mDAA+C;AAC/C,uDAAmD;AACnD,qDAAiD;AACjD,6DAAyD;AACzD,qDAAiD;AACjD,kCAA+B;AAE/B,SAAgB,gBAAgB;IAC9B,WAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,4BAAmB,CAAC,CAAC;IAC1D,WAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,8BAAa,CAAC,CAAC;IAClD,WAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,sCAAiB,CAAC,CAAC;IAC1D,WAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,8BAAa,CAAC,CAAC;IAClD,WAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,4BAAY,CAAC,CAAC;IAC1D,WAAI,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,gCAAc,CAAC,CAAC;AAChE,CAAC;AAPD,4CAOC","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,mDAA+C;AAC/C,uDAAmD;AACnD,qDAAiD;AACjD,uDAAmD;AACnD,kCAA+B;AAC/B,uDAAmD;AAEnD,SAAgB,gBAAgB;IAI9B,WAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,8BAAa,CAAC,CAAC;IAClD,WAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,gCAAc,CAAC,CAAC;IACpD,WAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,gCAAc,CAAC,CAAC;IACpD,WAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,gCAAc,CAAC,CAAC;IACpD,WAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,4BAAY,CAAC,CAAC;AAC5D,CAAC;AATD,4CASC","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"]}
@@ -1,3 +1 @@
1
-
2
-
3
1
  //# sourceMappingURL=layer-edit.js.map
@@ -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,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.RichTextMixin = void 0;
6
+
7
+ const richtext_control_1 = require("../edit-control/richtext-control");
8
+
9
+ class RichTextMixin {
10
+ _createRichControl(character, text) {
11
+ this._richTextControl = new richtext_control_1.RichTextControl(this.edit, character, text),
12
+ this._textClickHandlerTemp = this.handlerTextClick.bind(this), text.addEventListener("pointerdown", this._textClickHandlerTemp);
13
+ }
14
+ _releaseRichControl(character, text) {
15
+ var _a;
16
+ null === (_a = this._richTextControl) || void 0 === _a || _a.release(), text && text.removeEventListener("pointerdown", this._textClickHandlerTemp),
17
+ this._richTextControl = null, this._textClickHandlerTemp = null;
18
+ }
19
+ handlerTextClick() {
20
+ var _a;
21
+ null === (_a = this._richTextControl) || void 0 === _a || _a.startEdit();
22
+ }
23
+ }
24
+
25
+ exports.RichTextMixin = RichTextMixin;
26
+ //# sourceMappingURL=richtext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/edit/edit-component/mixin/richtext.ts"],"names":[],"mappings":";;;AAIA,uEAAmE;AAYnE,MAAa,aAAa;IAIxB,kBAAkB,CAAC,SAAqB,EAAE,IAAe;QACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,kCAAe,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;AAtBD,sCAsBC","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
  }
@@ -4,32 +4,27 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.RectSelection = void 0;
6
6
 
7
- const interface_1 = require("../interface"), base_selection_1 = require("./base-selection"), richtext_transform_control_1 = require("./edit-control/richtext-transform-control");
7
+ const character_1 = require("../../constants/character"), richtext_selection_common_1 = require("./richtext-selection-common");
8
8
 
9
- class RectSelection extends base_selection_1.BaseSelection {
10
- constructor(edit) {
11
- super(edit), this.edit = edit, this.level = 3, this.type = "rect";
9
+ class RectSelection extends richtext_selection_common_1.RichTextSelectionCommon {
10
+ constructor() {
11
+ super(...arguments), this.level = 3, this.type = "rect", this.editCharacterType = character_1.StoryComponentType.RECT,
12
+ this.handlerContentClick = e => {
13
+ this._layoutComponent.handleDragMouseDown(e), this.endRichTextEdit();
14
+ };
12
15
  }
13
- _createLayoutComponent(attributes) {
14
- return new richtext_transform_control_1.RichTextTransformControl(this, attributes);
16
+ startEdit(actionInfo) {
17
+ super.startEdit(actionInfo);
18
+ this._actionInfo.character.graphic.graphic.addEventListener("pointerdown", this.handlerContentClick);
15
19
  }
16
20
  editEnd() {
21
+ this._actionInfo.character.graphic.graphic.removeEventListener("pointerdown", this.handlerContentClick),
17
22
  super.editEnd();
18
23
  }
19
- checkAction(actionInfo) {
20
- return this.isEditing ? this.checkActionWhileEditing(actionInfo) : this.checkActionWhileNoEditing(actionInfo);
21
- }
22
- checkActionWhileEditing(actionInfo) {
23
- return (actionInfo.type !== interface_1.EditActionEnum.singleSelection || actionInfo.detail.graphicType === this.type) && !!("pointerdown" !== actionInfo.event.type || actionInfo.event.target && actionInfo.event.target.parent === this._layoutComponent);
24
- }
25
24
  handlerTransformChange(data, event) {
26
- this._activeCharacter && this._activeCharacter.setAttributes(data);
27
- }
28
- checkActionWhileNoEditing(actionInfo) {
29
- return actionInfo.type === interface_1.EditActionEnum.singleSelection && actionInfo.detail.graphicType === this.type && (this.startEdit(actionInfo),
30
- !0);
25
+ return super.handlerTransformChange(data, event);
31
26
  }
32
27
  }
33
28
 
34
29
  exports.RectSelection = RectSelection;
35
- //# sourceMappingURL=rect-selection.js.map
30
+ //# sourceMappingURL=rect-selection.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/edit/edit-component/rect-selection.ts"],"names":[],"mappings":";;;AACA,4CAAyF;AAEzF,qDAAiD;AAIjD,0FAAqF;AAErF,MAAa,aAAc,SAAQ,8BAAa;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,qDAAwB,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,0BAAc,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,0BAAc,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;AApDD,sCAoDC","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,yDAA+D;AAK/D,2EAAsE;AAEtE,MAAa,aAAc,SAAQ,mDAAuB;IAA1D;;QACW,UAAK,GAAG,CAAC,CAAC;QACV,SAAI,GAAW,MAAM,CAAC;QACtB,sBAAiB,GAAW,8BAAkB,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;AA1BD,sCA0BC","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,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.RichTextSelectionCommon = void 0;
6
+
7
+ const base_selection_1 = require("./base-selection"), vutils_1 = require("@visactor/vutils"), richtext_1 = require("./mixin/richtext");
8
+
9
+ class RichTextSelectionCommon extends base_selection_1.BaseSelection {
10
+ constructor() {
11
+ super(...arguments), this.level = 3, this.endRichTextEdit = () => {
12
+ var _a;
13
+ null === (_a = this._richTextControl) || void 0 === _a || _a.endEdit();
14
+ };
15
+ }
16
+ _getRichText() {
17
+ const character = this._actionInfo.character;
18
+ return {
19
+ character: character,
20
+ text: character.textGraphic
21
+ };
22
+ }
23
+ startEdit(actionInfo) {
24
+ super.startEdit(actionInfo);
25
+ const {character: character, text: text} = this._getRichText();
26
+ this._createRichControl(character, text);
27
+ }
28
+ editEnd() {
29
+ const {character: character, text: text} = this._getRichText();
30
+ this._releaseRichControl(character, text), super.editEnd();
31
+ }
32
+ }
33
+
34
+ exports.RichTextSelectionCommon = RichTextSelectionCommon, (0, vutils_1.mixin)(RichTextSelectionCommon, richtext_1.RichTextMixin);
35
+ //# sourceMappingURL=richtext-selection-common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/edit/edit-component/richtext-selection-common.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAEjD,6CAAyC;AACzC,+CAAiD;AAMjD,MAAa,uBAAwB,SAAQ,8BAAa;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;AA1BD,0DA0BC;AAED,IAAA,cAAK,EAAC,uBAAuB,EAAE,wBAAa,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;
@@ -13,12 +13,6 @@ class RichTextSelection extends base_selection_1.BaseSelection {
13
13
  _createLayoutComponent(attributes) {
14
14
  return new richtext_transform_control_1.RichTextTransformControl(this, attributes);
15
15
  }
16
- editEnd() {
17
- super.editEnd();
18
- }
19
- checkAction(actionInfo) {
20
- return this.isEditing ? this.checkActionWhileEditing(actionInfo) : this.checkActionWhileNoEditing(actionInfo);
21
- }
22
16
  checkActionWhileEditing(actionInfo) {
23
17
  return (actionInfo.type !== interface_1.EditActionEnum.singleSelection || actionInfo.detail.graphicType === this.type) && !!("pointerdown" !== actionInfo.event.type || actionInfo.event.target && actionInfo.event.target.parent === this._layoutComponent);
24
18
  }
@@ -36,4 +30,4 @@ class RichTextSelection extends base_selection_1.BaseSelection {
36
30
  }
37
31
 
38
32
  exports.RichTextSelection = RichTextSelection;
39
- //# sourceMappingURL=richtext-selection.js.map
33
+ //# sourceMappingURL=richtext-selection.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/edit/edit-component/richtext-selection.ts"],"names":[],"mappings":";;;AACA,4CAAyF;AAGzF,qDAAiD;AAEjD,0FAAqF;AAErF,MAAa,iBAAkB,SAAQ,8BAAa;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,qDAAwB,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,0BAAc,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,0BAAc,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;AA/DD,8CA+DC","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,4CAAyF;AAEzF,qDAAiD;AAEjD,0FAAqF;AAErF,MAAa,iBAAkB,SAAQ,8BAAa;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,qDAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IAED,uBAAuB,CAAC,UAAgD;QAEtE,IACE,UAAU,CAAC,IAAI,KAAK,0BAAc,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,0BAAc,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;AApDD,8CAoDC","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,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.ShapeSelection = void 0;
6
+
7
+ const character_1 = require("../../constants/character"), rect_selection_1 = require("./rect-selection");
8
+
9
+ class ShapeSelection extends rect_selection_1.RectSelection {
10
+ constructor() {
11
+ super(...arguments), this.level = 3, this.type = "shape", this.editCharacterType = character_1.StoryComponentType.SHAPE;
12
+ }
13
+ updateComponent() {
14
+ const actionInfo = this._actionInfo;
15
+ if (!actionInfo || !actionInfo.character) return;
16
+ const symbol = actionInfo.character.graphic.graphic, {width: width, height: height} = symbol.attribute, group = actionInfo.character.getGraphicParent(), {angle: angle, x: x, y: y} = group.attribute;
17
+ this._layoutComponent.updateBoundsAndAngle({
18
+ x1: x,
19
+ y1: y,
20
+ x2: x + width,
21
+ y2: y + height
22
+ }, angle);
23
+ }
24
+ handlerTransformChange(data, event) {
25
+ if (this._activeCharacter) {
26
+ const {x: x, y: y, width: width, height: height} = data;
27
+ this._activeCharacter.setAttributes(Object.assign(Object.assign({}, data), {
28
+ x: x + width / 2,
29
+ y: y + height / 2
30
+ }));
31
+ }
32
+ }
33
+ }
34
+
35
+ exports.ShapeSelection = ShapeSelection;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/edit/edit-component/shape-selection.ts"],"names":[],"mappings":";;;AACA,yDAA+D;AAO/D,qDAAiD;AAEjD,MAAa,cAAe,SAAQ,8BAAa;IAAjD;;QACW,UAAK,GAAG,CAAC,CAAC;QACV,SAAI,GAAW,OAAO,CAAC;QACvB,sBAAiB,GAAW,8BAAkB,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;AAvCD,wCAuCC","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
  }
@@ -4,22 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.TextSelection = void 0;
6
6
 
7
- const interface_1 = require("../interface"), base_selection_1 = require("./base-selection");
7
+ const base_selection_1 = require("./base-selection");
8
8
 
9
9
  class TextSelection extends base_selection_1.BaseSelection {
10
10
  constructor(edit) {
11
11
  super(edit), this.edit = edit, this.level = 3;
12
12
  }
13
- editEnd() {
14
- super.editEnd();
15
- }
16
- checkAction(actionInfo) {
17
- return actionInfo.type === interface_1.EditActionEnum.singleSelection && (!!actionInfo.detail && ("text" === actionInfo.detail.graphicType && (this.startEdit(actionInfo),
18
- !0)));
19
- }
20
13
  startEdit(actionInfo) {
21
14
  super.startEdit(actionInfo), this.edit.startEdit({
22
- type: "boxSelection",
15
+ type: "textSelection",
23
16
  actionInfo: this._actionInfo,
24
17
  updateCharacter: params => {}
25
18
  });
@@ -27,4 +20,4 @@ class TextSelection extends base_selection_1.BaseSelection {
27
20
  }
28
21
 
29
22
  exports.TextSelection = TextSelection;
30
- //# sourceMappingURL=text-selection.js.map
23
+ //# sourceMappingURL=text-selection.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/edit/edit-component/text-selection.ts"],"names":[],"mappings":";;;AACA,4CAAyF;AAGzF,qDAAiD;AAEjD,MAAa,aAAc,SAAQ,8BAAa;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,0BAAc,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;AAlCD,sCAkCC","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,qDAAiD;AAEjD,MAAa,aAAc,SAAQ,8BAAa;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;AAjBD,sCAiBC","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"]}
@@ -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/cjs/edit/edit.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.Edit = void 0;
6
6
 
7
- const edit_action_1 = require("./edit-action"), vutils_1 = require("@visactor/vutils"), vrender_1 = require("@visactor/vrender");
7
+ const edit_action_1 = require("./edit-action"), vutils_1 = require("@visactor/vutils"), interface_1 = require("./interface"), vrender_1 = require("@visactor/vrender");
8
8
 
9
9
  class Edit {
10
10
  static registerEditComponent(key, cpt) {
@@ -17,8 +17,10 @@ class Edit {
17
17
  this._initEditGroup(), this._initComponent();
18
18
  }
19
19
  _initEditGroup() {
20
- this._editGroup = (0, vrender_1.createGroup)({});
21
- this.story.canvas.getStage().createLayer().add(this._editGroup);
20
+ this._editGroup = (0, vrender_1.createGroup)({}), this._editGroup.name = "edit_group";
21
+ const editLayer = this.story.canvas.getStage().createLayer();
22
+ editLayer.add(this._editGroup), this._overGraphicGroup = (0, vrender_1.createGroup)({}),
23
+ this._overGraphicGroup.name = "over_group", editLayer.add(this._overGraphicGroup);
22
24
  }
23
25
  getEditGroup() {
24
26
  return this._editGroup;
@@ -29,16 +31,26 @@ class Edit {
29
31
  })), this._componentList = Object.values(this._componentMap).sort(((a, b) => a.level - b.level)).reverse();
30
32
  }
31
33
  onStoryEvent(event, type) {
34
+ if (event.path.find((g => g === this._editGroup || g === this._overGraphicGroup))) {
35
+ if (!event.path[event.path.length - 1].isContainer) return;
36
+ }
32
37
  this.editAction.onStoryEvent(event, type);
33
38
  }
34
39
  onAction(actionInfo) {
35
- if (!this._currentComponent || !this._currentComponent.checkAction(actionInfo)) for (let i = 0; i < this._componentList.length; i++) {
40
+ if (this._currentComponent) {
41
+ if (this._currentComponent.checkAction(actionInfo)) return;
42
+ actionInfo.type === interface_1.EditActionEnum.unSelection && this.stopEdit();
43
+ }
44
+ for (let i = 0; i < this._componentList.length; i++) {
36
45
  const cpt = this._componentList[i];
37
46
  if (cpt.checkAction(actionInfo)) return this.stopEdit(), void (this._currentComponent = cpt);
38
47
  }
39
48
  }
40
49
  startEdit(msg) {
41
- this.emitter.emit("startEdit", msg);
50
+ this.dispatchEditAction("startEdit", msg);
51
+ }
52
+ dispatchEditAction(type, msg) {
53
+ this.emitter.emit(type, msg);
42
54
  }
43
55
  triggerEditWithEvent(event) {}
44
56
  triggerEditWithComponent(type, actionInfo) {}
@@ -50,6 +62,9 @@ class Edit {
50
62
  var _a, _b;
51
63
  null === (_b = null === (_a = this.story.canvas) || void 0 === _a ? void 0 : _a.getStage) || void 0 === _b || _b.call(_a).removeEventListener("*", this.onStoryEvent);
52
64
  }
65
+ showOverGraphic(graphic, clearOther = !0) {
66
+ clearOther && this._overGraphicGroup.removeAllChild(!0), this._overGraphicGroup.add(graphic);
67
+ }
53
68
  }
54
69
 
55
70
  exports.Edit = Edit, 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":";;;AAEA,+CAA2C;AAC3C,6CAAgD;AAChD,2CAMqB;AAErB,+CAAgD;AAEhD,MAAa,IAAI;IAMf,MAAM,CAAC,qBAAqB,CAAC,GAAW,EAAE,GAA8B;QACtE,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAC1C,CAAC;IAUD,YAA4B,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;QAR9B,kBAAa,GAAsC,EAAE,CAAC;QAS9D,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAY,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAQ,CAAC,CAAC;QACxF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,UAAU,GAAG,IAAA,qBAAW,EAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,YAAY,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7D,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE/B,IAAI,CAAC,iBAAiB,GAAG,IAAA,qBAAW,EAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,YAAY,CAAC;QAC3C,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAES,cAAc;QACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;aACpD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,OAAO,EAAE,CAAC;IACf,CAAC;IAED,YAAY,CAAC,KAAiB,EAAE,IAAY;QAE1C,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,IAAI,CAAC,iBAAiB,CAAC,EAAE;YAE/E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;gBAC3B,OAAO;aACR;SACF;QACD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ,CAAC,UAA2B;QAClC,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAE1B,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE;gBAClD,OAAO;aACR;iBAAM,IAAI,UAAU,CAAC,IAAI,KAAK,0BAAc,CAAC,WAAW,EAAE;gBACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;aACjB;SACF;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE;gBAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;gBAC7B,OAAO;aACR;SACF;IACH,CAAC;IAED,SAAS,CAAC,GAAiB;QACzB,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB,CAAC,IAAY,EAAE,GAAiB;QAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,oBAAoB,CAAC,KAAiB;QACpC,OAAO;IACT,CAAC;IAED,wBAAwB,CAAC,IAAY,EAAE,UAA2B;QAChE,OAAO;IACT,CAAC;IAED,QAAQ;;QACN,MAAA,IAAI,CAAC,iBAAiB,0CAAE,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,OAAO;;QACL,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,QAAQ,mDAAK,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,YAAmB,CAAC,CAAC;IACrF,CAAC;IAED,eAAe,CAAC,OAAiB,EAAE,aAAsB,IAAI;QAC3D,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;;AAjHH,oBAkHC;AA9GkB,4BAAuB,GAAiD,EAAE,CAAC","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;
@@ -5,6 +5,8 @@ var EditActionEnum;
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: !0
7
7
  }), exports.EditActionEnum = void 0, function(EditActionEnum) {
8
- EditActionEnum.singleSelection = "singleSelect", EditActionEnum.multipleSelection = "multipleSelect";
8
+ EditActionEnum.singleSelection = "singleSelect", EditActionEnum.multipleSelection = "multipleSelect",
9
+ EditActionEnum.unSelection = "unSelect", EditActionEnum.pointerOverCharacter = "pointerOverCharacter",
10
+ EditActionEnum.pointerOutCharacter = "pointerOutCharacter", EditActionEnum.richTextPluginEdit = "richTextPluginEdit";
9
11
  }(EditActionEnum = exports.EditActionEnum || (exports.EditActionEnum = {}));
10
12
  //# sourceMappingURL=interface.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/edit/interface.ts"],"names":[],"mappings":";;;AAKA,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,kDAAgC,CAAA;IAChC,sDAAoC,CAAA;AACtC,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,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,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,GAAd,sBAAc,KAAd,sBAAc,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/cjs/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';