@hatiolab/things-scene 9.0.0-beta.36 → 9.0.0-beta.38

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 (397) hide show
  1. package/package.json +1 -1
  2. package/things-scene-min.js +11 -11
  3. package/things-scene-min.js.map +1 -1
  4. package/things-scene.mjs +11 -11
  5. package/things-scene.mjs.map +1 -1
  6. package/.cursorignore +0 -62
  7. package/.prettierrc +0 -21
  8. package/assets/icon-audio.png +0 -0
  9. package/assets/icon-gif-viewer.png +0 -0
  10. package/assets/images/spinner.png +0 -0
  11. package/babel.config.js +0 -23
  12. package/db.sqlite +0 -0
  13. package/dist/animation/animate.js +0 -63
  14. package/dist/animation/animate.js.map +0 -1
  15. package/dist/animation/animations/animation.js +0 -122
  16. package/dist/animation/animations/animation.js.map +0 -1
  17. package/dist/animation/animations/fade.js +0 -28
  18. package/dist/animation/animations/fade.js.map +0 -1
  19. package/dist/animation/animations/heartbeat.js +0 -28
  20. package/dist/animation/animations/heartbeat.js.map +0 -1
  21. package/dist/animation/animations/moving.js +0 -24
  22. package/dist/animation/animations/moving.js.map +0 -1
  23. package/dist/animation/animations/outline.js +0 -47
  24. package/dist/animation/animations/outline.js.map +0 -1
  25. package/dist/animation/animations/rotation.js +0 -22
  26. package/dist/animation/animations/rotation.js.map +0 -1
  27. package/dist/animation/animations/vibration.js +0 -31
  28. package/dist/animation/animations/vibration.js.map +0 -1
  29. package/dist/animation/compile.js +0 -31
  30. package/dist/animation/compile.js.map +0 -1
  31. package/dist/animation/delta.js +0 -51
  32. package/dist/animation/delta.js.map +0 -1
  33. package/dist/animation/index.js +0 -14
  34. package/dist/animation/index.js.map +0 -1
  35. package/dist/command/command-change.js +0 -33
  36. package/dist/command/command-change.js.map +0 -1
  37. package/dist/command/command-migrate.js +0 -103
  38. package/dist/command/command-migrate.js.map +0 -1
  39. package/dist/command/command.js +0 -18
  40. package/dist/command/command.js.map +0 -1
  41. package/dist/command/snapshot-commander.js +0 -84
  42. package/dist/command/snapshot-commander.js.map +0 -1
  43. package/dist/components/anchor/anchor.js +0 -105
  44. package/dist/components/anchor/anchor.js.map +0 -1
  45. package/dist/components/anchor/ellipse-anchors.js +0 -53
  46. package/dist/components/anchor/ellipse-anchors.js.map +0 -1
  47. package/dist/components/anchor/rect-anchors.js +0 -53
  48. package/dist/components/anchor/rect-anchors.js.map +0 -1
  49. package/dist/components/audio.js +0 -154
  50. package/dist/components/audio.js.map +0 -1
  51. package/dist/components/cloud.js +0 -44
  52. package/dist/components/cloud.js.map +0 -1
  53. package/dist/components/component.js +0 -1086
  54. package/dist/components/component.js.map +0 -1
  55. package/dist/components/container-abstract.js +0 -387
  56. package/dist/components/container-abstract.js.map +0 -1
  57. package/dist/components/container.js +0 -331
  58. package/dist/components/container.js.map +0 -1
  59. package/dist/components/data/data-mapping.js +0 -82
  60. package/dist/components/data/data-mapping.js.map +0 -1
  61. package/dist/components/data/data.js +0 -166
  62. package/dist/components/data/data.js.map +0 -1
  63. package/dist/components/data/evaluator.js +0 -103
  64. package/dist/components/data/evaluator.js.map +0 -1
  65. package/dist/components/donut.js +0 -104
  66. package/dist/components/donut.js.map +0 -1
  67. package/dist/components/drawer/draw-image-pendable.js +0 -20
  68. package/dist/components/drawer/draw-image-pendable.js.map +0 -1
  69. package/dist/components/drawer/effect.js +0 -19
  70. package/dist/components/drawer/effect.js.map +0 -1
  71. package/dist/components/drawer/fill.js +0 -228
  72. package/dist/components/drawer/fill.js.map +0 -1
  73. package/dist/components/drawer/format.js +0 -115
  74. package/dist/components/drawer/format.js.map +0 -1
  75. package/dist/components/drawer/line.js +0 -191
  76. package/dist/components/drawer/line.js.map +0 -1
  77. package/dist/components/drawer/stroke.js +0 -62
  78. package/dist/components/drawer/stroke.js.map +0 -1
  79. package/dist/components/drawer/text-wrapper.js +0 -51
  80. package/dist/components/drawer/text-wrapper.js.map +0 -1
  81. package/dist/components/drawer/text.js +0 -269
  82. package/dist/components/drawer/text.js.map +0 -1
  83. package/dist/components/ellipse.js +0 -110
  84. package/dist/components/ellipse.js.map +0 -1
  85. package/dist/components/file/ondropfile.js +0 -19
  86. package/dist/components/file/ondropfile.js.map +0 -1
  87. package/dist/components/fit/fit.js +0 -137
  88. package/dist/components/fit/fit.js.map +0 -1
  89. package/dist/components/geometry/transcoord.js +0 -339
  90. package/dist/components/geometry/transcoord.js.map +0 -1
  91. package/dist/components/geometry/union.js +0 -35
  92. package/dist/components/geometry/union.js.map +0 -1
  93. package/dist/components/gif-view.js +0 -128
  94. package/dist/components/gif-view.js.map +0 -1
  95. package/dist/components/global-ref.js +0 -154
  96. package/dist/components/global-ref.js.map +0 -1
  97. package/dist/components/group.js +0 -171
  98. package/dist/components/group.js.map +0 -1
  99. package/dist/components/html/elements.js +0 -24
  100. package/dist/components/html/elements.js.map +0 -1
  101. package/dist/components/html/fill.js +0 -126
  102. package/dist/components/html/fill.js.map +0 -1
  103. package/dist/components/html/reposition.js +0 -119
  104. package/dist/components/html/reposition.js.map +0 -1
  105. package/dist/components/html/shadow.js +0 -24
  106. package/dist/components/html/shadow.js.map +0 -1
  107. package/dist/components/html-overlay-container.js +0 -27
  108. package/dist/components/html-overlay-container.js.map +0 -1
  109. package/dist/components/html-overlay-element.js +0 -22
  110. package/dist/components/html-overlay-element.js.map +0 -1
  111. package/dist/components/image-view.js +0 -193
  112. package/dist/components/image-view.js.map +0 -1
  113. package/dist/components/index.js +0 -231
  114. package/dist/components/index.js.map +0 -1
  115. package/dist/components/info-window.js +0 -416
  116. package/dist/components/info-window.js.map +0 -1
  117. package/dist/components/line.js +0 -374
  118. package/dist/components/line.js.map +0 -1
  119. package/dist/components/local-ref.js +0 -114
  120. package/dist/components/local-ref.js.map +0 -1
  121. package/dist/components/mixins/connectable.js +0 -128
  122. package/dist/components/mixins/connectable.js.map +0 -1
  123. package/dist/components/mixins/data-source.js +0 -34
  124. package/dist/components/mixins/data-source.js.map +0 -1
  125. package/dist/components/mixins/html-element.js +0 -107
  126. package/dist/components/mixins/html-element.js.map +0 -1
  127. package/dist/components/mixins/move-handle.js +0 -73
  128. package/dist/components/mixins/move-handle.js.map +0 -1
  129. package/dist/components/mixins/rect-path.js +0 -113
  130. package/dist/components/mixins/rect-path.js.map +0 -1
  131. package/dist/components/mixins/value-holder.js +0 -81
  132. package/dist/components/mixins/value-holder.js.map +0 -1
  133. package/dist/components/mutater/bounds.js +0 -68
  134. package/dist/components/mutater/bounds.js.map +0 -1
  135. package/dist/components/mutater/path.js +0 -73
  136. package/dist/components/mutater/path.js.map +0 -1
  137. package/dist/components/ortholine.js +0 -763
  138. package/dist/components/ortholine.js.map +0 -1
  139. package/dist/components/outline/ellipse-outline.js +0 -23
  140. package/dist/components/outline/ellipse-outline.js.map +0 -1
  141. package/dist/components/outline/path-outline.js +0 -48
  142. package/dist/components/outline/path-outline.js.map +0 -1
  143. package/dist/components/path.js +0 -49
  144. package/dist/components/path.js.map +0 -1
  145. package/dist/components/polygon.js +0 -91
  146. package/dist/components/polygon.js.map +0 -1
  147. package/dist/components/polyline.js +0 -114
  148. package/dist/components/polyline.js.map +0 -1
  149. package/dist/components/popup.js +0 -160
  150. package/dist/components/popup.js.map +0 -1
  151. package/dist/components/rect.js +0 -72
  152. package/dist/components/rect.js.map +0 -1
  153. package/dist/components/retention/retention-manager.js +0 -81
  154. package/dist/components/retention/retention-manager.js.map +0 -1
  155. package/dist/components/root-container.js +0 -519
  156. package/dist/components/root-container.js.map +0 -1
  157. package/dist/components/ruler.js +0 -103
  158. package/dist/components/ruler.js.map +0 -1
  159. package/dist/components/shape.js +0 -97
  160. package/dist/components/shape.js.map +0 -1
  161. package/dist/components/star.js +0 -103
  162. package/dist/components/star.js.map +0 -1
  163. package/dist/components/text/substitutor.js +0 -92
  164. package/dist/components/text/substitutor.js.map +0 -1
  165. package/dist/components/text.js +0 -21
  166. package/dist/components/text.js.map +0 -1
  167. package/dist/components/triangle.js +0 -92
  168. package/dist/components/triangle.js.map +0 -1
  169. package/dist/const.js +0 -71
  170. package/dist/const.js.map +0 -1
  171. package/dist/core/collection.js +0 -28
  172. package/dist/core/collection.js.map +0 -1
  173. package/dist/core/debug.js +0 -12
  174. package/dist/core/debug.js.map +0 -1
  175. package/dist/core/deep-equals.js +0 -112
  176. package/dist/core/deep-equals.js.map +0 -1
  177. package/dist/core/dom-to-image.js +0 -617
  178. package/dist/core/dom-to-image.js.map +0 -1
  179. package/dist/core/event.js +0 -205
  180. package/dist/core/event.js.map +0 -1
  181. package/dist/core/index.js +0 -21
  182. package/dist/core/index.js.map +0 -1
  183. package/dist/core/list.js +0 -87
  184. package/dist/core/list.js.map +0 -1
  185. package/dist/core/logger.js +0 -29
  186. package/dist/core/logger.js.map +0 -1
  187. package/dist/core/memoize.js +0 -40
  188. package/dist/core/memoize.js.map +0 -1
  189. package/dist/core/mixin.js +0 -26
  190. package/dist/core/mixin.js.map +0 -1
  191. package/dist/core/obj-accessor.js +0 -26
  192. package/dist/core/obj-accessor.js.map +0 -1
  193. package/dist/core/reference-map.js +0 -147
  194. package/dist/core/reference-map.js.map +0 -1
  195. package/dist/core/round-rect.js +0 -62
  196. package/dist/core/round-rect.js.map +0 -1
  197. package/dist/core/safe-round.js +0 -10
  198. package/dist/core/safe-round.js.map +0 -1
  199. package/dist/core/script-loader.js +0 -148
  200. package/dist/core/script-loader.js.map +0 -1
  201. package/dist/core/snapshot-taker.js +0 -59
  202. package/dist/core/snapshot-taker.js.map +0 -1
  203. package/dist/core/stack.js +0 -18
  204. package/dist/core/stack.js.map +0 -1
  205. package/dist/core/timecapsule.js +0 -88
  206. package/dist/core/timecapsule.js.map +0 -1
  207. package/dist/core/utils.js +0 -309
  208. package/dist/core/utils.js.map +0 -1
  209. package/dist/decorator/anchors-decorator.js +0 -53
  210. package/dist/decorator/anchors-decorator.js.map +0 -1
  211. package/dist/decorator/bouncing-arrow-decorator.js +0 -52
  212. package/dist/decorator/bouncing-arrow-decorator.js.map +0 -1
  213. package/dist/decorator/data-spread-decorator.js +0 -69
  214. package/dist/decorator/data-spread-decorator.js.map +0 -1
  215. package/dist/decorator/decotag-decorator.js +0 -33
  216. package/dist/decorator/decotag-decorator.js.map +0 -1
  217. package/dist/decorator/index.js +0 -31
  218. package/dist/decorator/index.js.map +0 -1
  219. package/dist/decorator/link-decorator.js +0 -66
  220. package/dist/decorator/link-decorator.js.map +0 -1
  221. package/dist/effect/gradation.js +0 -37
  222. package/dist/effect/gradation.js.map +0 -1
  223. package/dist/effect/index.js +0 -23
  224. package/dist/effect/index.js.map +0 -1
  225. package/dist/effect/shadow.js +0 -33
  226. package/dist/effect/shadow.js.map +0 -1
  227. package/dist/effect/turn.js +0 -25
  228. package/dist/effect/turn.js.map +0 -1
  229. package/dist/event/event-engine.js +0 -76
  230. package/dist/event/event-engine.js.map +0 -1
  231. package/dist/event/event-pump.js +0 -92
  232. package/dist/event/event-pump.js.map +0 -1
  233. package/dist/event/event-tracker.js +0 -97
  234. package/dist/event/event-tracker.js.map +0 -1
  235. package/dist/event/index.js +0 -21
  236. package/dist/event/index.js.map +0 -1
  237. package/dist/event/ua-event-handler.js +0 -453
  238. package/dist/event/ua-event-handler.js.map +0 -1
  239. package/dist/event-map/animator-handler.js +0 -225
  240. package/dist/event-map/animator-handler.js.map +0 -1
  241. package/dist/event-map/animators/animated-icon.js +0 -265
  242. package/dist/event-map/animators/animated-icon.js.map +0 -1
  243. package/dist/event-map/animators/border-highlighting.js +0 -476
  244. package/dist/event-map/animators/border-highlighting.js.map +0 -1
  245. package/dist/event-map/animators/bouncing-arrow.js +0 -226
  246. package/dist/event-map/animators/bouncing-arrow.js.map +0 -1
  247. package/dist/event-map/event-map.js +0 -36
  248. package/dist/event-map/event-map.js.map +0 -1
  249. package/dist/event-map/index.js +0 -20
  250. package/dist/event-map/index.js.map +0 -1
  251. package/dist/event-map/move-handler.js +0 -233
  252. package/dist/event-map/move-handler.js.map +0 -1
  253. package/dist/event-map/paste-handler.js +0 -176
  254. package/dist/event-map/paste-handler.js.map +0 -1
  255. package/dist/event-map/shift-handler.js +0 -55
  256. package/dist/event-map/shift-handler.js.map +0 -1
  257. package/dist/event-map/text-editor-lite.js +0 -276
  258. package/dist/event-map/text-editor-lite.js.map +0 -1
  259. package/dist/event-map/zoom-handler.js +0 -49
  260. package/dist/event-map/zoom-handler.js.map +0 -1
  261. package/dist/index.js +0 -20
  262. package/dist/index.js.map +0 -1
  263. package/dist/layer/action/emphasize.js +0 -42
  264. package/dist/layer/action/emphasize.js.map +0 -1
  265. package/dist/layer/action/popup.js +0 -461
  266. package/dist/layer/action/popup.js.map +0 -1
  267. package/dist/layer/action/pressed.js +0 -31
  268. package/dist/layer/action/pressed.js.map +0 -1
  269. package/dist/layer/add-layer.js +0 -180
  270. package/dist/layer/add-layer.js.map +0 -1
  271. package/dist/layer/decotag-layer.js +0 -121
  272. package/dist/layer/decotag-layer.js.map +0 -1
  273. package/dist/layer/guide-layer.js +0 -292
  274. package/dist/layer/guide-layer.js.map +0 -1
  275. package/dist/layer/index.js +0 -70
  276. package/dist/layer/index.js.map +0 -1
  277. package/dist/layer/layer.js +0 -230
  278. package/dist/layer/layer.js.map +0 -1
  279. package/dist/layer/minimap-layer.js +0 -84
  280. package/dist/layer/minimap-layer.js.map +0 -1
  281. package/dist/layer/model-layer.js +0 -465
  282. package/dist/layer/model-layer.js.map +0 -1
  283. package/dist/layer/modeler/anchor-handler.js +0 -193
  284. package/dist/layer/modeler/anchor-handler.js.map +0 -1
  285. package/dist/layer/modeler/control-handler.js +0 -95
  286. package/dist/layer/modeler/control-handler.js.map +0 -1
  287. package/dist/layer/modeler/focus-outline.js +0 -41
  288. package/dist/layer/modeler/focus-outline.js.map +0 -1
  289. package/dist/layer/modeler/group-outline.js +0 -30
  290. package/dist/layer/modeler/group-outline.js.map +0 -1
  291. package/dist/layer/modeler/index.js +0 -56
  292. package/dist/layer/modeler/index.js.map +0 -1
  293. package/dist/layer/modeler/path-handler.js +0 -300
  294. package/dist/layer/modeler/path-handler.js.map +0 -1
  295. package/dist/layer/modeler/resizer.js +0 -333
  296. package/dist/layer/modeler/resizer.js.map +0 -1
  297. package/dist/layer/modeler/rotator.js +0 -134
  298. package/dist/layer/modeler/rotator.js.map +0 -1
  299. package/dist/layer/modeling-layer.js +0 -491
  300. package/dist/layer/modeling-layer.js.map +0 -1
  301. package/dist/layer/reaction-layer.js +0 -111
  302. package/dist/layer/reaction-layer.js.map +0 -1
  303. package/dist/layer/scroll-layer.js +0 -191
  304. package/dist/layer/scroll-layer.js.map +0 -1
  305. package/dist/layer/selection/selected-finder.js +0 -96
  306. package/dist/layer/selection/selected-finder.js.map +0 -1
  307. package/dist/layer/selection-layer.js +0 -373
  308. package/dist/layer/selection-layer.js.map +0 -1
  309. package/dist/layer/shift-layer.js +0 -83
  310. package/dist/layer/shift-layer.js.map +0 -1
  311. package/dist/layout/absolute.js +0 -30
  312. package/dist/layout/absolute.js.map +0 -1
  313. package/dist/layout/card.js +0 -52
  314. package/dist/layout/card.js.map +0 -1
  315. package/dist/layout/html-absolute.js +0 -32
  316. package/dist/layout/html-absolute.js.map +0 -1
  317. package/dist/layout/index.js +0 -56
  318. package/dist/layout/index.js.map +0 -1
  319. package/dist/layout/layout.js +0 -36
  320. package/dist/layout/layout.js.map +0 -1
  321. package/dist/layout/linear-horizontal.js +0 -56
  322. package/dist/layout/linear-horizontal.js.map +0 -1
  323. package/dist/layout/linear-vertical.js +0 -56
  324. package/dist/layout/linear-vertical.js.map +0 -1
  325. package/dist/layout/table.js +0 -106
  326. package/dist/layout/table.js.map +0 -1
  327. package/dist/license/license.js +0 -170
  328. package/dist/license/license.js.map +0 -1
  329. package/dist/model/compile.js +0 -40
  330. package/dist/model/compile.js.map +0 -1
  331. package/dist/model/duplicate.js +0 -19
  332. package/dist/model/duplicate.js.map +0 -1
  333. package/dist/model/index.js +0 -34
  334. package/dist/model/index.js.map +0 -1
  335. package/dist/model/selector.js +0 -104
  336. package/dist/model/selector.js.map +0 -1
  337. package/dist/style/compile.js +0 -14
  338. package/dist/style/compile.js.map +0 -1
  339. package/dist/style/index.js +0 -14
  340. package/dist/style/index.js.map +0 -1
  341. package/dist/things-scene/api/add-start.js +0 -18
  342. package/dist/things-scene/api/add-start.js.map +0 -1
  343. package/dist/things-scene/api/add.js +0 -71
  344. package/dist/things-scene/api/add.js.map +0 -1
  345. package/dist/things-scene/api/align.js +0 -116
  346. package/dist/things-scene/api/align.js.map +0 -1
  347. package/dist/things-scene/api/center-to.js +0 -50
  348. package/dist/things-scene/api/center-to.js.map +0 -1
  349. package/dist/things-scene/api/change.js +0 -27
  350. package/dist/things-scene/api/change.js.map +0 -1
  351. package/dist/things-scene/api/clipboard.js +0 -45
  352. package/dist/things-scene/api/clipboard.js.map +0 -1
  353. package/dist/things-scene/api/distribute.js +0 -57
  354. package/dist/things-scene/api/distribute.js.map +0 -1
  355. package/dist/things-scene/api/duplicate.js +0 -47
  356. package/dist/things-scene/api/duplicate.js.map +0 -1
  357. package/dist/things-scene/api/fullscreen.js +0 -26
  358. package/dist/things-scene/api/fullscreen.js.map +0 -1
  359. package/dist/things-scene/api/group.js +0 -91
  360. package/dist/things-scene/api/group.js.map +0 -1
  361. package/dist/things-scene/api/ids.js +0 -28
  362. package/dist/things-scene/api/ids.js.map +0 -1
  363. package/dist/things-scene/api/index.js +0 -192
  364. package/dist/things-scene/api/index.js.map +0 -1
  365. package/dist/things-scene/api/listener.js +0 -69
  366. package/dist/things-scene/api/listener.js.map +0 -1
  367. package/dist/things-scene/api/paste-start.js +0 -27
  368. package/dist/things-scene/api/paste-start.js.map +0 -1
  369. package/dist/things-scene/api/place.js +0 -98
  370. package/dist/things-scene/api/place.js.map +0 -1
  371. package/dist/things-scene/api/remove.js +0 -57
  372. package/dist/things-scene/api/remove.js.map +0 -1
  373. package/dist/things-scene/api/symmetry.js +0 -47
  374. package/dist/things-scene/api/symmetry.js.map +0 -1
  375. package/dist/things-scene/api/to-data-url.js +0 -76
  376. package/dist/things-scene/api/to-data-url.js.map +0 -1
  377. package/dist/things-scene/api/zorder.js +0 -68
  378. package/dist/things-scene/api/zorder.js.map +0 -1
  379. package/dist/things-scene/application-context.js +0 -168
  380. package/dist/things-scene/application-context.js.map +0 -1
  381. package/dist/things-scene/config.js +0 -18
  382. package/dist/things-scene/config.js.map +0 -1
  383. package/dist/things-scene/create.js +0 -67
  384. package/dist/things-scene/create.js.map +0 -1
  385. package/dist/things-scene/fps.js +0 -26
  386. package/dist/things-scene/fps.js.map +0 -1
  387. package/dist/things-scene/index.js +0 -152
  388. package/dist/things-scene/index.js.map +0 -1
  389. package/dist/things-scene/polyfill.js +0 -111
  390. package/dist/things-scene/polyfill.js.map +0 -1
  391. package/dist/things-scene/scene.js +0 -442
  392. package/dist/things-scene/scene.js.map +0 -1
  393. package/dist/things-scene/version.js +0 -12
  394. package/dist/things-scene/version.js.map +0 -1
  395. package/rollup.config.js +0 -67
  396. package/schema.graphql +0 -4606
  397. package/tsconfig.json +0 -31
