@visactor/vrender-components 0.18.11-alpha.7 → 0.18.12

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 (323) hide show
  1. package/cjs/axis/base.js +21 -9
  2. package/cjs/axis/base.js.map +1 -1
  3. package/cjs/axis/circle.js +1 -1
  4. package/cjs/axis/circle.js.map +1 -1
  5. package/cjs/axis/grid/base.js +1 -5
  6. package/cjs/axis/grid/base.js.map +1 -1
  7. package/cjs/axis/index.d.ts +1 -0
  8. package/cjs/axis/index.js +1 -1
  9. package/cjs/axis/index.js.map +1 -1
  10. package/cjs/axis/line.js +5 -5
  11. package/cjs/axis/line.js.map +1 -1
  12. package/cjs/axis/mixin/circle.js +2 -4
  13. package/cjs/axis/mixin/circle.js.map +1 -1
  14. package/cjs/axis/overlap/auto-limit.js +8 -13
  15. package/cjs/axis/overlap/auto-limit.js.map +1 -1
  16. package/cjs/axis/util.d.ts +5 -2
  17. package/cjs/axis/util.js +18 -5
  18. package/cjs/axis/util.js.map +1 -1
  19. package/cjs/brush/brush.js +21 -14
  20. package/cjs/brush/brush.js.map +1 -1
  21. package/cjs/checkbox/checkbox.d.ts +3 -3
  22. package/cjs/checkbox/checkbox.js +12 -12
  23. package/cjs/checkbox/checkbox.js.map +1 -1
  24. package/cjs/checkbox/register.js +1 -1
  25. package/cjs/checkbox/register.js.map +1 -1
  26. package/cjs/checkbox/type.d.ts +2 -2
  27. package/cjs/checkbox/type.js.map +1 -1
  28. package/cjs/data-zoom/data-zoom.js +12 -6
  29. package/cjs/data-zoom/data-zoom.js.map +1 -1
  30. package/cjs/index.d.ts +2 -1
  31. package/cjs/index.js +3 -2
  32. package/cjs/index.js.map +1 -1
  33. package/cjs/indicator/indicator.js +3 -3
  34. package/cjs/indicator/indicator.js.map +1 -1
  35. package/cjs/label/arc.d.ts +2 -2
  36. package/cjs/label/base.d.ts +2 -2
  37. package/cjs/label/base.js +3 -1
  38. package/cjs/label/base.js.map +1 -1
  39. package/cjs/legend/color/color.js +7 -5
  40. package/cjs/legend/color/color.js.map +1 -1
  41. package/cjs/legend/discrete/discrete.js +4 -2
  42. package/cjs/legend/discrete/discrete.js.map +1 -1
  43. package/cjs/legend/size/size.js +6 -4
  44. package/cjs/legend/size/size.js.map +1 -1
  45. package/cjs/marker/area.d.ts +4 -14
  46. package/cjs/marker/area.js +21 -34
  47. package/cjs/marker/area.js.map +1 -1
  48. package/cjs/marker/base.d.ts +3 -21
  49. package/cjs/marker/base.js +5 -40
  50. package/cjs/marker/base.js.map +1 -1
  51. package/cjs/marker/config.d.ts +6 -79
  52. package/cjs/marker/config.js +37 -77
  53. package/cjs/marker/config.js.map +1 -1
  54. package/cjs/marker/index.d.ts +0 -2
  55. package/cjs/marker/index.js +1 -2
  56. package/cjs/marker/index.js.map +1 -1
  57. package/cjs/marker/line.d.ts +12 -24
  58. package/cjs/marker/line.js +45 -111
  59. package/cjs/marker/line.js.map +1 -1
  60. package/cjs/marker/point.d.ts +3 -8
  61. package/cjs/marker/point.js +9 -33
  62. package/cjs/marker/point.js.map +1 -1
  63. package/cjs/marker/register.d.ts +0 -2
  64. package/cjs/marker/register.js +2 -11
  65. package/cjs/marker/register.js.map +1 -1
  66. package/cjs/marker/type.d.ts +12 -102
  67. package/cjs/marker/type.js +2 -8
  68. package/cjs/marker/type.js.map +1 -1
  69. package/cjs/marker/util.js +3 -0
  70. package/cjs/marker/util.js.map +1 -0
  71. package/cjs/pager/pager.js +2 -2
  72. package/cjs/pager/pager.js.map +1 -1
  73. package/cjs/player/base-player.d.ts +2 -0
  74. package/cjs/player/base-player.js +11 -6
  75. package/cjs/player/base-player.js.map +1 -1
  76. package/cjs/player/continuous-player.d.ts +1 -1
  77. package/cjs/player/continuous-player.js +6 -4
  78. package/cjs/player/continuous-player.js.map +1 -1
  79. package/cjs/player/controller/controller.js +4 -4
  80. package/cjs/player/controller/controller.js.map +1 -1
  81. package/cjs/player/discrete-player.d.ts +1 -1
  82. package/cjs/player/discrete-player.js +6 -4
  83. package/cjs/player/discrete-player.js.map +1 -1
  84. package/cjs/poptip/poptip.js +6 -4
  85. package/cjs/poptip/poptip.js.map +1 -1
  86. package/cjs/poptip/register.js +2 -2
  87. package/cjs/poptip/register.js.map +1 -1
  88. package/cjs/radio/index.d.ts +2 -0
  89. package/cjs/radio/index.js +21 -0
  90. package/cjs/radio/index.js.map +1 -0
  91. package/cjs/radio/radio.d.ts +16 -0
  92. package/cjs/radio/radio.js +89 -0
  93. package/cjs/radio/radio.js.map +1 -0
  94. package/cjs/radio/register.d.ts +1 -0
  95. package/cjs/radio/register.js +15 -0
  96. package/cjs/radio/register.js.map +1 -0
  97. package/cjs/radio/type.d.ts +21 -0
  98. package/cjs/radio/type.js +6 -0
  99. package/cjs/radio/type.js.map +1 -0
  100. package/cjs/segment/index.d.ts +0 -1
  101. package/cjs/segment/index.js +1 -2
  102. package/cjs/segment/index.js.map +1 -1
  103. package/cjs/segment/register.d.ts +1 -2
  104. package/cjs/segment/register.js +3 -8
  105. package/cjs/segment/register.js.map +1 -1
  106. package/cjs/segment/segment.d.ts +7 -9
  107. package/cjs/segment/segment.js +8 -12
  108. package/cjs/segment/segment.js.map +1 -1
  109. package/cjs/segment/type.d.ts +4 -24
  110. package/cjs/segment/type.js.map +1 -1
  111. package/cjs/slider/slider.d.ts +2 -0
  112. package/cjs/slider/slider.js +60 -42
  113. package/cjs/slider/slider.js.map +1 -1
  114. package/cjs/slider/type.d.ts +1 -0
  115. package/cjs/slider/type.js.map +1 -1
  116. package/cjs/tag/tag.d.ts +0 -5
  117. package/cjs/tag/tag.js +5 -14
  118. package/cjs/tag/tag.js.map +1 -1
  119. package/cjs/title/register.js +1 -2
  120. package/cjs/title/register.js.map +1 -1
  121. package/cjs/title/title.js +6 -4
  122. package/cjs/title/title.js.map +1 -1
  123. package/cjs/util/text.d.ts +1 -1
  124. package/cjs/util/text.js +6 -7
  125. package/cjs/util/text.js.map +1 -1
  126. package/es/axis/base.js +23 -13
  127. package/es/axis/base.js.map +1 -1
  128. package/es/axis/circle.js +2 -2
  129. package/es/axis/circle.js.map +1 -1
  130. package/es/axis/grid/base.js +2 -6
  131. package/es/axis/grid/base.js.map +1 -1
  132. package/es/axis/index.d.ts +1 -0
  133. package/es/axis/index.js +2 -0
  134. package/es/axis/index.js.map +1 -1
  135. package/es/axis/line.js +5 -5
  136. package/es/axis/line.js.map +1 -1
  137. package/es/axis/mixin/circle.js +2 -3
  138. package/es/axis/mixin/circle.js.map +1 -1
  139. package/es/axis/overlap/auto-limit.js +9 -13
  140. package/es/axis/overlap/auto-limit.js.map +1 -1
  141. package/es/axis/util.d.ts +5 -2
  142. package/es/axis/util.js +15 -1
  143. package/es/axis/util.js.map +1 -1
  144. package/es/brush/brush.js +21 -14
  145. package/es/brush/brush.js.map +1 -1
  146. package/es/checkbox/checkbox.d.ts +3 -3
  147. package/es/checkbox/checkbox.js +13 -12
  148. package/es/checkbox/checkbox.js.map +1 -1
  149. package/es/checkbox/register.js +2 -2
  150. package/es/checkbox/register.js.map +1 -1
  151. package/es/checkbox/type.d.ts +2 -2
  152. package/es/checkbox/type.js.map +1 -1
  153. package/es/data-zoom/data-zoom.js +12 -6
  154. package/es/data-zoom/data-zoom.js.map +1 -1
  155. package/es/index.d.ts +2 -1
  156. package/es/index.js +3 -1
  157. package/es/index.js.map +1 -1
  158. package/es/indicator/indicator.js +3 -3
  159. package/es/indicator/indicator.js.map +1 -1
  160. package/es/label/arc.d.ts +2 -2
  161. package/es/label/base.d.ts +2 -2
  162. package/es/label/base.js +3 -1
  163. package/es/label/base.js.map +1 -1
  164. package/es/legend/color/color.js +7 -5
  165. package/es/legend/color/color.js.map +1 -1
  166. package/es/legend/discrete/discrete.js +4 -2
  167. package/es/legend/discrete/discrete.js.map +1 -1
  168. package/es/legend/size/size.js +6 -4
  169. package/es/legend/size/size.js.map +1 -1
  170. package/es/marker/area.d.ts +4 -14
  171. package/es/marker/area.js +19 -36
  172. package/es/marker/area.js.map +1 -1
  173. package/es/marker/base.d.ts +3 -21
  174. package/es/marker/base.js +4 -43
  175. package/es/marker/base.js.map +1 -1
  176. package/es/marker/config.d.ts +6 -79
  177. package/es/marker/config.js +37 -79
  178. package/es/marker/config.js.map +1 -1
  179. package/es/marker/index.d.ts +0 -2
  180. package/es/marker/index.js +0 -4
  181. package/es/marker/index.js.map +1 -1
  182. package/es/marker/line.d.ts +12 -24
  183. package/es/marker/line.js +48 -116
  184. package/es/marker/line.js.map +1 -1
  185. package/es/marker/point.d.ts +3 -8
  186. package/es/marker/point.js +6 -34
  187. package/es/marker/point.js.map +1 -1
  188. package/es/marker/register.d.ts +0 -2
  189. package/es/marker/register.js +2 -10
  190. package/es/marker/register.js.map +1 -1
  191. package/es/marker/type.d.ts +12 -102
  192. package/es/marker/type.js +0 -9
  193. package/es/marker/type.js.map +1 -1
  194. package/es/marker/util.js +3 -0
  195. package/es/marker/util.js.map +1 -0
  196. package/es/pager/pager.js +2 -2
  197. package/es/pager/pager.js.map +1 -1
  198. package/es/player/base-player.d.ts +2 -0
  199. package/es/player/base-player.js +11 -6
  200. package/es/player/base-player.js.map +1 -1
  201. package/es/player/continuous-player.d.ts +1 -1
  202. package/es/player/continuous-player.js +6 -4
  203. package/es/player/continuous-player.js.map +1 -1
  204. package/es/player/controller/controller.js +5 -5
  205. package/es/player/controller/controller.js.map +1 -1
  206. package/es/player/discrete-player.d.ts +1 -1
  207. package/es/player/discrete-player.js +6 -4
  208. package/es/player/discrete-player.js.map +1 -1
  209. package/es/poptip/poptip.js +6 -4
  210. package/es/poptip/poptip.js.map +1 -1
  211. package/es/poptip/register.js +2 -2
  212. package/es/poptip/register.js.map +1 -1
  213. package/es/radio/index.d.ts +2 -0
  214. package/es/radio/index.js +4 -0
  215. package/es/radio/index.js.map +1 -0
  216. package/es/radio/radio.d.ts +16 -0
  217. package/es/radio/radio.js +88 -0
  218. package/es/radio/radio.js.map +1 -0
  219. package/es/radio/register.d.ts +1 -0
  220. package/es/radio/register.js +6 -0
  221. package/es/radio/register.js.map +1 -0
  222. package/es/radio/type.d.ts +21 -0
  223. package/es/radio/type.js +2 -0
  224. package/es/radio/type.js.map +1 -0
  225. package/es/segment/index.d.ts +0 -1
  226. package/es/segment/index.js +0 -2
  227. package/es/segment/index.js.map +1 -1
  228. package/es/segment/register.d.ts +1 -2
  229. package/es/segment/register.js +2 -6
  230. package/es/segment/register.js.map +1 -1
  231. package/es/segment/segment.d.ts +7 -9
  232. package/es/segment/segment.js +8 -11
  233. package/es/segment/segment.js.map +1 -1
  234. package/es/segment/type.d.ts +4 -24
  235. package/es/segment/type.js.map +1 -1
  236. package/es/slider/slider.d.ts +2 -0
  237. package/es/slider/slider.js +57 -40
  238. package/es/slider/slider.js.map +1 -1
  239. package/es/slider/type.d.ts +1 -0
  240. package/es/slider/type.js.map +1 -1
  241. package/es/tag/tag.d.ts +0 -5
  242. package/es/tag/tag.js +5 -14
  243. package/es/tag/tag.js.map +1 -1
  244. package/es/title/register.js +2 -2
  245. package/es/title/register.js.map +1 -1
  246. package/es/title/title.js +6 -4
  247. package/es/title/title.js.map +1 -1
  248. package/es/util/text.d.ts +1 -1
  249. package/es/util/text.js +6 -7
  250. package/es/util/text.js.map +1 -1
  251. package/package.json +3 -3
  252. package/cjs/marker/animate/animate.d.ts +0 -13
  253. package/cjs/marker/animate/animate.js +0 -92
  254. package/cjs/marker/animate/animate.js.map +0 -1
  255. package/cjs/marker/animate/call-in.d.ts +0 -4
  256. package/cjs/marker/animate/call-in.js +0 -27
  257. package/cjs/marker/animate/call-in.js.map +0 -1
  258. package/cjs/marker/animate/clip-in.d.ts +0 -4
  259. package/cjs/marker/animate/clip-in.js +0 -23
  260. package/cjs/marker/animate/clip-in.js.map +0 -1
  261. package/cjs/marker/animate/common.d.ts +0 -9
  262. package/cjs/marker/animate/common.js +0 -48
  263. package/cjs/marker/animate/common.js.map +0 -1
  264. package/cjs/marker/animate/fade-in.d.ts +0 -7
  265. package/cjs/marker/animate/fade-in.js +0 -30
  266. package/cjs/marker/animate/fade-in.js.map +0 -1
  267. package/cjs/marker/animate/fade-out.d.ts +0 -7
  268. package/cjs/marker/animate/fade-out.js +0 -30
  269. package/cjs/marker/animate/fade-out.js.map +0 -1
  270. package/cjs/marker/animate/index.js +0 -3
  271. package/cjs/marker/animate/index.js.map +0 -1
  272. package/cjs/marker/arc-area.d.ts +0 -55
  273. package/cjs/marker/arc-area.js +0 -131
  274. package/cjs/marker/arc-area.js.map +0 -1
  275. package/cjs/marker/arc-line.d.ts +0 -25
  276. package/cjs/marker/arc-line.js +0 -106
  277. package/cjs/marker/arc-line.js.map +0 -1
  278. package/cjs/marker/common-line.d.ts +0 -22
  279. package/cjs/marker/common-line.js +0 -56
  280. package/cjs/marker/common-line.js.map +0 -1
  281. package/cjs/segment/arc-segment.d.ts +0 -13
  282. package/cjs/segment/arc-segment.js +0 -51
  283. package/cjs/segment/arc-segment.js.map +0 -1
  284. package/cjs/util/interaction.d.ts +0 -4
  285. package/cjs/util/interaction.js +0 -37
  286. package/cjs/util/interaction.js.map +0 -1
  287. package/es/marker/animate/animate.d.ts +0 -13
  288. package/es/marker/animate/animate.js +0 -92
  289. package/es/marker/animate/animate.js.map +0 -1
  290. package/es/marker/animate/call-in.d.ts +0 -4
  291. package/es/marker/animate/call-in.js +0 -17
  292. package/es/marker/animate/call-in.js.map +0 -1
  293. package/es/marker/animate/clip-in.d.ts +0 -4
  294. package/es/marker/animate/clip-in.js +0 -15
  295. package/es/marker/animate/clip-in.js.map +0 -1
  296. package/es/marker/animate/common.d.ts +0 -9
  297. package/es/marker/animate/common.js +0 -39
  298. package/es/marker/animate/common.js.map +0 -1
  299. package/es/marker/animate/fade-in.d.ts +0 -7
  300. package/es/marker/animate/fade-in.js +0 -20
  301. package/es/marker/animate/fade-in.js.map +0 -1
  302. package/es/marker/animate/fade-out.d.ts +0 -7
  303. package/es/marker/animate/fade-out.js +0 -20
  304. package/es/marker/animate/fade-out.js.map +0 -1
  305. package/es/marker/animate/index.js +0 -3
  306. package/es/marker/animate/index.js.map +0 -1
  307. package/es/marker/arc-area.d.ts +0 -55
  308. package/es/marker/arc-area.js +0 -143
  309. package/es/marker/arc-area.js.map +0 -1
  310. package/es/marker/arc-line.d.ts +0 -25
  311. package/es/marker/arc-line.js +0 -114
  312. package/es/marker/arc-line.js.map +0 -1
  313. package/es/marker/common-line.d.ts +0 -22
  314. package/es/marker/common-line.js +0 -58
  315. package/es/marker/common-line.js.map +0 -1
  316. package/es/segment/arc-segment.d.ts +0 -13
  317. package/es/segment/arc-segment.js +0 -49
  318. package/es/segment/arc-segment.js.map +0 -1
  319. package/es/util/interaction.d.ts +0 -4
  320. package/es/util/interaction.js +0 -30
  321. package/es/util/interaction.js.map +0 -1
  322. /package/cjs/marker/{animate/index.d.ts → util.d.ts} +0 -0
  323. /package/es/marker/{animate/index.d.ts → util.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/player/continuous-player.ts"],"names":[],"mappings":"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","file":"continuous-player.js","sourcesContent":["import type { FederatedPointerEvent } from '@visactor/vrender-core';\nimport { vglobal } from '@visactor/vrender-core';\nimport { BasePlayer } from './base-player';\nimport type { ContinuousPlayerAttributes } from './type';\nimport { PlayerEventEnum } from './type';\nimport { ControllerEventEnum } from './controller/constant';\nimport { loadContinuousPlayerComponent } from './register';\n\nexport interface IContinuousPlayer {\n play: () => Promise<void>;\n pause: () => void;\n forward: () => void;\n backward: () => void;\n}\n\nloadContinuousPlayerComponent();\nexport class ContinuousPlayer extends BasePlayer<ContinuousPlayerAttributes> implements IContinuousPlayer {\n declare attribute: ContinuousPlayerAttributes;\n\n private _dataIndex: number;\n private _activeIndex: number;\n\n protected _alternate: boolean;\n protected _interval: number;\n protected _totalDuration: number;\n\n private _isPlaying = false;\n private _startTime: number = Date.now();\n private _elapsed: number;\n private _rafId: number;\n\n constructor(attributes: ContinuousPlayerAttributes) {\n super(attributes);\n\n this._initAttributes();\n this._initEvents();\n }\n\n /**\n * 初始化属性\n */\n _initAttributes = () => {\n super._initAttributes();\n // 新增一个占位数据\n this._maxIndex = this._data.length;\n this._slider.setAttribute('max', this._maxIndex);\n\n this._isPlaying = false;\n this._elapsed = 0;\n this._interval = this.attribute.interval ?? 1000;\n this._dataIndex = this.attribute.dataIndex ?? this._minIndex;\n\n // 播放帧数(10条数据, 需要10个播放帧)\n const frames = this._data.length;\n\n // 若用户配置了总时长\n if (this.attribute.totalDuration && this._data.length) {\n this._totalDuration = this.attribute.totalDuration;\n // 避免除0\n this._interval = this._totalDuration / (frames ?? 1);\n }\n // 若未配置总时长, 则根据interval算出一个总时长, interval有默认值\n else {\n this._totalDuration = this._interval * frames;\n this._interval = this.attribute.interval;\n }\n };\n\n /**\n * 初始化事件\n */\n private _initEvents = () => {\n if (this.attribute.disableTriggerEvent) {\n return;\n }\n this._controller.addEventListener(ControllerEventEnum.OnPlay, (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.play();\n });\n this._controller.addEventListener(ControllerEventEnum.OnPause, (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.pause();\n });\n this._controller.addEventListener(ControllerEventEnum.OnForward, (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.forward();\n });\n this._controller.addEventListener(ControllerEventEnum.OnBackward, (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.backward();\n });\n\n this._slider.addEventListener('change', (e: FederatedPointerEvent) => {\n e.stopPropagation();\n /**\n * 根据value, 反推开始时间\n * 1. 计算进度\n * 2. 计算流逝时间\n * 3. 用现在的时间, 模拟一个开始时间\n */\n const value = (e.detail as unknown as { value: number; position: number })?.value;\n const progress = value / this._maxIndex;\n this._elapsed = progress * this._totalDuration;\n this._startTime = Date.now() - this._elapsed;\n\n this._dispatchChange(value);\n });\n };\n\n /**\n * 根据已流逝时间和总时长, 计算slider的值\n */\n private _getSliderValue = () => {\n const progress = this._elapsed / this._totalDuration;\n return Math.min(progress * this._maxIndex, this._maxIndex);\n };\n\n /**\n * 根据流逝时间, 更新Slider的值\n */\n private _updateSlider = () => {\n const value = this._getSliderValue();\n this._dataIndex = Math.floor(value);\n this._slider.setValue(Math.min(value, this._maxIndex));\n this._dispatchChange(Math.floor(value));\n };\n\n /**\n * 根据Slider的值, 判断是否要触发Change事件.\n */\n private _dispatchChange = (value: number) => {\n const index = Math.floor(value);\n if (index !== this._activeIndex) {\n this._dataIndex = index;\n this._activeIndex = index;\n\n if (index !== this._maxIndex) {\n this.dispatchCustomEvent(PlayerEventEnum.change);\n }\n }\n };\n\n /**\n * 派遣事件\n * @param eventType 事件类型\n */\n dispatchCustomEvent(eventType: PlayerEventEnum) {\n super.dispatchCustomEvent(eventType, this._dataIndex);\n }\n\n /**\n * 播放接口\n */\n play = async () => {\n if (this._isPlaying) {\n return;\n }\n // 切换按钮\n this._controller.togglePause();\n // 播放状态更新\n this._isPlaying = true;\n // 播放结束后再点击play, 此条件下生效.\n if (this._elapsed >= this._totalDuration) {\n this._elapsed = 0;\n }\n // 此时此刻减去已流逝的时间, 则为起点对应的时间戳.\n this._startTime = Date.now() - this._elapsed;\n // 事件\n this.dispatchCustomEvent(PlayerEventEnum.play);\n // 开始播放动画\n this._rafId = vglobal.getRequestAnimationFrame()(this._play.bind(this));\n };\n\n /**\n * 播放动画主要逻辑\n */\n private _play = () => {\n // 计算已流逝的时间, 但不需要保存\n this._elapsed = Date.now() - this._startTime;\n // 计算Slider的值.\n const value = this._getSliderValue();\n // 更新Slider的值.\n this._updateSlider();\n\n // 播放终止条件\n if (value >= this._maxIndex) {\n this._playEnd();\n return;\n }\n\n // 持续播放\n this._rafId = vglobal.getRequestAnimationFrame()(this._play.bind(this));\n };\n\n /**\n * 播放结束时触发\n */\n private _playEnd = () => {\n // 播放状态更新\n this._isPlaying = false;\n // 取消播放动画\n vglobal.getCancelAnimationFrame()(this._rafId);\n // 切换按钮\n this._controller.togglePlay();\n // 事件\n this.dispatchCustomEvent(PlayerEventEnum.end);\n };\n\n /**\n * 暂停接口\n */\n pause = () => {\n if (!this._isPlaying) {\n return;\n }\n this._isPlaying = false;\n // 计算已流逝的时间, 需要记录下来\n this._elapsed = Date.now() - this._startTime;\n vglobal.getCancelAnimationFrame()(this._rafId);\n this._controller.togglePlay();\n\n this.dispatchCustomEvent(PlayerEventEnum.pause);\n };\n\n /**\n * 前进接口\n */\n backward = () => {\n // 按下按钮的时间\n const now = Date.now();\n // 步长\n const interval = this._interval * 1;\n // 流逝时间 减去 interval\n const elapsed = this._elapsed - interval;\n\n // 若到达起点\n if (elapsed <= 0) {\n this._elapsed = 0;\n this._startTime = now;\n }\n // 若未到达起点\n else {\n this._elapsed = elapsed;\n this._startTime = this._startTime + this._interval;\n }\n // 更新slider\n this._updateSlider();\n\n this.dispatchCustomEvent(PlayerEventEnum.backward);\n };\n\n /**\n * 后退接口\n */\n forward = () => {\n // 按下按钮的时间\n const now = Date.now();\n // 步长\n const interval = this._interval * 1;\n // 流逝时间 加上 1个interval\n const elapsed = this._elapsed + interval;\n // 若超过终点\n if (elapsed >= this._totalDuration) {\n this._startTime = now - this._totalDuration;\n this._elapsed = this._totalDuration;\n }\n // 未超过终点\n else {\n this._startTime = this._startTime - interval;\n this._elapsed = elapsed;\n }\n // 更新slider\n this._updateSlider();\n\n this.dispatchCustomEvent(PlayerEventEnum.forward);\n };\n\n render() {\n super.render();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/player/continuous-player.ts"],"names":[],"mappings":"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","file":"continuous-player.js","sourcesContent":["import type { FederatedPointerEvent } from '@visactor/vrender-core';\nimport { vglobal } from '@visactor/vrender-core';\nimport { BasePlayer } from './base-player';\nimport type { ContinuousPlayerAttributes } from './type';\nimport { PlayerEventEnum } from './type';\nimport { ControllerEventEnum } from './controller/constant';\nimport { loadContinuousPlayerComponent } from './register';\n\nexport interface IContinuousPlayer {\n play: () => Promise<void>;\n pause: () => void;\n forward: () => void;\n backward: () => void;\n}\n\nloadContinuousPlayerComponent();\nexport class ContinuousPlayer extends BasePlayer<ContinuousPlayerAttributes> implements IContinuousPlayer {\n declare attribute: ContinuousPlayerAttributes;\n\n private _activeIndex: number;\n\n protected _alternate: boolean;\n protected _interval: number;\n protected _totalDuration: number;\n\n private _isPlaying = false;\n private _startTime: number = Date.now();\n private _elapsed: number;\n private _rafId: number;\n\n constructor(attributes: ContinuousPlayerAttributes) {\n super(attributes);\n\n this._initAttributes();\n this._initDataIndex();\n this._initEvents();\n }\n\n /**\n * 初始化属性\n */\n _initAttributes = () => {\n super._initAttributes();\n // 新增一个占位数据\n this._maxIndex = this._data.length;\n this._slider.setAttribute('max', this._maxIndex);\n\n this._isPlaying = false;\n this._elapsed = 0;\n this._interval = this.attribute.interval ?? 1000;\n\n // 播放帧数(10条数据, 需要10个播放帧)\n const frames = this._data.length;\n\n // 若用户配置了总时长\n if (this.attribute.totalDuration && this._data.length) {\n this._totalDuration = this.attribute.totalDuration;\n // 避免除0\n this._interval = this._totalDuration / (frames ?? 1);\n }\n // 若未配置总时长, 则根据interval算出一个总时长, interval有默认值\n else {\n this._totalDuration = this._interval * frames;\n this._interval = this.attribute.interval;\n }\n };\n\n /**\n * 初始化dataIndex\n */\n _initDataIndex = () => {\n this._dataIndex = this.attribute.dataIndex ?? this._minIndex;\n };\n\n /**\n * 初始化事件\n */\n private _initEvents = () => {\n if (this.attribute.disableTriggerEvent) {\n return;\n }\n this._controller.addEventListener(ControllerEventEnum.OnPlay, (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.play();\n });\n this._controller.addEventListener(ControllerEventEnum.OnPause, (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.pause();\n });\n this._controller.addEventListener(ControllerEventEnum.OnForward, (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.forward();\n });\n this._controller.addEventListener(ControllerEventEnum.OnBackward, (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.backward();\n });\n\n this._slider.addEventListener('change', (e: FederatedPointerEvent) => {\n e.stopPropagation();\n /**\n * 根据value, 反推开始时间\n * 1. 计算进度\n * 2. 计算流逝时间\n * 3. 用现在的时间, 模拟一个开始时间\n */\n const value = (e.detail as unknown as { value: number; position: number })?.value;\n const progress = value / this._maxIndex;\n this._elapsed = progress * this._totalDuration;\n this._startTime = Date.now() - this._elapsed;\n\n this._dispatchChange(value);\n });\n };\n\n /**\n * 根据已流逝时间和总时长, 计算slider的值\n */\n private _getSliderValue = () => {\n const progress = this._elapsed / this._totalDuration;\n return Math.min(progress * this._maxIndex, this._maxIndex);\n };\n\n /**\n * 根据流逝时间, 更新Slider的值\n */\n private _updateSlider = () => {\n const value = this._getSliderValue();\n this._dataIndex = Math.floor(value);\n this._slider.setValue(Math.min(value, this._maxIndex));\n this._dispatchChange(Math.floor(value));\n };\n\n /**\n * 根据Slider的值, 判断是否要触发Change事件.\n */\n private _dispatchChange = (value: number) => {\n const index = Math.floor(value);\n if (index !== this._activeIndex) {\n this._dataIndex = index;\n this._activeIndex = index;\n\n if (index !== this._maxIndex) {\n this.dispatchCustomEvent(PlayerEventEnum.change);\n }\n }\n };\n\n /**\n * 派遣事件\n * @param eventType 事件类型\n */\n dispatchCustomEvent(eventType: PlayerEventEnum) {\n super.dispatchCustomEvent(eventType, this._dataIndex);\n }\n\n /**\n * 播放接口\n */\n play = async () => {\n if (this._isPlaying) {\n return;\n }\n // 切换按钮\n this._controller.togglePause();\n // 播放状态更新\n this._isPlaying = true;\n // 播放结束后再点击play, 此条件下生效.\n if (this._elapsed >= this._totalDuration) {\n this._elapsed = 0;\n }\n // 此时此刻减去已流逝的时间, 则为起点对应的时间戳.\n this._startTime = Date.now() - this._elapsed;\n // 事件\n this.dispatchCustomEvent(PlayerEventEnum.play);\n // 开始播放动画\n this._rafId = vglobal.getRequestAnimationFrame()(this._play.bind(this));\n };\n\n /**\n * 播放动画主要逻辑\n */\n private _play = () => {\n // 计算已流逝的时间, 但不需要保存\n this._elapsed = Date.now() - this._startTime;\n // 计算Slider的值.\n const value = this._getSliderValue();\n // 更新Slider的值.\n this._updateSlider();\n\n // 播放终止条件\n if (value >= this._maxIndex) {\n this._playEnd();\n return;\n }\n\n // 持续播放\n this._rafId = vglobal.getRequestAnimationFrame()(this._play.bind(this));\n };\n\n /**\n * 播放结束时触发\n */\n private _playEnd = () => {\n // 播放状态更新\n this._isPlaying = false;\n // 取消播放动画\n vglobal.getCancelAnimationFrame()(this._rafId);\n // 切换按钮\n this._controller.togglePlay();\n // 事件\n this.dispatchCustomEvent(PlayerEventEnum.end);\n };\n\n /**\n * 暂停接口\n */\n pause = () => {\n if (!this._isPlaying) {\n return;\n }\n this._isPlaying = false;\n // 计算已流逝的时间, 需要记录下来\n this._elapsed = Date.now() - this._startTime;\n vglobal.getCancelAnimationFrame()(this._rafId);\n this._controller.togglePlay();\n\n this.dispatchCustomEvent(PlayerEventEnum.pause);\n };\n\n /**\n * 前进接口\n */\n backward = () => {\n // 按下按钮的时间\n const now = Date.now();\n // 步长\n const interval = this._interval * 1;\n // 流逝时间 减去 interval\n const elapsed = this._elapsed - interval;\n\n // 若到达起点\n if (elapsed <= 0) {\n this._elapsed = 0;\n this._startTime = now;\n }\n // 若未到达起点\n else {\n this._elapsed = elapsed;\n this._startTime = this._startTime + this._interval;\n }\n // 更新slider\n this._updateSlider();\n\n this.dispatchCustomEvent(PlayerEventEnum.backward);\n };\n\n /**\n * 后退接口\n */\n forward = () => {\n // 按下按钮的时间\n const now = Date.now();\n // 步长\n const interval = this._interval * 1;\n // 流逝时间 加上 1个interval\n const elapsed = this._elapsed + interval;\n // 若超过终点\n if (elapsed >= this._totalDuration) {\n this._startTime = now - this._totalDuration;\n this._elapsed = this._totalDuration;\n }\n // 未超过终点\n else {\n this._startTime = this._startTime - interval;\n this._elapsed = elapsed;\n }\n // 更新slider\n this._updateSlider();\n\n this.dispatchCustomEvent(PlayerEventEnum.forward);\n };\n\n render() {\n super.render();\n }\n}\n"]}
@@ -64,13 +64,13 @@ class Controller extends base_1.AbstractComponent {
64
64
  }, this.renderForward = () => {
65
65
  this._forwardController.setAttributes(this._forwardAttr.style);
66
66
  }, this.play = () => {
67
- this._dispatchEvent("ControllerEventEnum.OnPlay");
67
+ this._dispatchEvent(constant_1.ControllerEventEnum.OnPlay);
68
68
  }, this.pause = () => {
69
- this._dispatchEvent("ControllerEventEnum.OnPause");
69
+ this._dispatchEvent(constant_1.ControllerEventEnum.OnPause);
70
70
  }, this.forward = () => {
71
- this._dispatchEvent("ControllerEventEnum.OnForward");
71
+ this._dispatchEvent(constant_1.ControllerEventEnum.OnForward);
72
72
  }, this.backward = () => {
73
- this._dispatchEvent("ControllerEventEnum.OnBackward");
73
+ this._dispatchEvent(constant_1.ControllerEventEnum.OnBackward);
74
74
  }, this.togglePlay = () => {
75
75
  this._playController.setAttributes(this._startAttr.style), this._isPaused = !0;
76
76
  }, this.togglePause = () => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/player/controller/controller.ts"],"names":[],"mappings":"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","file":"controller.js","sourcesContent":["import { isNil, merge } from '@visactor/vutils';\nimport type { FederatedPointerEvent, ISymbolGraphicAttribute } from '@visactor/vrender-core';\nimport { AbstractComponent } from '../../core/base';\nimport type { BaseGraphicAttributes } from '../../core/type';\nimport type { ControllerAttributes, LayoutType } from './type';\nimport { iconRight, iconPause, iconPlay, iconLeft, iconUp, iconDown } from './assets';\nimport { PlayerIcon } from './icon';\nimport { ControllerTypeEnum } from './constant';\nimport type { ComponentOptions } from '../../interface';\n\nexport class Controller extends AbstractComponent<Required<ControllerAttributes>> {\n static defaultControllerAttr: ISymbolGraphicAttribute = {\n visible: true,\n x: 0,\n y: 0,\n size: 20,\n fill: '#91caff',\n pickMode: 'imprecise',\n cursor: 'pointer'\n };\n static defaultAttributes: ControllerAttributes = {\n [ControllerTypeEnum.Start]: {},\n [ControllerTypeEnum.Pause]: {},\n [ControllerTypeEnum.Backward]: {},\n [ControllerTypeEnum.Forward]: {}\n };\n\n private _isPaused = true;\n private _playController: PlayerIcon;\n private _forwardController: PlayerIcon;\n private _backwardController: PlayerIcon;\n\n private _layout: LayoutType;\n private _startAttr: BaseGraphicAttributes<ISymbolGraphicAttribute>;\n private _pauseAttr: BaseGraphicAttributes<ISymbolGraphicAttribute>;\n private _forwardAttr: BaseGraphicAttributes<ISymbolGraphicAttribute>;\n private _backwardAttr: BaseGraphicAttributes<ISymbolGraphicAttribute>;\n\n constructor(attributes: ControllerAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, Controller.defaultAttributes, attributes));\n this.updateAttributes();\n this._initPlay();\n this._initBackward();\n this._initForward();\n this._initEvents();\n }\n\n updateAttributes = () => {\n this._startAttr = {\n style: {\n symbolType: iconPlay,\n ...Controller.defaultControllerAttr,\n visible: this.attribute.start.visible,\n ...this.attribute.start.style\n }\n };\n this._pauseAttr = {\n style: {\n symbolType: iconPause,\n ...Controller.defaultControllerAttr,\n visible: this.attribute.pause.visible,\n ...this.attribute.pause.style\n }\n };\n this._forwardAttr = {\n style: {\n ...Controller.defaultControllerAttr,\n visible: this.attribute.forward.visible,\n ...this.attribute.forward.style\n }\n };\n this._backwardAttr = {\n style: {\n ...Controller.defaultControllerAttr,\n visible: this.attribute.backward.visible,\n ...this.attribute.backward.style\n }\n };\n this.updateLayout();\n };\n\n private updateLayout = () => {\n this._layout = this.attribute.layout;\n // 若水平布局\n if (this._layout === 'horizontal') {\n this._backwardAttr.style.symbolType = this._backwardAttr.style.symbolType ?? iconLeft;\n this._forwardAttr.style.symbolType = this._forwardAttr.style.symbolType ?? iconRight;\n }\n // 若垂直布局\n else if (this._layout === 'vertical') {\n this._backwardAttr.style.symbolType = this._backwardAttr.style.symbolType ?? iconUp;\n this._forwardAttr.style.symbolType = this._forwardAttr.style.symbolType ?? iconDown;\n }\n };\n\n private _initPlay = () => {\n if (isNil(this._playController)) {\n this._playController = new PlayerIcon({\n ...this._startAttr.style\n });\n\n this.add(this._playController);\n }\n };\n\n private _initBackward = () => {\n if (isNil(this._backwardController)) {\n this._backwardController = new PlayerIcon({\n ...this._backwardAttr.style\n });\n\n this.add(this._backwardController);\n }\n };\n\n private _initForward = () => {\n if (isNil(this._forwardController)) {\n this._forwardController = new PlayerIcon({\n ...this._forwardAttr.style\n });\n\n this.add(this._forwardController);\n }\n };\n\n /**\n * 初始化事件\n * 1. 注册\n */\n private _initEvents = () => {\n if (this.attribute.disableTriggerEvent) {\n return;\n }\n this._playController.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n e.stopPropagation();\n\n if (this._isPaused === true) {\n this.play();\n } else {\n this.pause();\n }\n });\n\n this._backwardController.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.backward();\n });\n\n this._forwardController.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.forward();\n });\n };\n\n render(): void {\n this.updateAttributes();\n this.renderPlay();\n this.renderBackward();\n this.renderForward();\n }\n\n renderPlay = () => {\n if (this._isPaused) {\n this._playController.setAttributes({\n symbolType: this._playController.getComputedAttribute('symbolType'),\n ...this._startAttr.style\n });\n } else {\n this._playController.setAttributes({\n symbolType: this._playController.getComputedAttribute('symbolType'),\n ...this._pauseAttr.style\n });\n }\n };\n\n renderBackward = () => {\n this._backwardController.setAttributes(this._backwardAttr.style);\n };\n\n renderForward = () => {\n this._forwardController.setAttributes(this._forwardAttr.style);\n };\n\n play = () => {\n this._dispatchEvent('ControllerEventEnum.OnPlay');\n };\n\n pause = () => {\n this._dispatchEvent('ControllerEventEnum.OnPause');\n };\n\n forward = () => {\n this._dispatchEvent('ControllerEventEnum.OnForward');\n };\n\n backward = () => {\n this._dispatchEvent('ControllerEventEnum.OnBackward');\n };\n\n togglePlay = () => {\n this._playController.setAttributes(this._startAttr.style);\n this._isPaused = true;\n };\n\n togglePause = () => {\n this._playController.setAttributes(this._pauseAttr.style);\n this._isPaused = false;\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/player/controller/controller.ts"],"names":[],"mappings":"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","file":"controller.js","sourcesContent":["import { isNil, merge } from '@visactor/vutils';\nimport type { FederatedPointerEvent, ISymbolGraphicAttribute } from '@visactor/vrender-core';\nimport { AbstractComponent } from '../../core/base';\nimport type { BaseGraphicAttributes } from '../../core/type';\nimport type { ControllerAttributes, LayoutType } from './type';\nimport { iconRight, iconPause, iconPlay, iconLeft, iconUp, iconDown } from './assets';\nimport { PlayerIcon } from './icon';\nimport { ControllerEventEnum, ControllerTypeEnum } from './constant';\nimport type { ComponentOptions } from '../../interface';\n\nexport class Controller extends AbstractComponent<Required<ControllerAttributes>> {\n static defaultControllerAttr: ISymbolGraphicAttribute = {\n visible: true,\n x: 0,\n y: 0,\n size: 20,\n fill: '#91caff',\n pickMode: 'imprecise',\n cursor: 'pointer'\n };\n static defaultAttributes: ControllerAttributes = {\n [ControllerTypeEnum.Start]: {},\n [ControllerTypeEnum.Pause]: {},\n [ControllerTypeEnum.Backward]: {},\n [ControllerTypeEnum.Forward]: {}\n };\n\n private _isPaused = true;\n private _playController: PlayerIcon;\n private _forwardController: PlayerIcon;\n private _backwardController: PlayerIcon;\n\n private _layout: LayoutType;\n private _startAttr: BaseGraphicAttributes<ISymbolGraphicAttribute>;\n private _pauseAttr: BaseGraphicAttributes<ISymbolGraphicAttribute>;\n private _forwardAttr: BaseGraphicAttributes<ISymbolGraphicAttribute>;\n private _backwardAttr: BaseGraphicAttributes<ISymbolGraphicAttribute>;\n\n constructor(attributes: ControllerAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, Controller.defaultAttributes, attributes));\n this.updateAttributes();\n this._initPlay();\n this._initBackward();\n this._initForward();\n this._initEvents();\n }\n\n updateAttributes = () => {\n this._startAttr = {\n style: {\n symbolType: iconPlay,\n ...Controller.defaultControllerAttr,\n visible: this.attribute.start.visible,\n ...this.attribute.start.style\n }\n };\n this._pauseAttr = {\n style: {\n symbolType: iconPause,\n ...Controller.defaultControllerAttr,\n visible: this.attribute.pause.visible,\n ...this.attribute.pause.style\n }\n };\n this._forwardAttr = {\n style: {\n ...Controller.defaultControllerAttr,\n visible: this.attribute.forward.visible,\n ...this.attribute.forward.style\n }\n };\n this._backwardAttr = {\n style: {\n ...Controller.defaultControllerAttr,\n visible: this.attribute.backward.visible,\n ...this.attribute.backward.style\n }\n };\n this.updateLayout();\n };\n\n private updateLayout = () => {\n this._layout = this.attribute.layout;\n // 若水平布局\n if (this._layout === 'horizontal') {\n this._backwardAttr.style.symbolType = this._backwardAttr.style.symbolType ?? iconLeft;\n this._forwardAttr.style.symbolType = this._forwardAttr.style.symbolType ?? iconRight;\n }\n // 若垂直布局\n else if (this._layout === 'vertical') {\n this._backwardAttr.style.symbolType = this._backwardAttr.style.symbolType ?? iconUp;\n this._forwardAttr.style.symbolType = this._forwardAttr.style.symbolType ?? iconDown;\n }\n };\n\n private _initPlay = () => {\n if (isNil(this._playController)) {\n this._playController = new PlayerIcon({\n ...this._startAttr.style\n });\n\n this.add(this._playController);\n }\n };\n\n private _initBackward = () => {\n if (isNil(this._backwardController)) {\n this._backwardController = new PlayerIcon({\n ...this._backwardAttr.style\n });\n\n this.add(this._backwardController);\n }\n };\n\n private _initForward = () => {\n if (isNil(this._forwardController)) {\n this._forwardController = new PlayerIcon({\n ...this._forwardAttr.style\n });\n\n this.add(this._forwardController);\n }\n };\n\n /**\n * 初始化事件\n * 1. 注册\n */\n private _initEvents = () => {\n if (this.attribute.disableTriggerEvent) {\n return;\n }\n this._playController.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n e.stopPropagation();\n\n if (this._isPaused === true) {\n this.play();\n } else {\n this.pause();\n }\n });\n\n this._backwardController.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.backward();\n });\n\n this._forwardController.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.forward();\n });\n };\n\n render(): void {\n this.updateAttributes();\n this.renderPlay();\n this.renderBackward();\n this.renderForward();\n }\n\n renderPlay = () => {\n if (this._isPaused) {\n this._playController.setAttributes({\n symbolType: this._playController.getComputedAttribute('symbolType'),\n ...this._startAttr.style\n });\n } else {\n this._playController.setAttributes({\n symbolType: this._playController.getComputedAttribute('symbolType'),\n ...this._pauseAttr.style\n });\n }\n };\n\n renderBackward = () => {\n this._backwardController.setAttributes(this._backwardAttr.style);\n };\n\n renderForward = () => {\n this._forwardController.setAttributes(this._forwardAttr.style);\n };\n\n play = () => {\n this._dispatchEvent(ControllerEventEnum.OnPlay);\n };\n\n pause = () => {\n this._dispatchEvent(ControllerEventEnum.OnPause);\n };\n\n forward = () => {\n this._dispatchEvent(ControllerEventEnum.OnForward);\n };\n\n backward = () => {\n this._dispatchEvent(ControllerEventEnum.OnBackward);\n };\n\n togglePlay = () => {\n this._playController.setAttributes(this._startAttr.style);\n this._isPaused = true;\n };\n\n togglePause = () => {\n this._playController.setAttributes(this._pauseAttr.style);\n this._isPaused = false;\n };\n}\n"]}
@@ -10,7 +10,6 @@ export interface IDiscretePlayer {
10
10
  }
11
11
  export declare class DiscretePlayer extends BasePlayer<DiscretePlayerAttributes> implements IDiscretePlayer {
12
12
  attribute: DiscretePlayerAttributes;
13
- private _dataIndex;
14
13
  private _activeIndex;
15
14
  protected _alternate: boolean;
16
15
  protected _interval: number;
@@ -22,6 +21,7 @@ export declare class DiscretePlayer extends BasePlayer<DiscretePlayerAttributes>
22
21
  constructor(attributes: DiscretePlayerAttributes, options?: ComponentOptions);
23
22
  setAttributes(params: Partial<Required<PlayerAttributes>>, forceUpdateTag?: boolean): void;
24
23
  _initAttributes: () => void;
24
+ _initDataIndex: () => void;
25
25
  private _initEvents;
26
26
  dispatchCustomEvent(event: PlayerEventEnum): void;
27
27
  play: () => void;
@@ -12,11 +12,13 @@ class DiscretePlayer extends base_player_1.BasePlayer {
12
12
  constructor(attributes, options) {
13
13
  super((null == options ? void 0 : options.skipDefault) ? attributes : (0, vutils_1.merge)({}, attributes)),
14
14
  this._activeIndex = -1, this._isReachEnd = !1, this._initAttributes = () => {
15
- var _a, _b, _c, _d;
15
+ var _a, _b, _c;
16
16
  super._initAttributes(), this._alternate = null !== (_a = this.attribute.alternate) && void 0 !== _a && _a,
17
17
  this._interval = null !== (_b = this.attribute.interval) && void 0 !== _b ? _b : 1e3,
18
- this._direction = null !== (_c = this.attribute.direction) && void 0 !== _c ? _c : type_1.DirectionEnum.Default,
19
- this._dataIndex = (0, vutils_1.isNil)(this.attribute.dataIndex) ? "default" === this._direction ? this._minIndex : this._maxIndex : null !== (_d = this.attribute.dataIndex) && void 0 !== _d ? _d : 0,
18
+ this._direction = null !== (_c = this.attribute.direction) && void 0 !== _c ? _c : type_1.DirectionEnum.Default;
19
+ }, this._initDataIndex = () => {
20
+ var _a;
21
+ this._dataIndex = (0, vutils_1.isNil)(this.attribute.dataIndex) ? "default" === this._direction ? this._minIndex : this._maxIndex : null !== (_a = this.attribute.dataIndex) && void 0 !== _a ? _a : 0,
20
22
  this._slider.setAttribute("value", this._dataIndex);
21
23
  }, this._initEvents = () => {
22
24
  this.attribute.disableTriggerEvent || (this._controller.addEventListener(constant_1.ControllerEventEnum.OnPlay, (e => {
@@ -73,7 +75,7 @@ class DiscretePlayer extends base_player_1.BasePlayer {
73
75
  const index = Math.min(this._dataIndex + 1, this._maxIndex);
74
76
  this._updateDataIndex(index), this.dispatchCustomEvent(type_1.PlayerEventEnum.change),
75
77
  this.dispatchCustomEvent(type_1.PlayerEventEnum.forward);
76
- }, this._initAttributes(), this._initEvents();
78
+ }, this._initAttributes(), this._initDataIndex(), this._initEvents();
77
79
  }
78
80
  setAttributes(params, forceUpdateTag) {
79
81
  super.setAttributes(params, forceUpdateTag), this._initAttributes();
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/player/discrete-player.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAEhD,yDAAiD;AACjD,+CAA2C;AAE3C,iCAAwD;AACxD,mCAAgE;AAChE,oDAA4D;AAE5D,yCAAyD;AASzD,IAAA,sCAA2B,GAAE,CAAC;AAC9B,MAAa,cAAe,SAAQ,wBAAoC;IAetE,YAAY,UAAoC,EAAE,OAA0B;QAC1E,KAAK,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,cAAK,EAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;QAZ3D,iBAAY,GAAG,CAAC,CAAC,CAAC;QASlB,gBAAW,GAAG,KAAK,CAAC;QAkB5B,oBAAe,GAAG,GAAG,EAAE;;YACrB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,SAAS,mCAAI,KAAK,CAAC;YACpD,IAAI,CAAC,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,mCAAI,IAAI,CAAC;YACjD,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,SAAS,mCAAI,oBAAa,CAAC,OAAO,CAAC;YAEpE,IAAI,CAAC,UAAU,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;gBAC/C,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS;oBAC7B,CAAC,CAAC,IAAI,CAAC,SAAS;oBAChB,CAAC,CAAC,IAAI,CAAC,SAAS;gBAClB,CAAC,CAAC,MAAA,IAAI,CAAC,SAAS,CAAC,SAAS,mCAAI,CAAC,CAAC;YAElC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC,CAAC;QAKM,gBAAW,GAAG,GAAG,EAAE;YACzB,IAAI,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE;gBACtC,OAAO;aACR;YACD,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,8BAAmB,CAAC,MAAM,EAAE,CAAC,CAAwB,EAAE,EAAE;gBACzF,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,8BAAmB,CAAC,OAAO,EAAE,CAAC,CAAwB,EAAE,EAAE;gBAC1F,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,8BAAmB,CAAC,SAAS,EAAE,CAAC,CAAwB,EAAE,EAAE;gBAC5F,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,8BAAmB,CAAC,UAAU,EAAE,CAAC,CAAwB,EAAE,EAAE;gBAC7F,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAwD,EAAE,EAAE;gBACnG,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;gBAChD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvC,IAAI,CAAC,mBAAmB,CAAC,sBAAe,CAAC,MAAM,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAYF,SAAI,GAAG,GAAG,EAAE;YACV,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,OAAO;aACR;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3B,OAAO;aACR;YAED,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAE/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,IACE,IAAA,kBAAU,EAAC;gBACT,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,SAAS,EAAE,IAAI,CAAC,UAAU;aAC3B,CAAC;gBACF,IAAA,oBAAY,EAAC;oBACX,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,QAAQ,EAAE,IAAI,CAAC,SAAS;oBACxB,QAAQ,EAAE,IAAI,CAAC,SAAS;oBACxB,SAAS,EAAE,IAAI,CAAC,UAAU;iBAC3B,CAAC,EACF;gBAEA,IAAI,IAAI,CAAC,UAAU,KAAK,oBAAa,CAAC,OAAO,EAAE;oBAC7C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACvC;qBAAM;oBACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACvC;aACF;YAGD,IAAI,CAAC,mBAAmB,CAAC,sBAAe,CAAC,IAAI,CAAC,CAAC;YAE/C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAEzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE5B,IAAI,CAAC,MAAM,GAAG,sBAAO,CAAC,wBAAwB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC;QAKM,UAAK,GAAG,CAAC,WAAoB,EAAE,EAAE;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAGvB,IAAI,IAAI,CAAC,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE;gBAC9D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO;aACR;YAID,IAAI,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,UAAU,EAAE;gBACxD,IAAI,CAAC,mBAAmB,CAAC,sBAAe,CAAC,MAAM,CAAC,CAAC;gBACjD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;aACrC;iBAEI,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE;gBAC/C,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBACrB,IAAI,CAAC,gBAAgB,CAAC,IAAA,mBAAW,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACrG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;gBACpC,IAAI,CAAC,mBAAmB,CAAC,sBAAe,CAAC,MAAM,CAAC,CAAC;aAClD;YAGD,IACE,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC;gBACpE,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,EACpE;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;YAED,IAAI,CAAC,MAAM,GAAG,sBAAO,CAAC,wBAAwB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACjF,CAAC,CAAC;QAKM,qBAAgB,GAAG,CAAC,SAAiB,EAAE,EAAE;YAC/C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC,CAAC;QAKM,aAAQ,GAAG,GAAG,EAAE;YAEtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAExB,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAE9B,sBAAO,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE/C,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAEvB,IAAI,CAAC,mBAAmB,CAAC,sBAAe,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC,CAAC;QAKF,UAAK,GAAG,GAAG,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,OAAO;aACR;YACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,sBAAO,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAE9B,IAAI,CAAC,mBAAmB,CAAC,sBAAe,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC;QAKF,aAAQ,GAAG,GAAG,EAAE;YACd,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAE7B,IAAI,CAAC,mBAAmB,CAAC,sBAAe,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,mBAAmB,CAAC,sBAAe,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC,CAAC;QAKF,YAAO,GAAG,GAAG,EAAE;YACb,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAE7B,IAAI,CAAC,mBAAmB,CAAC,sBAAe,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,mBAAmB,CAAC,sBAAe,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC;QAnNA,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,aAAa,CAAC,MAA2C,EAAE,cAAwB;QACjF,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE5C,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAuDD,mBAAmB,CAAC,KAAsB;QACxC,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;CAmJF;AAtOD,wCAsOC","file":"discrete-player.js","sourcesContent":["import { isNil, merge } from '@visactor/vutils';\nimport type { FederatedPointerEvent } from '@visactor/vrender-core';\nimport { vglobal } from '@visactor/vrender-core';\nimport { BasePlayer } from './base-player';\nimport type { DirectionType, DiscretePlayerAttributes, PlayerAttributes } from './type';\nimport { DirectionEnum, PlayerEventEnum } from './type';\nimport { forwardStep, isReachEnd, isReachStart } from './utils';\nimport { ControllerEventEnum } from './controller/constant';\nimport type { ComponentOptions } from '../interface';\nimport { loadDiscretePlayerComponent } from './register';\n\nexport interface IDiscretePlayer {\n play: () => void;\n pause: () => void;\n backward: () => void;\n forward: () => void;\n}\n\nloadDiscretePlayerComponent();\nexport class DiscretePlayer extends BasePlayer<DiscretePlayerAttributes> implements IDiscretePlayer {\n declare attribute: DiscretePlayerAttributes;\n\n private _dataIndex: number;\n private _activeIndex = -1;\n\n protected _alternate: boolean;\n protected _interval: number;\n\n private _isPlaying: boolean;\n private _direction: DirectionType;\n private _tickTime: number;\n private _rafId: number;\n private _isReachEnd = false;\n\n constructor(attributes: DiscretePlayerAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, attributes));\n\n this._initAttributes();\n this._initEvents();\n }\n\n setAttributes(params: Partial<Required<PlayerAttributes>>, forceUpdateTag?: boolean): void {\n super.setAttributes(params, forceUpdateTag);\n\n this._initAttributes();\n }\n\n /**\n * 初始化属性\n */\n _initAttributes = () => {\n super._initAttributes();\n this._alternate = this.attribute.alternate ?? false;\n this._interval = this.attribute.interval ?? 1000;\n this._direction = this.attribute.direction ?? DirectionEnum.Default;\n\n this._dataIndex = isNil(this.attribute.dataIndex)\n ? this._direction === 'default'\n ? this._minIndex\n : this._maxIndex\n : this.attribute.dataIndex ?? 0;\n\n this._slider.setAttribute('value', this._dataIndex);\n };\n\n /**\n * 初始化事件\n */\n private _initEvents = () => {\n if (this.attribute.disableTriggerEvent) {\n return;\n }\n this._controller.addEventListener(ControllerEventEnum.OnPlay, (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.play();\n });\n this._controller.addEventListener(ControllerEventEnum.OnPause, (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.pause();\n });\n this._controller.addEventListener(ControllerEventEnum.OnForward, (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.forward();\n });\n this._controller.addEventListener(ControllerEventEnum.OnBackward, (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.backward();\n });\n\n this._slider.addEventListener('change', (e: FederatedPointerEvent & { detail: { value: number } }) => {\n const middle = Math.floor(e.detail.value) + 0.5;\n this._dataIndex = e.detail.value >= middle ? Math.ceil(e.detail.value) : Math.floor(e.detail.value);\n this._slider.setValue(this._dataIndex);\n this.dispatchCustomEvent(PlayerEventEnum.change);\n });\n };\n\n /**\n * 派遣事件\n */\n dispatchCustomEvent(event: PlayerEventEnum) {\n super.dispatchCustomEvent(event, this._dataIndex);\n }\n\n /**\n * 播放接口\n */\n play = () => {\n if (this._isPlaying) {\n return;\n }\n // 一条数据无需播放\n if (this._data.length === 1) {\n return;\n }\n // 图标切换\n this._controller.togglePause();\n // 播放状态更新\n this._isPlaying = true;\n // 若到达末尾, 则计算下一次播放的状态下标\n if (\n isReachEnd({\n dataIndex: this._dataIndex,\n maxIndex: this._maxIndex,\n minIndex: this._minIndex,\n direction: this._direction\n }) ||\n isReachStart({\n dataIndex: this._dataIndex,\n maxIndex: this._maxIndex,\n minIndex: this._minIndex,\n direction: this._direction\n })\n ) {\n // 根据方向恢复dataIndex\n if (this._direction === DirectionEnum.Default) {\n this._updateDataIndex(this._minIndex);\n } else {\n this._updateDataIndex(this._maxIndex);\n }\n }\n\n // 事件触发\n this.dispatchCustomEvent(PlayerEventEnum.play);\n // 重置结束状态\n this._isReachEnd = false;\n // 重置tick时间, 暂停后重新播放也会重新计时\n this._tickTime = Date.now();\n // 开启动画\n this._rafId = vglobal.getRequestAnimationFrame()(this._play.bind(this, true));\n };\n\n /**\n * 播放过程\n */\n private _play = (isFirstPlay: boolean) => {\n const now = Date.now();\n\n // 抵达终点, 延迟一个interval触发end\n if (this._isReachEnd && now - this._tickTime >= this._interval) {\n this._isReachEnd = false;\n this._playEnd();\n return;\n }\n // 未达终点\n\n // 第一个播放帧, 立即执行\n if (isFirstPlay && this._activeIndex !== this._dataIndex) {\n this.dispatchCustomEvent(PlayerEventEnum.change);\n this._activeIndex = this._dataIndex;\n }\n // 中间播放帧, 每一个interval执行一次\n else if (now - this._tickTime >= this._interval) {\n this._tickTime = now;\n this._updateDataIndex(forwardStep(this._direction, this._dataIndex, this._minIndex, this._maxIndex));\n this._activeIndex = this._dataIndex;\n this.dispatchCustomEvent(PlayerEventEnum.change);\n }\n\n // 终止条件\n if (\n (this._direction === 'default' && this._dataIndex >= this._maxIndex) ||\n (this._direction === 'reverse' && this._dataIndex <= this._minIndex)\n ) {\n this._isReachEnd = true;\n }\n\n this._rafId = vglobal.getRequestAnimationFrame()(this._play.bind(this, false));\n };\n\n /**\n * 更新数据\n */\n private _updateDataIndex = (dataIndex: number) => {\n this._dataIndex = dataIndex;\n this._slider.setValue(this._dataIndex);\n };\n\n /**\n * 播放结束\n */\n private _playEnd = () => {\n // 播放状态更新\n this._isPlaying = false;\n // 图标切换\n this._controller.togglePlay();\n // 取消播放动画\n vglobal.getCancelAnimationFrame()(this._rafId);\n // 重置ActiveIndex\n this._activeIndex = -1;\n // 播放结束时并且到达终点\n this.dispatchCustomEvent(PlayerEventEnum.end);\n };\n\n /**\n * 暂停接口\n */\n pause = () => {\n if (!this._isPlaying) {\n return;\n }\n this._isPlaying = false;\n vglobal.getCancelAnimationFrame()(this._rafId);\n this._controller.togglePlay();\n\n this.dispatchCustomEvent(PlayerEventEnum.pause);\n };\n\n /**\n * 后退接口\n */\n backward = () => {\n const index = Math.max(this._dataIndex - 1, this._minIndex);\n this._updateDataIndex(index);\n\n this.dispatchCustomEvent(PlayerEventEnum.change);\n this.dispatchCustomEvent(PlayerEventEnum.backward);\n };\n\n /**\n * 前进接口\n */\n forward = () => {\n const index = Math.min(this._dataIndex + 1, this._maxIndex);\n this._updateDataIndex(index);\n\n this.dispatchCustomEvent(PlayerEventEnum.change);\n this.dispatchCustomEvent(PlayerEventEnum.forward);\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/player/discrete-player.ts"],"names":[],"mappings":"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","file":"discrete-player.js","sourcesContent":["import { isNil, merge } from '@visactor/vutils';\nimport type { FederatedPointerEvent } from '@visactor/vrender-core';\nimport { vglobal } from '@visactor/vrender-core';\nimport { BasePlayer } from './base-player';\nimport type { DirectionType, DiscretePlayerAttributes, PlayerAttributes } from './type';\nimport { DirectionEnum, PlayerEventEnum } from './type';\nimport { forwardStep, isReachEnd, isReachStart } from './utils';\nimport { ControllerEventEnum } from './controller/constant';\nimport type { ComponentOptions } from '../interface';\nimport { loadDiscretePlayerComponent } from './register';\n\nexport interface IDiscretePlayer {\n play: () => void;\n pause: () => void;\n backward: () => void;\n forward: () => void;\n}\n\nloadDiscretePlayerComponent();\nexport class DiscretePlayer extends BasePlayer<DiscretePlayerAttributes> implements IDiscretePlayer {\n declare attribute: DiscretePlayerAttributes;\n\n private _activeIndex = -1;\n\n protected _alternate: boolean;\n protected _interval: number;\n\n private _isPlaying: boolean;\n private _direction: DirectionType;\n private _tickTime: number;\n private _rafId: number;\n private _isReachEnd = false;\n\n constructor(attributes: DiscretePlayerAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, attributes));\n\n this._initAttributes();\n this._initDataIndex();\n this._initEvents();\n }\n\n setAttributes(params: Partial<Required<PlayerAttributes>>, forceUpdateTag?: boolean): void {\n super.setAttributes(params, forceUpdateTag);\n this._initAttributes();\n }\n\n /**\n * 初始化属性\n */\n _initAttributes = () => {\n super._initAttributes();\n this._alternate = this.attribute.alternate ?? false;\n this._interval = this.attribute.interval ?? 1000;\n this._direction = this.attribute.direction ?? DirectionEnum.Default;\n };\n\n /**\n * 初始化dataIndex\n */\n _initDataIndex = () => {\n this._dataIndex = isNil(this.attribute.dataIndex)\n ? this._direction === 'default'\n ? this._minIndex\n : this._maxIndex\n : this.attribute.dataIndex ?? 0;\n\n this._slider.setAttribute('value', this._dataIndex);\n };\n\n /**\n * 初始化事件\n */\n private _initEvents = () => {\n if (this.attribute.disableTriggerEvent) {\n return;\n }\n this._controller.addEventListener(ControllerEventEnum.OnPlay, (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.play();\n });\n this._controller.addEventListener(ControllerEventEnum.OnPause, (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.pause();\n });\n this._controller.addEventListener(ControllerEventEnum.OnForward, (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.forward();\n });\n this._controller.addEventListener(ControllerEventEnum.OnBackward, (e: FederatedPointerEvent) => {\n e.stopPropagation();\n this.backward();\n });\n\n this._slider.addEventListener('change', (e: FederatedPointerEvent & { detail: { value: number } }) => {\n const middle = Math.floor(e.detail.value) + 0.5;\n this._dataIndex = e.detail.value >= middle ? Math.ceil(e.detail.value) : Math.floor(e.detail.value);\n this._slider.setValue(this._dataIndex);\n this.dispatchCustomEvent(PlayerEventEnum.change);\n });\n };\n\n /**\n * 派遣事件\n */\n dispatchCustomEvent(event: PlayerEventEnum) {\n super.dispatchCustomEvent(event, this._dataIndex);\n }\n\n /**\n * 播放接口\n */\n play = () => {\n if (this._isPlaying) {\n return;\n }\n // 一条数据无需播放\n if (this._data.length === 1) {\n return;\n }\n // 图标切换\n this._controller.togglePause();\n // 播放状态更新\n this._isPlaying = true;\n // 若到达末尾, 则计算下一次播放的状态下标\n if (\n isReachEnd({\n dataIndex: this._dataIndex,\n maxIndex: this._maxIndex,\n minIndex: this._minIndex,\n direction: this._direction\n }) ||\n isReachStart({\n dataIndex: this._dataIndex,\n maxIndex: this._maxIndex,\n minIndex: this._minIndex,\n direction: this._direction\n })\n ) {\n // 根据方向恢复dataIndex\n if (this._direction === DirectionEnum.Default) {\n this._updateDataIndex(this._minIndex);\n } else {\n this._updateDataIndex(this._maxIndex);\n }\n }\n\n // 事件触发\n this.dispatchCustomEvent(PlayerEventEnum.play);\n // 重置结束状态\n this._isReachEnd = false;\n // 重置tick时间, 暂停后重新播放也会重新计时\n this._tickTime = Date.now();\n // 开启动画\n this._rafId = vglobal.getRequestAnimationFrame()(this._play.bind(this, true));\n };\n\n /**\n * 播放过程\n */\n private _play = (isFirstPlay: boolean) => {\n const now = Date.now();\n\n // 抵达终点, 延迟一个interval触发end\n if (this._isReachEnd && now - this._tickTime >= this._interval) {\n this._isReachEnd = false;\n this._playEnd();\n return;\n }\n // 未达终点\n\n // 第一个播放帧, 立即执行\n if (isFirstPlay && this._activeIndex !== this._dataIndex) {\n this.dispatchCustomEvent(PlayerEventEnum.change);\n this._activeIndex = this._dataIndex;\n }\n // 中间播放帧, 每一个interval执行一次\n else if (now - this._tickTime >= this._interval) {\n this._tickTime = now;\n this._updateDataIndex(forwardStep(this._direction, this._dataIndex, this._minIndex, this._maxIndex));\n this._activeIndex = this._dataIndex;\n this.dispatchCustomEvent(PlayerEventEnum.change);\n }\n\n // 终止条件\n if (\n (this._direction === 'default' && this._dataIndex >= this._maxIndex) ||\n (this._direction === 'reverse' && this._dataIndex <= this._minIndex)\n ) {\n this._isReachEnd = true;\n }\n\n this._rafId = vglobal.getRequestAnimationFrame()(this._play.bind(this, false));\n };\n\n /**\n * 更新数据\n */\n private _updateDataIndex = (dataIndex: number) => {\n this._dataIndex = dataIndex;\n this._slider.setValue(this._dataIndex);\n };\n\n /**\n * 播放结束\n */\n private _playEnd = () => {\n // 播放状态更新\n this._isPlaying = false;\n // 图标切换\n this._controller.togglePlay();\n // 取消播放动画\n vglobal.getCancelAnimationFrame()(this._rafId);\n // 重置ActiveIndex\n this._activeIndex = -1;\n // 播放结束时并且到达终点\n this.dispatchCustomEvent(PlayerEventEnum.end);\n };\n\n /**\n * 暂停接口\n */\n pause = () => {\n if (!this._isPlaying) {\n return;\n }\n this._isPlaying = false;\n vglobal.getCancelAnimationFrame()(this._rafId);\n this._controller.togglePlay();\n\n this.dispatchCustomEvent(PlayerEventEnum.pause);\n };\n\n /**\n * 后退接口\n */\n backward = () => {\n const index = Math.max(this._dataIndex - 1, this._minIndex);\n this._updateDataIndex(index);\n\n this.dispatchCustomEvent(PlayerEventEnum.change);\n this.dispatchCustomEvent(PlayerEventEnum.backward);\n };\n\n /**\n * 前进接口\n */\n forward = () => {\n const index = Math.min(this._dataIndex + 1, this._maxIndex);\n this._updateDataIndex(index);\n\n this.dispatchCustomEvent(PlayerEventEnum.change);\n this.dispatchCustomEvent(PlayerEventEnum.forward);\n };\n}\n"]}
@@ -36,28 +36,30 @@ class PopTip extends base_1.AbstractComponent {
36
36
  }, "group"), maxLineWidth = maxWidth - parsedPadding[1] - parsedPadding[3], titleVisible = (0,
37
37
  vutils_1.isValid)(title) && !1 !== visible, titleAttrs = Object.assign(Object.assign({
38
38
  text: (0, vutils_1.isArray)(title) ? title : [ title ],
39
- visible: titleVisible
39
+ visible: titleVisible,
40
+ wrap: !0
40
41
  }, titleStyle), {
41
42
  x: parsedPadding[3],
42
43
  y: parsedPadding[0],
43
44
  maxLineWidth: maxLineWidth,
44
45
  textAlign: "left",
45
46
  textBaseline: "top"
46
- }), titleShape = group.createOrUpdateChild("poptip-title", titleAttrs, "wrapText");
47
+ }), titleShape = group.createOrUpdateChild("poptip-title", titleAttrs, "text");
47
48
  (0, vutils_1.isEmpty)(null == state ? void 0 : state.title) || (titleShape.states = state.title);
48
49
  const titleBounds = titleShape.AABBBounds, titleHeight = titleBounds.height(), titleWidth = titleBounds.width();
49
50
  let height = titleHeight + space;
50
51
  titleVisible || (height = 0);
51
52
  const contentVisible = (0, vutils_1.isValid)(content) && !1 !== visible, contentAttrs = Object.assign(Object.assign({
52
53
  text: (0, vutils_1.isArray)(content) ? content : [ content ],
53
- visible: contentVisible
54
+ visible: contentVisible,
55
+ wrap: !0
54
56
  }, contentStyle), {
55
57
  x: parsedPadding[3],
56
58
  y: parsedPadding[0] + height,
57
59
  maxLineWidth: maxLineWidth,
58
60
  textAlign: "left",
59
61
  textBaseline: "top"
60
- }), contentShape = group.createOrUpdateChild("poptip-content", contentAttrs, "wrapText");
62
+ }), contentShape = group.createOrUpdateChild("poptip-content", contentAttrs, "text");
61
63
  (0, vutils_1.isEmpty)(null == state ? void 0 : state.content) || (contentShape.states = state.content);
62
64
  const contentBounds = contentShape.AABBBounds, contentHeight = contentBounds.height(), contentWidth = contentBounds.width();
63
65
  contentVisible && (height += contentHeight);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/poptip/poptip.ts"],"names":[],"mappings":"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","file":"poptip.js","sourcesContent":["/**\n * @description PopTip组件\n */\nimport type {\n IGroup,\n IRect,\n ISymbol,\n ISymbolGraphicAttribute,\n IText,\n ITextGraphicAttribute,\n TextAlignType,\n TextBaselineType\n} from '@visactor/vrender-core';\nimport {\n AABBBounds,\n Bounds,\n getRectIntersect,\n isArray,\n isBoolean,\n isEmpty,\n isValid,\n max,\n merge,\n normalizePadding,\n pi,\n rectInsideAnotherRect\n} from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport type { BackgroundAttributes, ComponentOptions } from '../interface';\nimport type { PopTipAttributes } from './type';\nimport { loadPoptipComponent } from './register';\n\nconst _tBounds = new AABBBounds();\n\nloadPoptipComponent();\nexport class PopTip extends AbstractComponent<Required<PopTipAttributes>> {\n name = 'poptip';\n\n static defaultAttributes: Partial<PopTipAttributes> = {\n position: 'rt',\n visible: true,\n title: null,\n content: null,\n titleStyle: {\n fontSize: 12,\n fill: '#000',\n textAlign: 'left',\n textBaseline: 'top'\n },\n contentStyle: {\n fontSize: 12,\n fill: '#000',\n textAlign: 'left',\n textBaseline: 'top'\n },\n maxWidthPercent: 0.8,\n space: 8,\n padding: 10\n };\n\n constructor(attributes: PopTipAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, PopTip.defaultAttributes, attributes));\n }\n\n protected render() {\n const {\n titleStyle = {} as ITextGraphicAttribute,\n position,\n contentStyle = {} as ITextGraphicAttribute,\n panel = {} as BackgroundAttributes & ISymbolGraphicAttribute & { space?: number },\n space = 4,\n minWidth = 0,\n maxWidth = Infinity,\n padding = 4,\n maxWidthPercent,\n visible,\n state,\n dx = 0,\n dy = 0\n } = this.attribute as PopTipAttributes;\n\n let { title = '', content = '' } = this.attribute as PopTipAttributes;\n\n title = this.attribute.titleFormatMethod ? this.attribute.titleFormatMethod(title) : title;\n content = this.attribute.contentFormatMethod ? this.attribute.contentFormatMethod(content) : content;\n\n const parsedPadding = normalizePadding(padding);\n\n const group = this.createOrUpdateChild('poptip-content', { x: 0, y: 0, zIndex: 1 }, 'group') as IGroup;\n\n const maxLineWidth = maxWidth - parsedPadding[1] - parsedPadding[3];\n\n const titleVisible = isValid(title) && visible !== false;\n const titleAttrs = {\n text: isArray(title) ? title : ([title] as any),\n visible: titleVisible,\n ...titleStyle,\n x: parsedPadding[3],\n y: parsedPadding[0],\n maxLineWidth,\n textAlign: 'left' as TextAlignType,\n textBaseline: 'top' as TextBaselineType\n };\n\n const titleShape = group.createOrUpdateChild('poptip-title', titleAttrs, 'wrapText') as IText;\n if (!isEmpty(state?.title)) {\n titleShape.states = state.title;\n }\n\n const titleBounds = titleShape.AABBBounds;\n const titleHeight = titleBounds.height();\n const titleWidth = titleBounds.width();\n let height = titleHeight + space;\n if (!titleVisible) {\n height = 0;\n }\n\n const contentVisible = isValid(content) && visible !== false;\n const contentAttrs = {\n text: isArray(content) ? content : ([content] as any),\n visible: contentVisible,\n ...contentStyle,\n x: parsedPadding[3],\n y: parsedPadding[0] + height,\n maxLineWidth,\n textAlign: 'left' as TextAlignType,\n textBaseline: 'top' as TextBaselineType\n };\n\n const contentShape = group.createOrUpdateChild('poptip-content', contentAttrs, 'wrapText') as IText;\n if (!isEmpty(state?.content)) {\n contentShape.states = state.content;\n }\n\n const contentBounds = contentShape.AABBBounds;\n const contentHeight = contentBounds.height();\n const contentWidth = contentBounds.width();\n\n if (contentVisible) {\n height += contentHeight;\n }\n\n // 计算整个popTip的宽高\n let popTipWidth = max(\n titleWidth + parsedPadding[1] + parsedPadding[3],\n contentWidth + parsedPadding[1] + parsedPadding[3]\n );\n if (popTipWidth > maxWidth) {\n popTipWidth = maxWidth;\n } else if (popTipWidth < minWidth) {\n popTipWidth = minWidth;\n }\n let poptipHeight = parsedPadding[0] + parsedPadding[2] + height;\n\n // 绘制背景层\n const { visible: bgVisible, ...backgroundStyle } = panel;\n const symbolSize = backgroundStyle.size ?? 12;\n const spaceSize: number | [number, number] = isArray(symbolSize)\n ? [symbolSize[0] + (backgroundStyle.space ?? 0), symbolSize[1] + (backgroundStyle.space ?? 0)]\n : (symbolSize as number) + (backgroundStyle.space ?? 0);\n const lineWidth = backgroundStyle.lineWidth ?? 1;\n const range: [number, number] | undefined = (this as any).stage\n ? [\n (this as any).stage.viewWidth ?? (this as any).stage.width,\n (this as any).stage.viewHeight ?? (this as any).stage.height\n ]\n : undefined;\n\n if (range) {\n // 尝试进行换行\n const b = (this as any).AABBBounds;\n const leftWidth = this.attribute.x ?? b.x1;\n const rightWidth = range[0] - b.x1;\n let maxSpace = Math.max(leftWidth, rightWidth);\n // 减一些buffer,buffer不能超过maxSpace的20%\n const buf = (isArray(symbolSize) ? symbolSize[0] : 12) + 3;\n maxSpace = Math.min(maxSpace - buf, maxSpace * maxWidthPercent);\n // 需要进行换行\n if (maxSpace < popTipWidth) {\n popTipWidth = maxSpace;\n const buf = parsedPadding[1] + parsedPadding[3];\n titleShape.setAttribute('maxLineWidth', maxSpace - buf);\n contentShape.setAttribute('maxLineWidth', maxSpace - buf);\n poptipHeight = parsedPadding[0] + parsedPadding[2];\n if (titleVisible) {\n poptipHeight += titleShape.AABBBounds.height() + space;\n }\n poptipHeight += contentShape.AABBBounds.height();\n }\n }\n\n const layout = position === 'auto';\n // 最多循环this.positionList次\n let maxBBoxI: number;\n let maxBBoxSize: number = -Infinity;\n for (let i = 0; i < this.positionList.length + 1; i++) {\n const p = layout ? this.positionList[i === this.positionList.length ? maxBBoxI : i] : position;\n const { angle, offset, rectOffset } = this.getAngleAndOffset(\n p,\n popTipWidth,\n poptipHeight,\n isArray(spaceSize) ? (spaceSize as [number, number]) : [spaceSize, spaceSize - lineWidth]\n );\n if (isBoolean(bgVisible)) {\n const offsetX = (isArray(symbolSize) ? symbolSize[0] : symbolSize) / 4;\n const bgSymbol = group.createOrUpdateChild(\n 'poptip-symbol-panel',\n {\n ...backgroundStyle,\n visible: bgVisible && (contentVisible || titleVisible),\n x: offsetX,\n y: 0,\n strokeBoundsBuffer: -1,\n boundsPadding: -2,\n anchor: [0, 0],\n symbolType: 'arrow2Left',\n angle: angle,\n dx: offset[0],\n dy: offset[1],\n size: symbolSize,\n zIndex: -9\n },\n 'symbol'\n ) as ISymbol;\n if (!isEmpty(state?.panel)) {\n bgSymbol.states = state.panel;\n }\n\n const bgRect = group.createOrUpdateChild(\n 'poptip-rect-panel',\n {\n ...backgroundStyle,\n visible: bgVisible && (contentVisible || titleVisible),\n x: 0,\n y: 0,\n width: popTipWidth,\n height: poptipHeight,\n zIndex: -8\n },\n 'rect'\n ) as IRect;\n if (!isEmpty(state?.panel)) {\n bgRect.states = state.panel;\n }\n }\n\n group.setAttributes({\n x: -offset[0] + dx,\n y: -offset[1] + dy\n });\n\n if (layout && range) {\n _tBounds.setValue(0, 0, popTipWidth, poptipHeight).transformWithMatrix(group.globalTransMatrix);\n const b = _tBounds;\n const stageBounds = new Bounds().setValue(0, 0, range[0], range[1]);\n if (rectInsideAnotherRect(b, stageBounds, false)) {\n break;\n } else {\n const bbox = getRectIntersect(b, stageBounds, false);\n const size = (bbox.x2 - bbox.x1) * (bbox.y2 - bbox.y1);\n if (size > maxBBoxSize) {\n maxBBoxSize = size;\n maxBBoxI = i;\n }\n }\n } else {\n break;\n }\n }\n }\n\n positionList = ['top', 'tl', 'tr', 'bottom', 'bl', 'br', 'left', 'lt', 'lb', 'right', 'rt', 'rb'];\n\n getAngleAndOffset(\n position: string,\n width: number,\n height: number,\n size: [number, number]\n ): { angle: number; offset: [number, number]; rectOffset: [number, number] } {\n // const sizeW = size[0];\n const sizeH = size[1] / 2;\n switch (position) {\n case 'tl':\n return {\n angle: (pi / 2) * 3,\n offset: [width / 4, height + sizeH],\n rectOffset: [-width / 4, -height - size[1]]\n };\n case 'top':\n return { angle: (pi / 2) * 3, offset: [width / 2, height + sizeH], rectOffset: [0, -height - size[1]] };\n case 'tr':\n return {\n angle: (pi / 2) * 3,\n offset: [(width / 4) * 3, height + sizeH],\n rectOffset: [(width / 4) * 3, -height - size[1]]\n };\n case 'rt':\n return { angle: 0, offset: [-sizeH, height / 5], rectOffset: [(width / 4) * 3, -height - size[1]] };\n case 'right':\n return { angle: 0, offset: [-sizeH, height / 2], rectOffset: [(width / 4) * 3, -height - size[1]] };\n case 'rb':\n return { angle: 0, offset: [-sizeH, (height / 5) * 4], rectOffset: [(width / 4) * 3, -height - size[1]] };\n case 'bl':\n return { angle: pi / 2, offset: [width / 4, -sizeH], rectOffset: [-width / 4, -height - size[1]] };\n case 'bottom':\n return { angle: pi / 2, offset: [width / 2, -sizeH], rectOffset: [0, -height - size[1]] };\n case 'br':\n return { angle: pi / 2, offset: [(width / 4) * 3, -sizeH], rectOffset: [(width / 4) * 3, -height - size[1]] };\n case 'lt':\n return { angle: pi, offset: [width + sizeH, height / 5], rectOffset: [-width / 4, -height - size[1]] };\n case 'left':\n return { angle: pi, offset: [width + sizeH, height / 2], rectOffset: [0, -height - size[1]] };\n case 'lb':\n return {\n angle: pi,\n offset: [width + sizeH, (height / 5) * 4],\n rectOffset: [(width / 4) * 3, -height - size[1]]\n };\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/poptip/poptip.ts"],"names":[],"mappings":"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","file":"poptip.js","sourcesContent":["/**\n * @description PopTip组件\n */\nimport type {\n IGroup,\n IRect,\n ISymbol,\n ISymbolGraphicAttribute,\n IText,\n ITextGraphicAttribute,\n TextAlignType,\n TextBaselineType\n} from '@visactor/vrender-core';\nimport {\n AABBBounds,\n Bounds,\n getRectIntersect,\n isArray,\n isBoolean,\n isEmpty,\n isValid,\n max,\n merge,\n normalizePadding,\n pi,\n rectInsideAnotherRect\n} from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport type { BackgroundAttributes, ComponentOptions } from '../interface';\nimport type { PopTipAttributes } from './type';\nimport { loadPoptipComponent } from './register';\n\nconst _tBounds = new AABBBounds();\n\nloadPoptipComponent();\nexport class PopTip extends AbstractComponent<Required<PopTipAttributes>> {\n name = 'poptip';\n\n static defaultAttributes: Partial<PopTipAttributes> = {\n position: 'rt',\n visible: true,\n title: null,\n content: null,\n titleStyle: {\n fontSize: 12,\n fill: '#000',\n textAlign: 'left',\n textBaseline: 'top'\n },\n contentStyle: {\n fontSize: 12,\n fill: '#000',\n textAlign: 'left',\n textBaseline: 'top'\n },\n maxWidthPercent: 0.8,\n space: 8,\n padding: 10\n };\n\n constructor(attributes: PopTipAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, PopTip.defaultAttributes, attributes));\n }\n\n protected render() {\n const {\n titleStyle = {} as ITextGraphicAttribute,\n position,\n contentStyle = {} as ITextGraphicAttribute,\n panel = {} as BackgroundAttributes & ISymbolGraphicAttribute & { space?: number },\n space = 4,\n minWidth = 0,\n maxWidth = Infinity,\n padding = 4,\n maxWidthPercent,\n visible,\n state,\n dx = 0,\n dy = 0\n } = this.attribute as PopTipAttributes;\n\n let { title = '', content = '' } = this.attribute as PopTipAttributes;\n\n title = this.attribute.titleFormatMethod ? this.attribute.titleFormatMethod(title) : title;\n content = this.attribute.contentFormatMethod ? this.attribute.contentFormatMethod(content) : content;\n\n const parsedPadding = normalizePadding(padding);\n\n const group = this.createOrUpdateChild('poptip-content', { x: 0, y: 0, zIndex: 1 }, 'group') as IGroup;\n\n const maxLineWidth = maxWidth - parsedPadding[1] - parsedPadding[3];\n\n const titleVisible = isValid(title) && visible !== false;\n const titleAttrs = {\n text: isArray(title) ? title : ([title] as any),\n visible: titleVisible,\n wrap: true,\n ...titleStyle,\n x: parsedPadding[3],\n y: parsedPadding[0],\n maxLineWidth,\n textAlign: 'left' as TextAlignType,\n textBaseline: 'top' as TextBaselineType\n };\n\n const titleShape = group.createOrUpdateChild('poptip-title', titleAttrs, 'text') as IText;\n if (!isEmpty(state?.title)) {\n titleShape.states = state.title;\n }\n\n const titleBounds = titleShape.AABBBounds;\n const titleHeight = titleBounds.height();\n const titleWidth = titleBounds.width();\n let height = titleHeight + space;\n if (!titleVisible) {\n height = 0;\n }\n\n const contentVisible = isValid(content) && visible !== false;\n const contentAttrs = {\n text: isArray(content) ? content : ([content] as any),\n visible: contentVisible,\n wrap: true,\n ...contentStyle,\n x: parsedPadding[3],\n y: parsedPadding[0] + height,\n maxLineWidth,\n textAlign: 'left' as TextAlignType,\n textBaseline: 'top' as TextBaselineType\n };\n\n const contentShape = group.createOrUpdateChild('poptip-content', contentAttrs, 'text') as IText;\n if (!isEmpty(state?.content)) {\n contentShape.states = state.content;\n }\n\n const contentBounds = contentShape.AABBBounds;\n const contentHeight = contentBounds.height();\n const contentWidth = contentBounds.width();\n\n if (contentVisible) {\n height += contentHeight;\n }\n\n // 计算整个popTip的宽高\n let popTipWidth = max(\n titleWidth + parsedPadding[1] + parsedPadding[3],\n contentWidth + parsedPadding[1] + parsedPadding[3]\n );\n if (popTipWidth > maxWidth) {\n popTipWidth = maxWidth;\n } else if (popTipWidth < minWidth) {\n popTipWidth = minWidth;\n }\n let poptipHeight = parsedPadding[0] + parsedPadding[2] + height;\n\n // 绘制背景层\n const { visible: bgVisible, ...backgroundStyle } = panel;\n const symbolSize = backgroundStyle.size ?? 12;\n const spaceSize: number | [number, number] = isArray(symbolSize)\n ? [symbolSize[0] + (backgroundStyle.space ?? 0), symbolSize[1] + (backgroundStyle.space ?? 0)]\n : (symbolSize as number) + (backgroundStyle.space ?? 0);\n const lineWidth = backgroundStyle.lineWidth ?? 1;\n const range: [number, number] | undefined = (this as any).stage\n ? [\n (this as any).stage.viewWidth ?? (this as any).stage.width,\n (this as any).stage.viewHeight ?? (this as any).stage.height\n ]\n : undefined;\n\n if (range) {\n // 尝试进行换行\n const b = (this as any).AABBBounds;\n const leftWidth = this.attribute.x ?? b.x1;\n const rightWidth = range[0] - b.x1;\n let maxSpace = Math.max(leftWidth, rightWidth);\n // 减一些buffer,buffer不能超过maxSpace的20%\n const buf = (isArray(symbolSize) ? symbolSize[0] : 12) + 3;\n maxSpace = Math.min(maxSpace - buf, maxSpace * maxWidthPercent);\n // 需要进行换行\n if (maxSpace < popTipWidth) {\n popTipWidth = maxSpace;\n const buf = parsedPadding[1] + parsedPadding[3];\n titleShape.setAttribute('maxLineWidth', maxSpace - buf);\n contentShape.setAttribute('maxLineWidth', maxSpace - buf);\n poptipHeight = parsedPadding[0] + parsedPadding[2];\n if (titleVisible) {\n poptipHeight += titleShape.AABBBounds.height() + space;\n }\n poptipHeight += contentShape.AABBBounds.height();\n }\n }\n\n const layout = position === 'auto';\n // 最多循环this.positionList次\n let maxBBoxI: number;\n let maxBBoxSize: number = -Infinity;\n for (let i = 0; i < this.positionList.length + 1; i++) {\n const p = layout ? this.positionList[i === this.positionList.length ? maxBBoxI : i] : position;\n const { angle, offset, rectOffset } = this.getAngleAndOffset(\n p,\n popTipWidth,\n poptipHeight,\n isArray(spaceSize) ? (spaceSize as [number, number]) : [spaceSize, spaceSize - lineWidth]\n );\n if (isBoolean(bgVisible)) {\n const offsetX = (isArray(symbolSize) ? symbolSize[0] : symbolSize) / 4;\n const bgSymbol = group.createOrUpdateChild(\n 'poptip-symbol-panel',\n {\n ...backgroundStyle,\n visible: bgVisible && (contentVisible || titleVisible),\n x: offsetX,\n y: 0,\n strokeBoundsBuffer: -1,\n boundsPadding: -2,\n anchor: [0, 0],\n symbolType: 'arrow2Left',\n angle: angle,\n dx: offset[0],\n dy: offset[1],\n size: symbolSize,\n zIndex: -9\n },\n 'symbol'\n ) as ISymbol;\n if (!isEmpty(state?.panel)) {\n bgSymbol.states = state.panel;\n }\n\n const bgRect = group.createOrUpdateChild(\n 'poptip-rect-panel',\n {\n ...backgroundStyle,\n visible: bgVisible && (contentVisible || titleVisible),\n x: 0,\n y: 0,\n width: popTipWidth,\n height: poptipHeight,\n zIndex: -8\n },\n 'rect'\n ) as IRect;\n if (!isEmpty(state?.panel)) {\n bgRect.states = state.panel;\n }\n }\n\n group.setAttributes({\n x: -offset[0] + dx,\n y: -offset[1] + dy\n });\n\n if (layout && range) {\n _tBounds.setValue(0, 0, popTipWidth, poptipHeight).transformWithMatrix(group.globalTransMatrix);\n const b = _tBounds;\n const stageBounds = new Bounds().setValue(0, 0, range[0], range[1]);\n if (rectInsideAnotherRect(b, stageBounds, false)) {\n break;\n } else {\n const bbox = getRectIntersect(b, stageBounds, false);\n const size = (bbox.x2 - bbox.x1) * (bbox.y2 - bbox.y1);\n if (size > maxBBoxSize) {\n maxBBoxSize = size;\n maxBBoxI = i;\n }\n }\n } else {\n break;\n }\n }\n }\n\n positionList = ['top', 'tl', 'tr', 'bottom', 'bl', 'br', 'left', 'lt', 'lb', 'right', 'rt', 'rb'];\n\n getAngleAndOffset(\n position: string,\n width: number,\n height: number,\n size: [number, number]\n ): { angle: number; offset: [number, number]; rectOffset: [number, number] } {\n // const sizeW = size[0];\n const sizeH = size[1] / 2;\n switch (position) {\n case 'tl':\n return {\n angle: (pi / 2) * 3,\n offset: [width / 4, height + sizeH],\n rectOffset: [-width / 4, -height - size[1]]\n };\n case 'top':\n return { angle: (pi / 2) * 3, offset: [width / 2, height + sizeH], rectOffset: [0, -height - size[1]] };\n case 'tr':\n return {\n angle: (pi / 2) * 3,\n offset: [(width / 4) * 3, height + sizeH],\n rectOffset: [(width / 4) * 3, -height - size[1]]\n };\n case 'rt':\n return { angle: 0, offset: [-sizeH, height / 5], rectOffset: [(width / 4) * 3, -height - size[1]] };\n case 'right':\n return { angle: 0, offset: [-sizeH, height / 2], rectOffset: [(width / 4) * 3, -height - size[1]] };\n case 'rb':\n return { angle: 0, offset: [-sizeH, (height / 5) * 4], rectOffset: [(width / 4) * 3, -height - size[1]] };\n case 'bl':\n return { angle: pi / 2, offset: [width / 4, -sizeH], rectOffset: [-width / 4, -height - size[1]] };\n case 'bottom':\n return { angle: pi / 2, offset: [width / 2, -sizeH], rectOffset: [0, -height - size[1]] };\n case 'br':\n return { angle: pi / 2, offset: [(width / 4) * 3, -sizeH], rectOffset: [(width / 4) * 3, -height - size[1]] };\n case 'lt':\n return { angle: pi, offset: [width + sizeH, height / 5], rectOffset: [-width / 4, -height - size[1]] };\n case 'left':\n return { angle: pi, offset: [width + sizeH, height / 2], rectOffset: [0, -height - size[1]] };\n case 'lb':\n return {\n angle: pi,\n offset: [width + sizeH, (height / 5) * 4],\n rectOffset: [(width / 4) * 3, -height - size[1]]\n };\n }\n }\n}\n"]}
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const vutils_1 = require("@visactor/vutils"), theme_1 = require("./theme"), vrender_kits_1 = require("@visactor/vrender-kits");
8
8
 
9
9
  function loadPoptipComponent() {
10
- (0, vrender_kits_1.registerGroup)(), (0, vrender_kits_1.registerWrapText)(), (0,
11
- vrender_kits_1.registerSymbol)(), (0, vrender_kits_1.registerRect)();
10
+ (0, vrender_kits_1.registerGroup)(), (0, vrender_kits_1.registerText)(), (0, vrender_kits_1.registerSymbol)(),
11
+ (0, vrender_kits_1.registerRect)();
12
12
  }
13
13
 
14
14
  function setPoptipTheme(defaultPoptipTheme) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/poptip/register.ts"],"names":[],"mappings":";;;AACA,6CAAyC;AAEzC,mCAA+C;AAC/C,yDAAuG;AAEvG,SAAgB,mBAAmB;IACjC,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,+BAAgB,GAAE,CAAC;IACnB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,2BAAY,GAAE,CAAC;AACjB,CAAC;AALD,kDAKC;AAED,SAAgB,cAAc,CAAC,kBAAoC;IACjE,IAAA,cAAK,EAAC,aAAK,CAAC,MAAM,EAAE,qBAAa,EAAE,kBAAkB,CAAC,CAAC;AACzD,CAAC;AAFD,wCAEC","file":"register.js","sourcesContent":["import { container } from '@visactor/vrender-core';\nimport { merge } from '@visactor/vutils';\nimport type { PopTipAttributes } from './type';\nimport { DEFAULT_THEME, theme } from './theme';\nimport { registerGroup, registerRect, registerSymbol, registerWrapText } from '@visactor/vrender-kits';\n\nexport function loadPoptipComponent() {\n registerGroup();\n registerWrapText();\n registerSymbol();\n registerRect();\n}\n\nexport function setPoptipTheme(defaultPoptipTheme: PopTipAttributes) {\n merge(theme.poptip, DEFAULT_THEME, defaultPoptipTheme);\n}\n"]}
1
+ {"version":3,"sources":["../src/poptip/register.ts"],"names":[],"mappings":";;;AACA,6CAAyC;AAEzC,mCAA+C;AAC/C,yDAAmG;AAEnG,SAAgB,mBAAmB;IACjC,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,2BAAY,GAAE,CAAC;AACjB,CAAC;AALD,kDAKC;AAED,SAAgB,cAAc,CAAC,kBAAoC;IACjE,IAAA,cAAK,EAAC,aAAK,CAAC,MAAM,EAAE,qBAAa,EAAE,kBAAkB,CAAC,CAAC;AACzD,CAAC;AAFD,wCAEC","file":"register.js","sourcesContent":["import { container } from '@visactor/vrender-core';\nimport { merge } from '@visactor/vutils';\nimport type { PopTipAttributes } from './type';\nimport { DEFAULT_THEME, theme } from './theme';\nimport { registerGroup, registerRect, registerSymbol, registerText } from '@visactor/vrender-kits';\n\nexport function loadPoptipComponent() {\n registerGroup();\n registerText();\n registerSymbol();\n registerRect();\n}\n\nexport function setPoptipTheme(defaultPoptipTheme: PopTipAttributes) {\n merge(theme.poptip, DEFAULT_THEME, defaultPoptipTheme);\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './radio';
2
+ export * from './type';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
4
+ void 0 === k2 && (k2 = k);
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
7
+ enumerable: !0,
8
+ get: function() {
9
+ return m[k];
10
+ }
11
+ }), Object.defineProperty(o, k2, desc);
12
+ } : function(o, m, k, k2) {
13
+ void 0 === k2 && (k2 = k), o[k2] = m[k];
14
+ }), __exportStar = this && this.__exportStar || function(m, exports) {
15
+ for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p);
16
+ };
17
+
18
+ Object.defineProperty(exports, "__esModule", {
19
+ value: !0
20
+ }), __exportStar(require("./radio"), exports), __exportStar(require("./type"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/radio/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,yCAAuB","file":"index.js","sourcesContent":["export * from './radio';\nexport * from './type';\n"]}
@@ -0,0 +1,16 @@
1
+ import { AbstractComponent } from '../core/base';
2
+ import type { RadioAttributes } from './type';
3
+ import { Arc, WrapText } from '@visactor/vrender-core';
4
+ import type { ComponentOptions } from '../interface';
5
+ export declare class Radio extends AbstractComponent<Required<RadioAttributes>> {
6
+ static defaultAttributes: Partial<RadioAttributes>;
7
+ _circle: Arc;
8
+ _text: WrapText;
9
+ constructor(attributes: RadioAttributes, options?: ComponentOptions);
10
+ render(): void;
11
+ renderCircle(): void;
12
+ renderText(): void;
13
+ renderGroup(): void;
14
+ layout(): void;
15
+ private _handlePointerUp;
16
+ }
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.Radio = void 0;
6
+
7
+ const vutils_1 = require("@visactor/vutils"), base_1 = require("../core/base"), vrender_core_1 = require("@visactor/vrender-core"), register_1 = require("./register");
8
+
9
+ (0, register_1.loadRadioComponent)();
10
+
11
+ class Radio extends base_1.AbstractComponent {
12
+ constructor(attributes, options) {
13
+ super((null == options ? void 0 : options.skipDefault) ? attributes : (0, vutils_1.merge)({}, Radio.defaultAttributes, attributes)),
14
+ this._handlePointerUp = () => {
15
+ this.attribute.disabled || this.attribute.checked || (this.setAttribute("checked", !0),
16
+ this._dispatchEvent("radio_checked", {
17
+ eventType: "radio_checked",
18
+ target: this
19
+ }), this.stage.renderNextFrame());
20
+ }, this.renderGroup(), this.onBeforeAttributeUpdate = (val, attributes, key) => {
21
+ "interactive" in val && this.setAttribute("pickable", val.interactive), "disabled" in val && this.setAttribute("cursor", val.disable ? this.attribute.disableCursor : this.attribute.cursor);
22
+ }, this.addEventListener("pointerup", this._handlePointerUp);
23
+ }
24
+ render() {
25
+ this.removeAllChild(!0), this.renderCircle(), this.renderText(), this.layout();
26
+ }
27
+ renderCircle() {
28
+ this._circle = new vrender_core_1.Arc((0, vutils_1.merge)({}, this.attribute.circle));
29
+ const isChecked = this.attribute.checked;
30
+ isChecked && this.attribute.disabled ? this._circle.setAttributes({
31
+ fill: this.attribute.circle.disableCheckedFill,
32
+ stroke: this.attribute.circle.disableCheckedStroke
33
+ }) : isChecked && this._circle.setAttributes({
34
+ fill: this.attribute.circle.checkedFill,
35
+ stroke: this.attribute.circle.checkedStroke
36
+ }), this.appendChild(this._circle);
37
+ }
38
+ renderText() {
39
+ this._text = new vrender_core_1.WrapText((0, vutils_1.merge)({}, this.attribute.text)),
40
+ this.attribute.disabled && this._text.setAttribute("fill", this.attribute.text.disableFill),
41
+ this.appendChild(this._text);
42
+ }
43
+ renderGroup() {
44
+ this.attribute.interactive || this.setAttribute("pickable", !1), this.attribute.disabled && this.setAttribute("cursor", this.attribute.disableCursor);
45
+ }
46
+ layout() {
47
+ const circleHeight = 2 * (this.attribute.circle.outerRadius + this.attribute.circle.lineWidth), textHeight = this._text.AABBBounds.height(), maxHeight = Math.max(circleHeight, textHeight), circleY = maxHeight / 2 - circleHeight / 2 + this.attribute.circle.outerRadius + this.attribute.circle.lineWidth, textY = maxHeight / 2 - textHeight / 2, circleWidth = 2 * (this.attribute.circle.outerRadius + this.attribute.circle.lineWidth), circleX = this.attribute.circle.outerRadius + this.attribute.circle.lineWidth, textX = circleWidth + this.attribute.spaceBetweenTextAndIcon;
48
+ this._circle.setAttributes({
49
+ x: circleX,
50
+ y: circleY
51
+ }), this._text.setAttributes({
52
+ x: textX,
53
+ y: textY
54
+ });
55
+ }
56
+ }
57
+
58
+ exports.Radio = Radio, Radio.defaultAttributes = {
59
+ interactive: !0,
60
+ disabled: !1,
61
+ checked: !1,
62
+ cursor: "pointer",
63
+ disableCursor: "not-allowed",
64
+ spaceBetweenTextAndIcon: 8,
65
+ text: {
66
+ text: "text",
67
+ fontSize: 14,
68
+ fill: "#000",
69
+ disableFill: "rgb(201,205,212)",
70
+ textBaseline: "top",
71
+ pickable: !1
72
+ },
73
+ circle: {
74
+ outerRadius: 7,
75
+ innerRadius: 3,
76
+ startAngle: 0,
77
+ endAngle: 2 * Math.PI,
78
+ lineWidth: 1,
79
+ fill: "#fff",
80
+ stroke: "rgb(229,230,235)",
81
+ disableFill: "rgb(242,243,245)",
82
+ checkedFill: "rgb(22, 93, 255)",
83
+ checkedStroke: "rgb(22, 93, 255)",
84
+ disableCheckedFill: "rgb(148, 191, 255)",
85
+ disableCheckedStroke: "rgb(148, 191, 255)",
86
+ pickable: !1
87
+ }
88
+ };
89
+ //# sourceMappingURL=radio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/radio/radio.ts"],"names":[],"mappings":"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","file":"radio.js","sourcesContent":["import { merge } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport type { RadioAttributes } from './type';\nimport { Arc, WrapText } from '@visactor/vrender-core';\nimport type { ComponentOptions } from '../interface';\nimport { loadRadioComponent } from './register';\n\nloadRadioComponent();\nexport class Radio extends AbstractComponent<Required<RadioAttributes>> {\n static defaultAttributes: Partial<RadioAttributes> = {\n interactive: true,\n disabled: false,\n checked: false,\n cursor: 'pointer',\n disableCursor: 'not-allowed',\n spaceBetweenTextAndIcon: 8,\n text: {\n text: 'text',\n fontSize: 14,\n fill: '#000',\n disableFill: 'rgb(201,205,212)',\n textBaseline: 'top',\n pickable: false\n },\n circle: {\n outerRadius: 7,\n innerRadius: 3,\n startAngle: 0,\n endAngle: 2 * Math.PI,\n lineWidth: 1,\n fill: '#fff',\n stroke: 'rgb(229,230,235)',\n disableFill: 'rgb(242,243,245)',\n checkedFill: 'rgb(22, 93, 255)',\n checkedStroke: 'rgb(22, 93, 255)',\n disableCheckedFill: 'rgb(148, 191, 255)',\n disableCheckedStroke: 'rgb(148, 191, 255)',\n pickable: false\n }\n };\n _circle: Arc;\n _text: WrapText;\n\n constructor(attributes: RadioAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, Radio.defaultAttributes, attributes));\n this.renderGroup();\n\n this.onBeforeAttributeUpdate = (val: any, attributes: any, key: null | string | string[]) => {\n if ('interactive' in val) {\n this.setAttribute('pickable', val.interactive);\n }\n if ('disabled' in val) {\n this.setAttribute('cursor', val.disable ? this.attribute.disableCursor : this.attribute.cursor);\n }\n return undefined;\n };\n\n this.addEventListener('pointerup', this._handlePointerUp);\n }\n\n render() {\n this.removeAllChild(true);\n\n this.renderCircle();\n this.renderText();\n this.layout();\n }\n\n renderCircle() {\n this._circle = new Arc(merge({}, this.attribute.circle));\n const isChecked = this.attribute.checked;\n if (isChecked && this.attribute.disabled) {\n this._circle.setAttributes({\n fill: this.attribute.circle.disableCheckedFill,\n stroke: this.attribute.circle.disableCheckedStroke\n });\n } else if (isChecked) {\n this._circle.setAttributes({\n fill: this.attribute.circle.checkedFill,\n stroke: this.attribute.circle.checkedStroke\n });\n }\n this.appendChild(this._circle);\n }\n\n renderText() {\n this._text = new WrapText(merge({}, this.attribute.text));\n if (this.attribute.disabled) {\n this._text.setAttribute('fill', this.attribute.text.disableFill);\n }\n this.appendChild(this._text);\n }\n\n renderGroup() {\n if (!this.attribute.interactive) {\n this.setAttribute('pickable', false);\n }\n if (this.attribute.disabled) {\n this.setAttribute('cursor', this.attribute.disableCursor);\n }\n }\n\n layout() {\n const circleHeight = (this.attribute.circle.outerRadius + this.attribute.circle.lineWidth) * 2;\n const textHeight = this._text.AABBBounds.height();\n const maxHeight = Math.max(circleHeight, textHeight);\n const circleY =\n maxHeight / 2 - circleHeight / 2 + this.attribute.circle.outerRadius + this.attribute.circle.lineWidth;\n const textY = maxHeight / 2 - textHeight / 2;\n\n const circleWidth = (this.attribute.circle.outerRadius + this.attribute.circle.lineWidth) * 2;\n const circleX = this.attribute.circle.outerRadius + this.attribute.circle.lineWidth;\n const textX = circleWidth + this.attribute.spaceBetweenTextAndIcon;\n\n this._circle.setAttributes({\n x: circleX,\n y: circleY\n });\n this._text.setAttributes({\n x: textX,\n y: textY\n });\n }\n\n private _handlePointerUp = () => {\n if (this.attribute.disabled || this.attribute.checked) {\n // checked do nothing\n return;\n }\n this.setAttribute('checked', true);\n\n this._dispatchEvent('radio_checked', {\n eventType: 'radio_checked',\n target: this\n });\n\n this.stage.renderNextFrame();\n };\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare function loadRadioComponent(): void;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.loadRadioComponent = void 0;
6
+
7
+ const vrender_kits_1 = require("@visactor/vrender-kits");
8
+
9
+ function loadRadioComponent() {
10
+ (0, vrender_kits_1.registerGroup)(), (0, vrender_kits_1.registerRect)(), (0, vrender_kits_1.registerWrapText)(),
11
+ (0, vrender_kits_1.registerImage)();
12
+ }
13
+
14
+ exports.loadRadioComponent = loadRadioComponent;
15
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/radio/register.ts"],"names":[],"mappings":";;;AAAA,yDAAsG;AAEtG,SAAgB,kBAAkB;IAChC,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,+BAAgB,GAAE,CAAC;IACnB,IAAA,4BAAa,GAAE,CAAC;AAClB,CAAC;AALD,gDAKC","file":"register.js","sourcesContent":["import { registerGroup, registerImage, registerRect, registerWrapText } from '@visactor/vrender-kits';\n\nexport function loadRadioComponent() {\n registerGroup();\n registerRect();\n registerWrapText();\n registerImage();\n}\n"]}