@@ -1,34 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- /*
8
- * Copyright © HatioLab Inc. All rights reserved.
9
- */
10
- /*
11
- * DataSource 컴포넌트를 위한 Mixin임
12
- */
13
- var _default = superclass => {
14
- var A = class extends superclass {
15
- _convertDataFormat(data, format) {
16
- var formattedData;
17
- switch (format) {
18
- case 'json':
19
- formattedData = JSON.parse(data);
20
- break;
21
- default:
22
- formattedData = data;
23
- break;
24
- }
25
- return formattedData;
26
- }
27
- isDataSource() {
28
- return true;
29
- }
30
- };
31
- return A;
32
- };
33
- exports.default = _default;
34
- //# sourceMappingURL=data-source.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-source.js","names":["_default","superclass","A","_convertDataFormat","data","format","formattedData","JSON","parse","isDataSource","exports","default"],"sources":["../../../src/components/mixins/data-source.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\n/*\n * DataSource 컴포넌트를 위한 Mixin임\n */\n\nexport default superclass => {\n var A = class extends superclass {\n _convertDataFormat(data, format) {\n var formattedData\n switch (format) {\n case 'json':\n formattedData = JSON.parse(data)\n break\n default:\n formattedData = data\n break\n }\n\n return formattedData\n }\n\n isDataSource() {\n return true\n }\n }\n\n return A\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAEA;AACA;AACA;AAFA,IAAAA,QAAA,GAIeC,UAAU,IAAI;EAC3B,IAAIC,CAAC,GAAG,cAAcD,UAAU,CAAC;IAC/BE,kBAAkBA,CAACC,IAAI,EAAEC,MAAM,EAAE;MAC/B,IAAIC,aAAa;MACjB,QAAQD,MAAM;QACZ,KAAK,MAAM;UACTC,aAAa,GAAGC,IAAI,CAACC,KAAK,CAACJ,IAAI,CAAC;UAChC;QACF;UACEE,aAAa,GAAGF,IAAI;UACpB;MACJ;MAEA,OAAOE,aAAa;IACtB;IAEAG,YAAYA,CAAA,EAAG;MACb,OAAO,IAAI;IACb;EACF,CAAC;EAED,OAAOP,CAAC;AACV,CAAC;AAAAQ,OAAA,CAAAC,OAAA,GAAAX,QAAA","ignoreList":[]}
@@ -1,107 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = exports.GESTURES = void 0;
7
- var _const = require("../../const.js");
8
- var _uaEventHandler = require("../../event/ua-event-handler.js");
9
- var _reposition = _interopRequireDefault(require("../html/reposition.js"));
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- /*
12
- * Copyright © HatioLab Inc. All rights reserved.
13
- */
14
-
15
- const GESTURES = exports.GESTURES = ['mousemove', 'mouseup', 'mousedown', 'mouseout', 'wheel', 'tap', 'click', 'touchstart', 'touchmove', 'touchend', 'mouseenter', 'mouseleave', 'dragstart', 'dragmove', 'dragend', 'dblclick'];
16
-
17
- /**
18
- * Mixin HTMLElement
19
- */
20
- var _default = superclass => {
21
- var A = class extends superclass {
22
- isHTMLElement() {
23
- return true;
24
- }
25
- isShadowable() {
26
- return true;
27
- }
28
- get element() {
29
- return this._element;
30
- }
31
- set element(element) {
32
- this._element = element;
33
- }
34
-
35
- // Overidable
36
- get tagName() {
37
- return this.get('type');
38
- }
39
-
40
- // Overidable
41
- setElementProperties(element) {
42
- throw new Error('Not Implemented Yet');
43
- }
44
-
45
- // Overidable
46
- createElement() {
47
- this.element = document.createElement(this.tagName);
48
- if (!this.element) return;
49
- if (this.parent.isHTMLElement()) this.parent.element.appendChild(this.element);else this.root.model_layer.overlay.appendChild(this.element);
50
- GESTURES.forEach(event => {
51
- this.element.addEventListener(event, this.userInputEventHandler.bind(this));
52
- });
53
- _const.KEYEVENTS.forEach(event => {
54
- this.element.addEventListener(event, this.userInputEventHandler.bind(this));
55
- });
56
- this.oncreate_element && this.oncreate_element(this.element);
57
- }
58
- userInputEventHandler(e) {
59
- (0, _uaEventHandler.trigger)(this, e.type, e);
60
- e.stopPropagation();
61
- }
62
- reposition() {
63
- this.element && (0, _reposition.default)(this);
64
- }
65
-
66
- // Overidable
67
- disposeElement() {
68
- var element = this.element;
69
- element && element.parentElement && element.parentElement.removeChild(element);
70
- delete this.element;
71
- }
72
- ready() {
73
- super.ready();
74
- !this.element && this.createElement();
75
- if (this.parent.isHTMLElement()) this.parent.element.appendChild(this.element);else this.root.model_layer.overlay.appendChild(this.element);
76
- this.setElementProperties(this.element);
77
- this.reposition();
78
- }
79
- dispose() {
80
- this.disposeElement(this);
81
- super.dispose();
82
- }
83
- get hasTextProperty() {
84
- return true;
85
- }
86
- get textHidden() {
87
- return true;
88
- }
89
- get hidden() {
90
- return super.hidden;
91
- }
92
- set hidden(hidden) {
93
- super.hidden = hidden;
94
- this.element.style.display = hidden ? 'none' : 'block';
95
- }
96
- onchange(after, before) {
97
- this.element && this.setElementProperties(this.element);
98
- this.reposition();
99
- }
100
- isDescendible(container) {
101
- return container.isHTMLElement();
102
- }
103
- };
104
- return A;
105
- };
106
- exports.default = _default;
107
- //# sourceMappingURL=html-element.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"html-element.js","names":["_const","require","_uaEventHandler","_reposition","_interopRequireDefault","e","__esModule","default","GESTURES","exports","_default","superclass","A","isHTMLElement","isShadowable","element","_element","tagName","get","setElementProperties","Error","createElement","document","parent","appendChild","root","model_layer","overlay","forEach","event","addEventListener","userInputEventHandler","bind","KEYEVENTS","oncreate_element","trigger","type","stopPropagation","reposition","disposeElement","parentElement","removeChild","ready","dispose","hasTextProperty","textHidden","hidden","style","display","onchange","after","before","isDescendible","container"],"sources":["../../../src/components/mixins/html-element.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { KEYEVENTS } from '../../const.js'\nimport { trigger } from '../../event/ua-event-handler.js'\nimport reposition from '../html/reposition.js'\n\nexport const GESTURES = [\n 'mousemove',\n 'mouseup',\n 'mousedown',\n 'mouseout',\n 'wheel',\n 'tap',\n 'click',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'mouseenter',\n 'mouseleave',\n 'dragstart',\n 'dragmove',\n 'dragend',\n 'dblclick'\n]\n\n/**\n * Mixin HTMLElement\n */\nexport default superclass => {\n var A = class extends superclass {\n isHTMLElement() {\n return true\n }\n\n isShadowable() {\n return true\n }\n\n get element() {\n return this._element\n }\n\n set element(element) {\n this._element = element\n }\n\n // Overidable\n get tagName() {\n return this.get('type')\n }\n\n // Overidable\n setElementProperties(element) {\n throw new Error('Not Implemented Yet')\n }\n\n // Overidable\n createElement() {\n this.element = document.createElement(this.tagName)\n if (!this.element) return\n\n if (this.parent.isHTMLElement()) this.parent.element.appendChild(this.element)\n else this.root.model_layer.overlay.appendChild(this.element)\n\n GESTURES.forEach(event => {\n this.element.addEventListener(event, this.userInputEventHandler.bind(this))\n })\n\n KEYEVENTS.forEach(event => {\n this.element.addEventListener(event, this.userInputEventHandler.bind(this))\n })\n\n this.oncreate_element && this.oncreate_element(this.element)\n }\n\n userInputEventHandler(e) {\n trigger(this, e.type, e)\n e.stopPropagation()\n }\n\n reposition() {\n this.element && reposition(this)\n }\n\n // Overidable\n disposeElement() {\n var element = this.element\n element && element.parentElement && element.parentElement.removeChild(element)\n delete this.element\n }\n\n ready() {\n super.ready()\n !this.element && this.createElement()\n\n if (this.parent.isHTMLElement()) this.parent.element.appendChild(this.element)\n else this.root.model_layer.overlay.appendChild(this.element)\n\n this.setElementProperties(this.element)\n\n this.reposition()\n }\n\n dispose() {\n this.disposeElement(this)\n super.dispose()\n }\n\n get hasTextProperty() {\n return true\n }\n\n get textHidden() {\n return true\n }\n\n get hidden() {\n return super.hidden\n }\n\n set hidden(hidden) {\n super.hidden = hidden\n this.element.style.display = hidden ? 'none' : 'block'\n }\n\n onchange(after, before) {\n this.element && this.setElementProperties(this.element)\n\n this.reposition()\n }\n\n isDescendible(container) {\n return container.isHTMLElement()\n }\n }\n\n return A\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,73 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- /*
8
- * Copyright © HatioLab Inc. All rights reserved.
9
- */
10
-
11
- const LABEL_WIDTH = 25;
12
- const LABEL_HEIGHT = 25;
13
- const MOVE_HANDLE_IMAGE = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAclBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0BbqFAAAAJXRSTlMAgAP3VSI6/g9fBk5FavJsMrariSjzPnO1enRRL5SMhmOOWB9keFTE0wAAANxJREFUOMutk9kWgyAMRLFuiLjUtdp9yf//YglVsQXz1HniMPcEMgHGvpX2O0Ypi+EgCL+IAShC+wB7QfubRDT7AFcnUPoLMLiP4PyJbsb55i05AgnR5iaQDsICgtH0cotBWoAP1c7kC6kFxEseCfZfB6gEgbNeBrira2QmH1uVYCXlA3is8UmgUCPIyQJKEmu8QtQJN0e9DPXVpzG2G216c1CqRmcBOdxXk07sWUSPv07zo0amCNQycv+NzmR6cRcwmfbuI7p2nZ/z4be0P83Foz6vIkhfZXr82XgDlZsspIq4peUAAAAASUVORK5CYII=';
14
- const IMAGE = new Image();
15
- IMAGE.src = MOVE_HANDLE_IMAGE;
16
- var _default = superclass => {
17
- var A = class extends superclass {
18
- postrender(context) {
19
- super.postrender(context);
20
- if (!this.app.isEditMode) return;
21
- if (!this._focused) return;
22
- if (!this.showMoveHandle) return;
23
- this._draw_move_handle(context);
24
- }
25
- _draw_move_handle(context) {
26
- var {
27
- left,
28
- top,
29
- width
30
- } = this.bounds;
31
- context.save();
32
- // 이동 핸들 그리기
33
- context.beginPath();
34
- context.globalAlpha = 1;
35
- context.rect(left + width, top, LABEL_WIDTH, LABEL_HEIGHT);
36
- let color = 255 - 20 % 255;
37
- context.fillStyle = `rgba(${color}, ${color}, ${color}, 1)`;
38
- context.fill();
39
-
40
- // 아이콘 그리기
41
- context.drawImage(IMAGE, left + width + LABEL_WIDTH * 0.15, top + LABEL_HEIGHT * 0.15, LABEL_WIDTH * 0.7, LABEL_HEIGHT * 0.7);
42
- context.closePath();
43
- context.restore();
44
- }
45
- contains(x, y) {
46
- var contains = super.contains(x, y);
47
- if (this.app.isViewMode) {
48
- return contains;
49
- }
50
- if (!contains) {
51
- var {
52
- left,
53
- top,
54
- width,
55
- height
56
- } = this.bounds;
57
- var right = left + width;
58
- var h = LABEL_HEIGHT;
59
- if (this.showMoveHandle)
60
- // 이동 핸들러 영역에 포함되는지
61
- contains = x < Math.max(right + LABEL_WIDTH, right) && x > Math.min(right + LABEL_WIDTH, right) && y < Math.max(top + h, top) && y > Math.min(top + h, top);
62
- }
63
- if (this._focustd !== contains) {
64
- this._focused = contains;
65
- this.invalidate();
66
- }
67
- return contains;
68
- }
69
- };
70
- return A;
71
- };
72
- exports.default = _default;
73
- //# sourceMappingURL=move-handle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"move-handle.js","names":["LABEL_WIDTH","LABEL_HEIGHT","MOVE_HANDLE_IMAGE","IMAGE","Image","src","_default","superclass","A","postrender","context","app","isEditMode","_focused","showMoveHandle","_draw_move_handle","left","top","width","bounds","save","beginPath","globalAlpha","rect","color","fillStyle","fill","drawImage","closePath","restore","contains","x","y","isViewMode","height","right","h","Math","max","min","_focustd","invalidate","exports","default"],"sources":["../../../src/components/mixins/move-handle.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nconst LABEL_WIDTH = 25\nconst LABEL_HEIGHT = 25\nconst MOVE_HANDLE_IMAGE =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAclBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0BbqFAAAAJXRSTlMAgAP3VSI6/g9fBk5FavJsMrariSjzPnO1enRRL5SMhmOOWB9keFTE0wAAANxJREFUOMutk9kWgyAMRLFuiLjUtdp9yf//YglVsQXz1HniMPcEMgHGvpX2O0Ypi+EgCL+IAShC+wB7QfubRDT7AFcnUPoLMLiP4PyJbsb55i05AgnR5iaQDsICgtH0cotBWoAP1c7kC6kFxEseCfZfB6gEgbNeBrira2QmH1uVYCXlA3is8UmgUCPIyQJKEmu8QtQJN0e9DPXVpzG2G216c1CqRmcBOdxXk07sWUSPv07zo0amCNQycv+NzmR6cRcwmfbuI7p2nZ/z4be0P83Foz6vIkhfZXr82XgDlZsspIq4peUAAAAASUVORK5CYII='\nconst IMAGE = new Image()\nIMAGE.src = MOVE_HANDLE_IMAGE\n\nexport default superclass => {\n var A = class extends superclass {\n postrender(context) {\n super.postrender(context)\n\n if (!this.app.isEditMode) return\n\n if (!this._focused) return\n\n if (!this.showMoveHandle) return\n\n this._draw_move_handle(context)\n }\n\n _draw_move_handle(context) {\n var { left, top, width } = this.bounds\n\n context.save()\n // 이동 핸들 그리기\n context.beginPath()\n\n context.globalAlpha = 1\n context.rect(left + width, top, LABEL_WIDTH, LABEL_HEIGHT)\n\n let color = 255 - (20 % 255)\n context.fillStyle = `rgba(${color}, ${color}, ${color}, 1)`\n context.fill()\n\n // 아이콘 그리기\n context.drawImage(\n IMAGE,\n left + width + LABEL_WIDTH * 0.15,\n top + LABEL_HEIGHT * 0.15,\n LABEL_WIDTH * 0.7,\n LABEL_HEIGHT * 0.7\n )\n context.closePath()\n\n context.restore()\n }\n\n contains(x, y) {\n var contains = super.contains(x, y)\n\n if (this.app.isViewMode) {\n return contains\n }\n\n if (!contains) {\n var { left, top, width, height } = this.bounds\n var right = left + width\n var h = LABEL_HEIGHT\n\n if (this.showMoveHandle)\n // 이동 핸들러 영역에 포함되는지\n contains =\n x < Math.max(right + LABEL_WIDTH, right) &&\n x > Math.min(right + LABEL_WIDTH, right) &&\n y < Math.max(top + h, top) &&\n y > Math.min(top + h, top)\n }\n\n if (this._focustd !== contains) {\n this._focused = contains\n this.invalidate()\n }\n\n return contains\n }\n }\n\n return A\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,113 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var memoize = _interopRequireWildcard(require("../../core/memoize.js"));
8
- var _safeRound = require("../../core/safe-round.js");
9
- var _rectAnchors = _interopRequireDefault(require("../anchor/rect-anchors.js"));
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
- /**
14
- * 주의 : RectPath를 mixin한 컴포넌트는 'path'를 memoize해서는 안된다.
15
- */
16
- var _default = superclass => {
17
- var A = class extends superclass {
18
- contains(x, y) {
19
- var {
20
- left,
21
- top,
22
- width,
23
- height,
24
- lineWidth = 0
25
- } = this.state;
26
- var extend = lineWidth / 2;
27
- return x < Math.max(left + width, left) + extend && x > Math.min(left + width, left) - extend && y < Math.max(top + height, top) + extend && y > Math.min(top + height, top) - extend;
28
- }
29
- set path(path) {
30
- var left_top = path[0];
31
- var right_bottom = path[2];
32
- this.set({
33
- left: left_top.x,
34
- top: left_top.y,
35
- width: right_bottom.x - left_top.x,
36
- height: right_bottom.y - left_top.y
37
- });
38
- }
39
- get path() {
40
- var {
41
- left = 0,
42
- top = 0,
43
- width = 0,
44
- height = 0
45
- } = this.state;
46
- return [{
47
- x: left,
48
- y: top
49
- }, {
50
- x: left + width,
51
- y: top
52
- }, {
53
- x: left + width,
54
- y: top + height
55
- }, {
56
- x: left,
57
- y: top + height
58
- }];
59
- }
60
- get anchors() {
61
- return (0, _rectAnchors.default)(this);
62
- }
63
- get bounds() {
64
- const {
65
- left = 0,
66
- top = 0,
67
- width = 0,
68
- height = 0
69
- } = this.state;
70
- return {
71
- left,
72
- top,
73
- width,
74
- height
75
- };
76
- }
77
- set bounds(bounds) {
78
- this.set({
79
- left: 0,
80
- top: 0,
81
- width: 0,
82
- height: 0,
83
- ...bounds
84
- });
85
- }
86
- render(ctx) {
87
- /* Due to performance issues, instead of using the renderer of the shape,
88
- the render method of the rect-path itself is defined. */
89
- var {
90
- round = 0
91
- } = this.model;
92
- var {
93
- left,
94
- top,
95
- width,
96
- height
97
- } = this.bounds;
98
- ctx.translate(left, top);
99
- ctx.beginPath();
100
- round = (0, _safeRound.safeRound)(round, width, height);
101
- if (round > 0) {
102
- ctx.roundRect(0, 0, width, height, round);
103
- } else {
104
- ctx.rect(0, 0, width, height);
105
- }
106
- ctx.translate(-left, -top);
107
- }
108
- };
109
- memoize.intercept(A.prototype, 'path', false);
110
- return A;
111
- };
112
- exports.default = _default;
113
- //# sourceMappingURL=rect-path.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rect-path.js","names":["memoize","_interopRequireWildcard","require","_safeRound","_rectAnchors","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_default","superclass","A","contains","x","y","left","top","width","height","lineWidth","state","extend","Math","max","min","path","left_top","right_bottom","anchors","rectAnchors","bounds","render","ctx","round","model","translate","beginPath","safeRound","roundRect","rect","intercept","prototype","exports"],"sources":["../../../src/components/mixins/rect-path.js"],"sourcesContent":["import * as memoize from '../../core/memoize.js'\nimport { safeRound } from '../../core/safe-round.js'\nimport rectAnchors from '../anchor/rect-anchors.js'\n\n/**\n * 주의 : RectPath를 mixin한 컴포넌트는 'path'를 memoize해서는 안된다.\n */\nexport default superclass => {\n var A = class extends superclass {\n contains(x, y) {\n var { left, top, width, height, lineWidth = 0 } = this.state\n var extend = lineWidth / 2\n\n return (\n x < Math.max(left + width, left) + extend &&\n x > Math.min(left + width, left) - extend &&\n y < Math.max(top + height, top) + extend &&\n y > Math.min(top + height, top) - extend\n )\n }\n\n set path(path) {\n var left_top = path[0]\n var right_bottom = path[2]\n\n this.set({\n left: left_top.x,\n top: left_top.y,\n width: right_bottom.x - left_top.x,\n height: right_bottom.y - left_top.y\n })\n }\n\n get path() {\n var { left = 0, top = 0, width = 0, height = 0 } = this.state\n\n return [\n {\n x: left,\n y: top\n },\n {\n x: left + width,\n y: top\n },\n {\n x: left + width,\n y: top + height\n },\n {\n x: left,\n y: top + height\n }\n ]\n }\n\n get anchors() {\n return rectAnchors(this)\n }\n\n get bounds() {\n const { left = 0, top = 0, width = 0, height = 0 } = this.state\n\n return {\n left,\n top,\n width,\n height\n }\n }\n\n set bounds(bounds) {\n this.set({\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n ...bounds\n })\n }\n\n render(ctx) {\n /* Due to performance issues, instead of using the renderer of the shape, \n the render method of the rect-path itself is defined. */\n var { round = 0 } = this.model\n\n var { left, top, width, height } = this.bounds\n\n ctx.translate(left, top)\n ctx.beginPath()\n\n round = safeRound(round, width, height)\n\n if (round > 0) {\n ctx.roundRect(0, 0, width, height, round)\n } else {\n ctx.rect(0, 0, width, height)\n }\n\n ctx.translate(-left, -top)\n }\n }\n\n memoize.intercept(A.prototype, 'path', false)\n\n return A\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,81 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _utils = require("../../core/utils.js");
8
- var _substitutor = require("../text/substitutor.js");
9
- /*
10
- * Copyright © HatioLab Inc. All rights reserved.
11
- */
12
- /*
13
- * ValueHolder 단일 숫자값을 value라는 속성으로 가지는 컴포넌트를 위한 Mixin임
14
- * value 속성을 가지는 컴포넌트는 다음의 특징을 갖는 것을 암묵적으로 동의한다.
15
- *
16
- * 1. value 속성은 Number 타입니다.
17
- * 1. value 속성은 expression을 통해서 컴포넌트 자신의 속성을 접근할 수 있고, 다른 컴포넌트의 data 속성을 접근할 수 있다.
18
- * 1. value 속성을 가지는 컴포넌트는 값 변화에 대해서 animation을 사용할 수 있다.
19
- *
20
- * TODO. min, max 값을 가지도록 한다.
21
- * TODO. animation 설정을 오버라이드 할 수 있도록 한다.
22
- */
23
- var _default = superclass => {
24
- var A = class extends superclass {
25
- animOnValueChange(value, animFromBase = false, base) {
26
- if (value == this._lastValue) {
27
- return;
28
- }
29
- if (animFromBase) {
30
- var diff = value - (Number(base) || 0);
31
- } else {
32
- var diff = value - (this._lastValue || 0);
33
- }
34
- this._lastValue = value;
35
- this._anim_alpha = -diff;
36
- this.animate({
37
- step: delta => {
38
- this._anim_alpha = diff * (delta - 1);
39
- this.invalidate();
40
- },
41
- duration: 1000,
42
- delta: 'circ',
43
- options: {
44
- x: 1
45
- },
46
- ease: 'out'
47
- }).start();
48
- }
49
- dispose() {
50
- super.dispose();
51
- delete this._value_substitutor;
52
- }
53
- onchange(after, before) {
54
- if (after.hasOwnProperty('value')) delete this._value_substitutor;
55
- }
56
- get animAlpha() {
57
- return this._anim_alpha || 0;
58
- }
59
- get animValue() {
60
- /* this.value 를 사용해서는 안된다. (성능 효율을 위해서.)*/
61
- return (this._lastValue || 0) + (this._anim_alpha || 0);
62
- }
63
- defaultValueSubstitutor() {
64
- return this.getState('value');
65
- }
66
- get valueSubstitutor() {
67
- if (!this._value_substitutor) this._value_substitutor = (0, _substitutor.buildSubstitutor)(this.getState('value'), this) || this.defaultValueSubstitutor;
68
- return this._value_substitutor;
69
- }
70
- get value() {
71
- return Number(this.valueSubstitutor()) || 0;
72
- }
73
- set value(value) {
74
- delete this._value_substitutor;
75
- this.setState('value', Number((0, _utils.objToVal)(value)));
76
- }
77
- };
78
- return A;
79
- };
80
- exports.default = _default;
81
- //# sourceMappingURL=value-holder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"value-holder.js","names":["_utils","require","_substitutor","_default","superclass","A","animOnValueChange","value","animFromBase","base","_lastValue","diff","Number","_anim_alpha","animate","step","delta","invalidate","duration","options","x","ease","start","dispose","_value_substitutor","onchange","after","before","hasOwnProperty","animAlpha","animValue","defaultValueSubstitutor","getState","valueSubstitutor","buildSubstitutor","setState","objToVal","exports","default"],"sources":["../../../src/components/mixins/value-holder.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\n/*\n * ValueHolder 단일 숫자값을 value라는 속성으로 가지는 컴포넌트를 위한 Mixin임\n * value 속성을 가지는 컴포넌트는 다음의 특징을 갖는 것을 암묵적으로 동의한다.\n *\n * 1. value 속성은 Number 타입니다.\n * 1. value 속성은 expression을 통해서 컴포넌트 자신의 속성을 접근할 수 있고, 다른 컴포넌트의 data 속성을 접근할 수 있다.\n * 1. value 속성을 가지는 컴포넌트는 값 변화에 대해서 animation을 사용할 수 있다.\n *\n * TODO. min, max 값을 가지도록 한다.\n * TODO. animation 설정을 오버라이드 할 수 있도록 한다.\n */\n\nimport { objToVal } from '../../core/utils.js'\nimport { buildSubstitutor } from '../text/substitutor.js'\n\nexport default superclass => {\n var A = class extends superclass {\n animOnValueChange(value, animFromBase = false, base) {\n if (value == this._lastValue) {\n return\n }\n\n if (animFromBase) {\n var diff = value - (Number(base) || 0)\n } else {\n var diff = value - (this._lastValue || 0)\n }\n\n this._lastValue = value\n this._anim_alpha = -diff\n\n this.animate({\n step: delta => {\n this._anim_alpha = diff * (delta - 1)\n this.invalidate()\n },\n duration: 1000,\n delta: 'circ',\n options: {\n x: 1\n },\n ease: 'out'\n }).start()\n }\n\n dispose() {\n super.dispose()\n\n delete this._value_substitutor\n }\n\n onchange(after, before) {\n if (after.hasOwnProperty('value')) delete this._value_substitutor\n }\n\n get animAlpha() {\n return this._anim_alpha || 0\n }\n\n get animValue() {\n /* this.value 를 사용해서는 안된다. (성능 효율을 위해서.)*/\n return (this._lastValue || 0) + (this._anim_alpha || 0)\n }\n\n defaultValueSubstitutor() {\n return this.getState('value')\n }\n\n get valueSubstitutor() {\n if (!this._value_substitutor)\n this._value_substitutor = buildSubstitutor(this.getState('value'), this) || this.defaultValueSubstitutor\n\n return this._value_substitutor\n }\n\n get value() {\n return Number(this.valueSubstitutor()) || 0\n }\n\n set value(value) {\n delete this._value_substitutor\n this.setState('value', Number(objToVal(value)))\n }\n }\n\n return A\n}\n"],"mappings":";;;;;;AAgBA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAjBA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,IAAAE,QAAA,GAeeC,UAAU,IAAI;EAC3B,IAAIC,CAAC,GAAG,cAAcD,UAAU,CAAC;IAC/BE,iBAAiBA,CAACC,KAAK,EAAEC,YAAY,GAAG,KAAK,EAAEC,IAAI,EAAE;MACnD,IAAIF,KAAK,IAAI,IAAI,CAACG,UAAU,EAAE;QAC5B;MACF;MAEA,IAAIF,YAAY,EAAE;QAChB,IAAIG,IAAI,GAAGJ,KAAK,IAAIK,MAAM,CAACH,IAAI,CAAC,IAAI,CAAC,CAAC;MACxC,CAAC,MAAM;QACL,IAAIE,IAAI,GAAGJ,KAAK,IAAI,IAAI,CAACG,UAAU,IAAI,CAAC,CAAC;MAC3C;MAEA,IAAI,CAACA,UAAU,GAAGH,KAAK;MACvB,IAAI,CAACM,WAAW,GAAG,CAACF,IAAI;MAExB,IAAI,CAACG,OAAO,CAAC;QACXC,IAAI,EAAEC,KAAK,IAAI;UACb,IAAI,CAACH,WAAW,GAAGF,IAAI,IAAIK,KAAK,GAAG,CAAC,CAAC;UACrC,IAAI,CAACC,UAAU,CAAC,CAAC;QACnB,CAAC;QACDC,QAAQ,EAAE,IAAI;QACdF,KAAK,EAAE,MAAM;QACbG,OAAO,EAAE;UACPC,CAAC,EAAE;QACL,CAAC;QACDC,IAAI,EAAE;MACR,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;IACZ;IAEAC,OAAOA,CAAA,EAAG;MACR,KAAK,CAACA,OAAO,CAAC,CAAC;MAEf,OAAO,IAAI,CAACC,kBAAkB;IAChC;IAEAC,QAAQA,CAACC,KAAK,EAAEC,MAAM,EAAE;MACtB,IAAID,KAAK,CAACE,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,IAAI,CAACJ,kBAAkB;IACnE;IAEA,IAAIK,SAASA,CAAA,EAAG;MACd,OAAO,IAAI,CAAChB,WAAW,IAAI,CAAC;IAC9B;IAEA,IAAIiB,SAASA,CAAA,EAAG;MACd;MACA,OAAO,CAAC,IAAI,CAACpB,UAAU,IAAI,CAAC,KAAK,IAAI,CAACG,WAAW,IAAI,CAAC,CAAC;IACzD;IAEAkB,uBAAuBA,CAAA,EAAG;MACxB,OAAO,IAAI,CAACC,QAAQ,CAAC,OAAO,CAAC;IAC/B;IAEA,IAAIC,gBAAgBA,CAAA,EAAG;MACrB,IAAI,CAAC,IAAI,CAACT,kBAAkB,EAC1B,IAAI,CAACA,kBAAkB,GAAG,IAAAU,6BAAgB,EAAC,IAAI,CAACF,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAACD,uBAAuB;MAE1G,OAAO,IAAI,CAACP,kBAAkB;IAChC;IAEA,IAAIjB,KAAKA,CAAA,EAAG;MACV,OAAOK,MAAM,CAAC,IAAI,CAACqB,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C;IAEA,IAAI1B,KAAKA,CAACA,KAAK,EAAE;MACf,OAAO,IAAI,CAACiB,kBAAkB;MAC9B,IAAI,CAACW,QAAQ,CAAC,OAAO,EAAEvB,MAAM,CAAC,IAAAwB,eAAQ,EAAC7B,KAAK,CAAC,CAAC,CAAC;IACjD;EACF,CAAC;EAED,OAAOF,CAAC;AACV,CAAC;AAAAgC,OAAA,CAAAC,OAAA,GAAAnC,QAAA","ignoreList":[]}
@@ -1,68 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = mutateBounds;
7
- var _transcoord = require("../geometry/transcoord.js");
8
- /*
9
- * Copyright © HatioLab Inc. All rights reserved.
10
- */
11
-
12
- /*
13
- * 바운드의 변경이, 컴포넌트의 현재 컴포넌트 rotation의 영향을 받아서 변형되어 보이지 않도록 하기위한 함수이다.
14
- * 마치 현재 각도 상태에서 바운드변경을 일으키는 것처럼 보이게된다.
15
- *
16
- * logic에서는 컴포넌트 좌표 상태에서 바운드 변화를 제공한다.
17
- * context 만약, 그리기 상태에서 mutateBounds를 사용하고, logic에서 사용해야 한다면, 제공한다.
18
- *
19
- * 일반적으로, 컴포넌트내 부분적인 바운드의 변화도 현재 컴포넌트의 rotation에 따라서,
20
- * 전체적인 변화를 보이는 경우가 많다. 가시적으로 보이는 전체적인 모양을 고정하고 부분적인 바운드의 변경만이 화면에 적용되도록 하기 위해서 사용한다.
21
- * 그렇게 하기 위해서, mutateBounds 내부적으로, bounds 전체에 대해서 변화가 발생하게 된다.
22
- */
23
-
24
- function mutateBounds(logic, context) {
25
- var bounds = this.bounds;
26
- var rotatePoint = this.rotatePoint;
27
- var rotation = this.get('rotation');
28
- var scale = this.get('scale');
29
- if (logic) {
30
- var new_bounds = logic.call(context, bounds);
31
- if (new_bounds) bounds = new_bounds;
32
- }
33
- var {
34
- left,
35
- top,
36
- width,
37
- height
38
- } = bounds;
39
- var coords = [{
40
- x: left,
41
- y: top
42
- }, {
43
- x: left + width,
44
- y: top + height
45
- }];
46
- coords = coords.map(point => {
47
- return (0, _transcoord.transcoordRR)(point.x, point.y, rotatePoint, rotation, scale);
48
- });
49
- var left_top = coords[0];
50
- var right_bottom = coords[1];
51
- rotatePoint = {
52
- x: (left_top.x + right_bottom.x) / 2,
53
- y: (left_top.y + right_bottom.y) / 2
54
- };
55
- coords = coords.map(point => {
56
- // 변경된 rotatePoint에 대해서 다시 transcoord함.
57
- return (0, _transcoord.transcoordR)(point.x, point.y, rotatePoint, rotation, scale);
58
- });
59
- left_top = coords[0];
60
- right_bottom = coords[1];
61
- this.bounds = {
62
- left: left_top.x,
63
- top: left_top.y,
64
- width: right_bottom.x - left_top.x,
65
- height: right_bottom.y - left_top.y
66
- };
67
- }
68
- //# sourceMappingURL=bounds.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bounds.js","names":["_transcoord","require","mutateBounds","logic","context","bounds","rotatePoint","rotation","get","scale","new_bounds","call","left","top","width","height","coords","x","y","map","point","transcoordRR","left_top","right_bottom","transcoordR"],"sources":["../../../src/components/mutater/bounds.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\n/*\n * 바운드의 변경이, 컴포넌트의 현재 컴포넌트 rotation의 영향을 받아서 변형되어 보이지 않도록 하기위한 함수이다.\n * 마치 현재 각도 상태에서 바운드변경을 일으키는 것처럼 보이게된다.\n *\n * logic에서는 컴포넌트 좌표 상태에서 바운드 변화를 제공한다.\n * context 만약, 그리기 상태에서 mutateBounds를 사용하고, logic에서 사용해야 한다면, 제공한다.\n *\n * 일반적으로, 컴포넌트내 부분적인 바운드의 변화도 현재 컴포넌트의 rotation에 따라서,\n * 전체적인 변화를 보이는 경우가 많다. 가시적으로 보이는 전체적인 모양을 고정하고 부분적인 바운드의 변경만이 화면에 적용되도록 하기 위해서 사용한다.\n * 그렇게 하기 위해서, mutateBounds 내부적으로, bounds 전체에 대해서 변화가 발생하게 된다.\n */\n\nimport { transcoordR, transcoordRR } from '../geometry/transcoord.js'\n\nexport default function mutateBounds(logic, context) {\n var bounds = this.bounds\n var rotatePoint = this.rotatePoint\n var rotation = this.get('rotation')\n var scale = this.get('scale')\n\n if (logic) {\n var new_bounds = logic.call(context, bounds)\n if (new_bounds) bounds = new_bounds\n }\n\n var { left, top, width, height } = bounds\n\n var coords = [\n {\n x: left,\n y: top\n },\n {\n x: left + width,\n y: top + height\n }\n ]\n\n coords = coords.map(point => {\n return transcoordRR(point.x, point.y, rotatePoint, rotation, scale)\n })\n\n var left_top = coords[0]\n var right_bottom = coords[1]\n\n rotatePoint = {\n x: (left_top.x + right_bottom.x) / 2,\n y: (left_top.y + right_bottom.y) / 2\n }\n\n coords = coords.map(point => {\n // 변경된 rotatePoint에 대해서 다시 transcoord함.\n return transcoordR(point.x, point.y, rotatePoint, rotation, scale)\n })\n\n left_top = coords[0]\n right_bottom = coords[1]\n\n this.bounds = {\n left: left_top.x,\n top: left_top.y,\n width: right_bottom.x - left_top.x,\n height: right_bottom.y - left_top.y\n }\n}\n"],"mappings":";;;;;;AAgBA,IAAAA,WAAA,GAAAC,OAAA;AAhBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIe,SAASC,YAAYA,CAACC,KAAK,EAAEC,OAAO,EAAE;EACnD,IAAIC,MAAM,GAAG,IAAI,CAACA,MAAM;EACxB,IAAIC,WAAW,GAAG,IAAI,CAACA,WAAW;EAClC,IAAIC,QAAQ,GAAG,IAAI,CAACC,GAAG,CAAC,UAAU,CAAC;EACnC,IAAIC,KAAK,GAAG,IAAI,CAACD,GAAG,CAAC,OAAO,CAAC;EAE7B,IAAIL,KAAK,EAAE;IACT,IAAIO,UAAU,GAAGP,KAAK,CAACQ,IAAI,CAACP,OAAO,EAAEC,MAAM,CAAC;IAC5C,IAAIK,UAAU,EAAEL,MAAM,GAAGK,UAAU;EACrC;EAEA,IAAI;IAAEE,IAAI;IAAEC,GAAG;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGV,MAAM;EAEzC,IAAIW,MAAM,GAAG,CACX;IACEC,CAAC,EAAEL,IAAI;IACPM,CAAC,EAAEL;EACL,CAAC,EACD;IACEI,CAAC,EAAEL,IAAI,GAAGE,KAAK;IACfI,CAAC,EAAEL,GAAG,GAAGE;EACX,CAAC,CACF;EAEDC,MAAM,GAAGA,MAAM,CAACG,GAAG,CAACC,KAAK,IAAI;IAC3B,OAAO,IAAAC,wBAAY,EAACD,KAAK,CAACH,CAAC,EAAEG,KAAK,CAACF,CAAC,EAAEZ,WAAW,EAAEC,QAAQ,EAAEE,KAAK,CAAC;EACrE,CAAC,CAAC;EAEF,IAAIa,QAAQ,GAAGN,MAAM,CAAC,CAAC,CAAC;EACxB,IAAIO,YAAY,GAAGP,MAAM,CAAC,CAAC,CAAC;EAE5BV,WAAW,GAAG;IACZW,CAAC,EAAE,CAACK,QAAQ,CAACL,CAAC,GAAGM,YAAY,CAACN,CAAC,IAAI,CAAC;IACpCC,CAAC,EAAE,CAACI,QAAQ,CAACJ,CAAC,GAAGK,YAAY,CAACL,CAAC,IAAI;EACrC,CAAC;EAEDF,MAAM,GAAGA,MAAM,CAACG,GAAG,CAACC,KAAK,IAAI;IAC3B;IACA,OAAO,IAAAI,uBAAW,EAACJ,KAAK,CAACH,CAAC,EAAEG,KAAK,CAACF,CAAC,EAAEZ,WAAW,EAAEC,QAAQ,EAAEE,KAAK,CAAC;EACpE,CAAC,CAAC;EAEFa,QAAQ,GAAGN,MAAM,CAAC,CAAC,CAAC;EACpBO,YAAY,GAAGP,MAAM,CAAC,CAAC,CAAC;EAExB,IAAI,CAACX,MAAM,GAAG;IACZO,IAAI,EAAEU,QAAQ,CAACL,CAAC;IAChBJ,GAAG,EAAES,QAAQ,CAACJ,CAAC;IACfJ,KAAK,EAAES,YAAY,CAACN,CAAC,GAAGK,QAAQ,CAACL,CAAC;IAClCF,MAAM,EAAEQ,YAAY,CAACL,CAAC,GAAGI,QAAQ,CAACJ;EACpC,CAAC;AACH","ignoreList":[]}
@@ -1,73 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = mutatePath;
7
- /*
8
- * Copyright © HatioLab Inc. All rights reserved.
9
- */
10
-
11
- /*
12
- * 특정 패스의 변경이, 컴포넌트의 현재 컴포넌트 rotation의 영향을 받아서 변형되어 보이지 않도록 하기위한 함수이다.
13
- * 마치 현재 각도 상태에서 PATH의 변경을 일으키는 것처럼 보이게된다.
14
- * beforLogic에서는 컴포넌트 좌표 상태에서 패스 변화가 필요한 경우에 제공한다.
15
- * afterLogic에서는 컨테이너 좌표 상태에서 패스 변화가 필요한 경우에 제공한다.
16
- * context 만약, 그리기 상태에서 mutatePath를 사용하고, beforeLogic이나 afterLogic에서 사용해야 한다면, 제공한다.
17
- *
18
- * 일반적으로, 컴포넌트내 부분적인 path의 변화도 현재 컴포넌트의 rotation에 따라서,
19
- * 전체적인 변화를 보이는 경우가 많다. 가시적으로 보이는 전체적인 모양을 고정하고 부분적인 패스의 변경만이 화면에 적용되도록 하기 위해서 사용한다.
20
- * 그렇게 하기 위해서, mutatePath 내부적으로, path 전체에 대해서 변화가 발생하게 된다.
21
- */
22
-
23
- function mutatePath(beforeLogic, afterLogic, context) {
24
- // 1. 컴포넌트의 path 정보를 가져온다.
25
- var path = this.path;
26
- var rotatePoint = this.rotatePoint;
27
- var rotation = this.get('rotation');
28
- var scale = this.get('scale');
29
- if (beforeLogic) path = beforeLogic.call(context, path);
30
- var path_in_parent = path.map(point => {
31
- return this.transcoordS2P(point.x, point.y);
32
- });
33
-
34
- // 3. 이동한 핸들의 위치로 패스 정보를 수정한다. (핸들 위치는 transcoord하지 않은 화면위치값으로 한다.)
35
- if (afterLogic) {
36
- var path = afterLogic.call(context, path_in_parent);
37
- if (path) path_in_parent = path;
38
- }
39
-
40
- // 4. 첫번째 패스 포인트를 임의의 센터로 정하고, 모든 패스정보를 transcoord시킨다.
41
- var vcenter = {
42
- x: 0,
43
- y: 0
44
- };
45
- var path = path_in_parent.map(point => {
46
- return this.transcoordP2S(point.x, point.y, vcenter);
47
- });
48
-
49
- // 5. 회전한 패스의 바운드를 구한다.
50
- var left, right, top, bottom;
51
- left = right = path[0].x;
52
- top = bottom = path[0].y;
53
- for (let i = 1; i < path.length; i++) {
54
- let point = path[i];
55
- if (point.x < left) left = point.x;else if (point.x > right) right = point.x;
56
- if (point.y < top) top = point.y;else if (point.y > bottom) bottom = point.y;
57
- }
58
-
59
- // 6. 바운드에 기준해서 rotatePoint 값을 구한다.
60
- rotatePoint = {
61
- x: (left + right) / 2,
62
- y: (top + bottom) / 2
63
- };
64
-
65
- // 7. 구한 center값을 다시 가상의 중심으로 reverTranscoord해서 정확한 중심값을 구한다.
66
- rotatePoint = this.transcoordS2P(rotatePoint.x, rotatePoint.y, vcenter);
67
-
68
- // 8. Keep한 패스의 모든 포지션에 center를 적용한 transcoord를 적용하여, 새로운 패스를 구한다.
69
- this.path = path_in_parent.map(point => {
70
- return this.transcoordP2S(point.x, point.y, rotatePoint);
71
- });
72
- }
73
- //# sourceMappingURL=path.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path.js","names":["mutatePath","beforeLogic","afterLogic","context","path","rotatePoint","rotation","get","scale","call","path_in_parent","map","point","transcoordS2P","x","y","vcenter","transcoordP2S","left","right","top","bottom","i","length"],"sources":["../../../src/components/mutater/path.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\n/*\n * 특정 패스의 변경이, 컴포넌트의 현재 컴포넌트 rotation의 영향을 받아서 변형되어 보이지 않도록 하기위한 함수이다.\n * 마치 현재 각도 상태에서 PATH의 변경을 일으키는 것처럼 보이게된다.\n * beforLogic에서는 컴포넌트 좌표 상태에서 패스 변화가 필요한 경우에 제공한다.\n * afterLogic에서는 컨테이너 좌표 상태에서 패스 변화가 필요한 경우에 제공한다.\n * context 만약, 그리기 상태에서 mutatePath를 사용하고, beforeLogic이나 afterLogic에서 사용해야 한다면, 제공한다.\n *\n * 일반적으로, 컴포넌트내 부분적인 path의 변화도 현재 컴포넌트의 rotation에 따라서,\n * 전체적인 변화를 보이는 경우가 많다. 가시적으로 보이는 전체적인 모양을 고정하고 부분적인 패스의 변경만이 화면에 적용되도록 하기 위해서 사용한다.\n * 그렇게 하기 위해서, mutatePath 내부적으로, path 전체에 대해서 변화가 발생하게 된다.\n */\n\nexport default function mutatePath(beforeLogic, afterLogic, context) {\n // 1. 컴포넌트의 path 정보를 가져온다.\n var path = this.path\n var rotatePoint = this.rotatePoint\n var rotation = this.get('rotation')\n var scale = this.get('scale')\n\n if (beforeLogic) path = beforeLogic.call(context, path)\n\n var path_in_parent = path.map(point => {\n return this.transcoordS2P(point.x, point.y)\n })\n\n // 3. 이동한 핸들의 위치로 패스 정보를 수정한다. (핸들 위치는 transcoord하지 않은 화면위치값으로 한다.)\n if (afterLogic) {\n var path = afterLogic.call(context, path_in_parent)\n if (path) path_in_parent = path\n }\n\n // 4. 첫번째 패스 포인트를 임의의 센터로 정하고, 모든 패스정보를 transcoord시킨다.\n var vcenter = { x: 0, y: 0 }\n var path = path_in_parent.map(point => {\n return this.transcoordP2S(point.x, point.y, vcenter)\n })\n\n // 5. 회전한 패스의 바운드를 구한다.\n var left, right, top, bottom\n\n left = right = path[0].x\n top = bottom = path[0].y\n\n for (let i = 1; i < path.length; i++) {\n let point = path[i]\n\n if (point.x < left) left = point.x\n else if (point.x > right) right = point.x\n\n if (point.y < top) top = point.y\n else if (point.y > bottom) bottom = point.y\n }\n\n // 6. 바운드에 기준해서 rotatePoint 값을 구한다.\n rotatePoint = {\n x: (left + right) / 2,\n y: (top + bottom) / 2\n }\n\n // 7. 구한 center값을 다시 가상의 중심으로 reverTranscoord해서 정확한 중심값을 구한다.\n rotatePoint = this.transcoordS2P(rotatePoint.x, rotatePoint.y, vcenter)\n\n // 8. Keep한 패스의 모든 포지션에 center를 적용한 transcoord를 적용하여, 새로운 패스를 구한다.\n this.path = path_in_parent.map(point => {\n return this.transcoordP2S(point.x, point.y, rotatePoint)\n })\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,SAASA,UAAUA,CAACC,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAE;EACnE;EACA,IAAIC,IAAI,GAAG,IAAI,CAACA,IAAI;EACpB,IAAIC,WAAW,GAAG,IAAI,CAACA,WAAW;EAClC,IAAIC,QAAQ,GAAG,IAAI,CAACC,GAAG,CAAC,UAAU,CAAC;EACnC,IAAIC,KAAK,GAAG,IAAI,CAACD,GAAG,CAAC,OAAO,CAAC;EAE7B,IAAIN,WAAW,EAAEG,IAAI,GAAGH,WAAW,CAACQ,IAAI,CAACN,OAAO,EAAEC,IAAI,CAAC;EAEvD,IAAIM,cAAc,GAAGN,IAAI,CAACO,GAAG,CAACC,KAAK,IAAI;IACrC,OAAO,IAAI,CAACC,aAAa,CAACD,KAAK,CAACE,CAAC,EAAEF,KAAK,CAACG,CAAC,CAAC;EAC7C,CAAC,CAAC;;EAEF;EACA,IAAIb,UAAU,EAAE;IACd,IAAIE,IAAI,GAAGF,UAAU,CAACO,IAAI,CAACN,OAAO,EAAEO,cAAc,CAAC;IACnD,IAAIN,IAAI,EAAEM,cAAc,GAAGN,IAAI;EACjC;;EAEA;EACA,IAAIY,OAAO,GAAG;IAAEF,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC;EAC5B,IAAIX,IAAI,GAAGM,cAAc,CAACC,GAAG,CAACC,KAAK,IAAI;IACrC,OAAO,IAAI,CAACK,aAAa,CAACL,KAAK,CAACE,CAAC,EAAEF,KAAK,CAACG,CAAC,EAAEC,OAAO,CAAC;EACtD,CAAC,CAAC;;EAEF;EACA,IAAIE,IAAI,EAAEC,KAAK,EAAEC,GAAG,EAAEC,MAAM;EAE5BH,IAAI,GAAGC,KAAK,GAAGf,IAAI,CAAC,CAAC,CAAC,CAACU,CAAC;EACxBM,GAAG,GAAGC,MAAM,GAAGjB,IAAI,CAAC,CAAC,CAAC,CAACW,CAAC;EAExB,KAAK,IAAIO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGlB,IAAI,CAACmB,MAAM,EAAED,CAAC,EAAE,EAAE;IACpC,IAAIV,KAAK,GAAGR,IAAI,CAACkB,CAAC,CAAC;IAEnB,IAAIV,KAAK,CAACE,CAAC,GAAGI,IAAI,EAAEA,IAAI,GAAGN,KAAK,CAACE,CAAC,MAC7B,IAAIF,KAAK,CAACE,CAAC,GAAGK,KAAK,EAAEA,KAAK,GAAGP,KAAK,CAACE,CAAC;IAEzC,IAAIF,KAAK,CAACG,CAAC,GAAGK,GAAG,EAAEA,GAAG,GAAGR,KAAK,CAACG,CAAC,MAC3B,IAAIH,KAAK,CAACG,CAAC,GAAGM,MAAM,EAAEA,MAAM,GAAGT,KAAK,CAACG,CAAC;EAC7C;;EAEA;EACAV,WAAW,GAAG;IACZS,CAAC,EAAE,CAACI,IAAI,GAAGC,KAAK,IAAI,CAAC;IACrBJ,CAAC,EAAE,CAACK,GAAG,GAAGC,MAAM,IAAI;EACtB,CAAC;;EAED;EACAhB,WAAW,GAAG,IAAI,CAACQ,aAAa,CAACR,WAAW,CAACS,CAAC,EAAET,WAAW,CAACU,CAAC,EAAEC,OAAO,CAAC;;EAEvE;EACA,IAAI,CAACZ,IAAI,GAAGM,cAAc,CAACC,GAAG,CAACC,KAAK,IAAI;IACtC,OAAO,IAAI,CAACK,aAAa,CAACL,KAAK,CAACE,CAAC,EAAEF,KAAK,CAACG,CAAC,EAAEV,WAAW,CAAC;EAC1D,CAAC,CAAC;AACJ","ignoreList":[]}