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

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 (385) hide show
  1. package/babel.config.js +4 -3
  2. package/db.sqlite +0 -0
  3. package/dist/animation/animate.js +63 -0
  4. package/dist/animation/animate.js.map +1 -0
  5. package/dist/animation/animations/animation.js +122 -0
  6. package/dist/animation/animations/animation.js.map +1 -0
  7. package/dist/animation/animations/fade.js +28 -0
  8. package/dist/animation/animations/fade.js.map +1 -0
  9. package/dist/animation/animations/heartbeat.js +28 -0
  10. package/dist/animation/animations/heartbeat.js.map +1 -0
  11. package/dist/animation/animations/moving.js +24 -0
  12. package/dist/animation/animations/moving.js.map +1 -0
  13. package/dist/animation/animations/outline.js +47 -0
  14. package/dist/animation/animations/outline.js.map +1 -0
  15. package/dist/animation/animations/rotation.js +22 -0
  16. package/dist/animation/animations/rotation.js.map +1 -0
  17. package/dist/animation/animations/vibration.js +31 -0
  18. package/dist/animation/animations/vibration.js.map +1 -0
  19. package/dist/animation/compile.js +31 -0
  20. package/dist/animation/compile.js.map +1 -0
  21. package/dist/animation/delta.js +51 -0
  22. package/dist/animation/delta.js.map +1 -0
  23. package/dist/animation/index.js +14 -0
  24. package/dist/animation/index.js.map +1 -0
  25. package/dist/command/command-change.js +33 -0
  26. package/dist/command/command-change.js.map +1 -0
  27. package/dist/command/command-migrate.js +103 -0
  28. package/dist/command/command-migrate.js.map +1 -0
  29. package/dist/command/command.js +18 -0
  30. package/dist/command/command.js.map +1 -0
  31. package/dist/command/snapshot-commander.js +84 -0
  32. package/dist/command/snapshot-commander.js.map +1 -0
  33. package/dist/components/anchor/anchor.js +105 -0
  34. package/dist/components/anchor/anchor.js.map +1 -0
  35. package/dist/components/anchor/ellipse-anchors.js +53 -0
  36. package/dist/components/anchor/ellipse-anchors.js.map +1 -0
  37. package/dist/components/anchor/rect-anchors.js +53 -0
  38. package/dist/components/anchor/rect-anchors.js.map +1 -0
  39. package/dist/components/audio.js +154 -0
  40. package/dist/components/audio.js.map +1 -0
  41. package/dist/components/cloud.js +44 -0
  42. package/dist/components/cloud.js.map +1 -0
  43. package/dist/components/component.js +1086 -0
  44. package/dist/components/component.js.map +1 -0
  45. package/dist/components/container-abstract.js +387 -0
  46. package/dist/components/container-abstract.js.map +1 -0
  47. package/dist/components/container.js +331 -0
  48. package/dist/components/container.js.map +1 -0
  49. package/dist/components/data/data-mapping.js +82 -0
  50. package/dist/components/data/data-mapping.js.map +1 -0
  51. package/dist/components/data/data.js +166 -0
  52. package/dist/components/data/data.js.map +1 -0
  53. package/dist/components/data/evaluator.js +103 -0
  54. package/dist/components/data/evaluator.js.map +1 -0
  55. package/dist/components/donut.js +104 -0
  56. package/dist/components/donut.js.map +1 -0
  57. package/dist/components/drawer/draw-image-pendable.js +20 -0
  58. package/dist/components/drawer/draw-image-pendable.js.map +1 -0
  59. package/dist/components/drawer/effect.js +19 -0
  60. package/dist/components/drawer/effect.js.map +1 -0
  61. package/dist/components/drawer/fill.js +228 -0
  62. package/dist/components/drawer/fill.js.map +1 -0
  63. package/dist/components/drawer/format.js +115 -0
  64. package/dist/components/drawer/format.js.map +1 -0
  65. package/dist/components/drawer/line.js +191 -0
  66. package/dist/components/drawer/line.js.map +1 -0
  67. package/dist/components/drawer/stroke.js +62 -0
  68. package/dist/components/drawer/stroke.js.map +1 -0
  69. package/dist/components/drawer/text-wrapper.js +51 -0
  70. package/dist/components/drawer/text-wrapper.js.map +1 -0
  71. package/dist/components/drawer/text.js +269 -0
  72. package/dist/components/drawer/text.js.map +1 -0
  73. package/dist/components/ellipse.js +110 -0
  74. package/dist/components/ellipse.js.map +1 -0
  75. package/dist/components/file/ondropfile.js +19 -0
  76. package/dist/components/file/ondropfile.js.map +1 -0
  77. package/dist/components/fit/fit.js +137 -0
  78. package/dist/components/fit/fit.js.map +1 -0
  79. package/dist/components/geometry/transcoord.js +339 -0
  80. package/dist/components/geometry/transcoord.js.map +1 -0
  81. package/dist/components/geometry/union.js +35 -0
  82. package/dist/components/geometry/union.js.map +1 -0
  83. package/dist/components/gif-view.js +128 -0
  84. package/dist/components/gif-view.js.map +1 -0
  85. package/dist/components/global-ref.js +154 -0
  86. package/dist/components/global-ref.js.map +1 -0
  87. package/dist/components/group.js +171 -0
  88. package/dist/components/group.js.map +1 -0
  89. package/dist/components/html/elements.js +24 -0
  90. package/dist/components/html/elements.js.map +1 -0
  91. package/dist/components/html/fill.js +126 -0
  92. package/dist/components/html/fill.js.map +1 -0
  93. package/dist/components/html/reposition.js +119 -0
  94. package/dist/components/html/reposition.js.map +1 -0
  95. package/dist/components/html/shadow.js +24 -0
  96. package/dist/components/html/shadow.js.map +1 -0
  97. package/dist/components/html-overlay-container.js +27 -0
  98. package/dist/components/html-overlay-container.js.map +1 -0
  99. package/dist/components/html-overlay-element.js +22 -0
  100. package/dist/components/html-overlay-element.js.map +1 -0
  101. package/dist/components/image-view.js +193 -0
  102. package/dist/components/image-view.js.map +1 -0
  103. package/dist/components/index.js +231 -0
  104. package/dist/components/index.js.map +1 -0
  105. package/dist/components/info-window.js +416 -0
  106. package/dist/components/info-window.js.map +1 -0
  107. package/dist/components/line.js +374 -0
  108. package/dist/components/line.js.map +1 -0
  109. package/dist/components/local-ref.js +114 -0
  110. package/dist/components/local-ref.js.map +1 -0
  111. package/dist/components/mixins/connectable.js +128 -0
  112. package/dist/components/mixins/connectable.js.map +1 -0
  113. package/dist/components/mixins/data-source.js +34 -0
  114. package/dist/components/mixins/data-source.js.map +1 -0
  115. package/dist/components/mixins/html-element.js +107 -0
  116. package/dist/components/mixins/html-element.js.map +1 -0
  117. package/dist/components/mixins/move-handle.js +73 -0
  118. package/dist/components/mixins/move-handle.js.map +1 -0
  119. package/dist/components/mixins/rect-path.js +113 -0
  120. package/dist/components/mixins/rect-path.js.map +1 -0
  121. package/dist/components/mixins/value-holder.js +81 -0
  122. package/dist/components/mixins/value-holder.js.map +1 -0
  123. package/dist/components/mutater/bounds.js +68 -0
  124. package/dist/components/mutater/bounds.js.map +1 -0
  125. package/dist/components/mutater/path.js +73 -0
  126. package/dist/components/mutater/path.js.map +1 -0
  127. package/dist/components/ortholine.js +763 -0
  128. package/dist/components/ortholine.js.map +1 -0
  129. package/dist/components/outline/ellipse-outline.js +23 -0
  130. package/dist/components/outline/ellipse-outline.js.map +1 -0
  131. package/dist/components/outline/path-outline.js +48 -0
  132. package/dist/components/outline/path-outline.js.map +1 -0
  133. package/dist/components/path.js +49 -0
  134. package/dist/components/path.js.map +1 -0
  135. package/dist/components/polygon.js +91 -0
  136. package/dist/components/polygon.js.map +1 -0
  137. package/dist/components/polyline.js +114 -0
  138. package/dist/components/polyline.js.map +1 -0
  139. package/dist/components/popup.js +160 -0
  140. package/dist/components/popup.js.map +1 -0
  141. package/dist/components/rect.js +72 -0
  142. package/dist/components/rect.js.map +1 -0
  143. package/dist/components/retention/retention-manager.js +81 -0
  144. package/dist/components/retention/retention-manager.js.map +1 -0
  145. package/dist/components/root-container.js +519 -0
  146. package/dist/components/root-container.js.map +1 -0
  147. package/dist/components/ruler.js +103 -0
  148. package/dist/components/ruler.js.map +1 -0
  149. package/dist/components/shape.js +97 -0
  150. package/dist/components/shape.js.map +1 -0
  151. package/dist/components/star.js +103 -0
  152. package/dist/components/star.js.map +1 -0
  153. package/dist/components/text/substitutor.js +92 -0
  154. package/dist/components/text/substitutor.js.map +1 -0
  155. package/dist/components/text.js +21 -0
  156. package/dist/components/text.js.map +1 -0
  157. package/dist/components/triangle.js +92 -0
  158. package/dist/components/triangle.js.map +1 -0
  159. package/dist/const.js +71 -0
  160. package/dist/const.js.map +1 -0
  161. package/dist/core/collection.js +28 -0
  162. package/dist/core/collection.js.map +1 -0
  163. package/dist/core/debug.js +12 -0
  164. package/dist/core/debug.js.map +1 -0
  165. package/dist/core/deep-equals.js +112 -0
  166. package/dist/core/deep-equals.js.map +1 -0
  167. package/dist/core/dom-to-image.js +617 -0
  168. package/dist/core/dom-to-image.js.map +1 -0
  169. package/dist/core/event.js +205 -0
  170. package/dist/core/event.js.map +1 -0
  171. package/dist/core/index.js +21 -0
  172. package/dist/core/index.js.map +1 -0
  173. package/dist/core/list.js +87 -0
  174. package/dist/core/list.js.map +1 -0
  175. package/dist/core/logger.js +29 -0
  176. package/dist/core/logger.js.map +1 -0
  177. package/dist/core/memoize.js +40 -0
  178. package/dist/core/memoize.js.map +1 -0
  179. package/dist/core/mixin.js +26 -0
  180. package/dist/core/mixin.js.map +1 -0
  181. package/dist/core/obj-accessor.js +26 -0
  182. package/dist/core/obj-accessor.js.map +1 -0
  183. package/dist/core/reference-map.js +147 -0
  184. package/dist/core/reference-map.js.map +1 -0
  185. package/dist/core/round-rect.js +62 -0
  186. package/dist/core/round-rect.js.map +1 -0
  187. package/dist/core/safe-round.js +10 -0
  188. package/dist/core/safe-round.js.map +1 -0
  189. package/dist/core/script-loader.js +148 -0
  190. package/dist/core/script-loader.js.map +1 -0
  191. package/dist/core/snapshot-taker.js +59 -0
  192. package/dist/core/snapshot-taker.js.map +1 -0
  193. package/dist/core/stack.js +18 -0
  194. package/dist/core/stack.js.map +1 -0
  195. package/dist/core/timecapsule.js +88 -0
  196. package/dist/core/timecapsule.js.map +1 -0
  197. package/dist/core/utils.js +309 -0
  198. package/dist/core/utils.js.map +1 -0
  199. package/dist/decorator/anchors-decorator.js +53 -0
  200. package/dist/decorator/anchors-decorator.js.map +1 -0
  201. package/dist/decorator/bouncing-arrow-decorator.js +52 -0
  202. package/dist/decorator/bouncing-arrow-decorator.js.map +1 -0
  203. package/dist/decorator/data-spread-decorator.js +69 -0
  204. package/dist/decorator/data-spread-decorator.js.map +1 -0
  205. package/dist/decorator/decotag-decorator.js +33 -0
  206. package/dist/decorator/decotag-decorator.js.map +1 -0
  207. package/dist/decorator/index.js +31 -0
  208. package/dist/decorator/index.js.map +1 -0
  209. package/dist/decorator/link-decorator.js +66 -0
  210. package/dist/decorator/link-decorator.js.map +1 -0
  211. package/dist/effect/gradation.js +37 -0
  212. package/dist/effect/gradation.js.map +1 -0
  213. package/dist/effect/index.js +23 -0
  214. package/dist/effect/index.js.map +1 -0
  215. package/dist/effect/shadow.js +33 -0
  216. package/dist/effect/shadow.js.map +1 -0
  217. package/dist/effect/turn.js +25 -0
  218. package/dist/effect/turn.js.map +1 -0
  219. package/dist/event/event-engine.js +76 -0
  220. package/dist/event/event-engine.js.map +1 -0
  221. package/dist/event/event-pump.js +92 -0
  222. package/dist/event/event-pump.js.map +1 -0
  223. package/dist/event/event-tracker.js +97 -0
  224. package/dist/event/event-tracker.js.map +1 -0
  225. package/dist/event/index.js +21 -0
  226. package/dist/event/index.js.map +1 -0
  227. package/dist/event/ua-event-handler.js +453 -0
  228. package/dist/event/ua-event-handler.js.map +1 -0
  229. package/dist/event-map/animator-handler.js +225 -0
  230. package/dist/event-map/animator-handler.js.map +1 -0
  231. package/dist/event-map/animators/animated-icon.js +265 -0
  232. package/dist/event-map/animators/animated-icon.js.map +1 -0
  233. package/dist/event-map/animators/border-highlighting.js +476 -0
  234. package/dist/event-map/animators/border-highlighting.js.map +1 -0
  235. package/dist/event-map/animators/bouncing-arrow.js +226 -0
  236. package/dist/event-map/animators/bouncing-arrow.js.map +1 -0
  237. package/dist/event-map/event-map.js +36 -0
  238. package/dist/event-map/event-map.js.map +1 -0
  239. package/dist/event-map/index.js +20 -0
  240. package/dist/event-map/index.js.map +1 -0
  241. package/dist/event-map/move-handler.js +233 -0
  242. package/dist/event-map/move-handler.js.map +1 -0
  243. package/dist/event-map/paste-handler.js +176 -0
  244. package/dist/event-map/paste-handler.js.map +1 -0
  245. package/dist/event-map/shift-handler.js +55 -0
  246. package/dist/event-map/shift-handler.js.map +1 -0
  247. package/dist/event-map/text-editor-lite.js +276 -0
  248. package/dist/event-map/text-editor-lite.js.map +1 -0
  249. package/dist/event-map/zoom-handler.js +49 -0
  250. package/dist/event-map/zoom-handler.js.map +1 -0
  251. package/dist/index.js +20 -0
  252. package/dist/index.js.map +1 -0
  253. package/dist/layer/action/emphasize.js +42 -0
  254. package/dist/layer/action/emphasize.js.map +1 -0
  255. package/dist/layer/action/popup.js +461 -0
  256. package/dist/layer/action/popup.js.map +1 -0
  257. package/dist/layer/action/pressed.js +31 -0
  258. package/dist/layer/action/pressed.js.map +1 -0
  259. package/dist/layer/add-layer.js +180 -0
  260. package/dist/layer/add-layer.js.map +1 -0
  261. package/dist/layer/decotag-layer.js +121 -0
  262. package/dist/layer/decotag-layer.js.map +1 -0
  263. package/dist/layer/guide-layer.js +292 -0
  264. package/dist/layer/guide-layer.js.map +1 -0
  265. package/dist/layer/index.js +70 -0
  266. package/dist/layer/index.js.map +1 -0
  267. package/dist/layer/layer.js +230 -0
  268. package/dist/layer/layer.js.map +1 -0
  269. package/dist/layer/minimap-layer.js +84 -0
  270. package/dist/layer/minimap-layer.js.map +1 -0
  271. package/dist/layer/model-layer.js +465 -0
  272. package/dist/layer/model-layer.js.map +1 -0
  273. package/dist/layer/modeler/anchor-handler.js +193 -0
  274. package/dist/layer/modeler/anchor-handler.js.map +1 -0
  275. package/dist/layer/modeler/control-handler.js +95 -0
  276. package/dist/layer/modeler/control-handler.js.map +1 -0
  277. package/dist/layer/modeler/focus-outline.js +41 -0
  278. package/dist/layer/modeler/focus-outline.js.map +1 -0
  279. package/dist/layer/modeler/group-outline.js +30 -0
  280. package/dist/layer/modeler/group-outline.js.map +1 -0
  281. package/dist/layer/modeler/index.js +56 -0
  282. package/dist/layer/modeler/index.js.map +1 -0
  283. package/dist/layer/modeler/path-handler.js +300 -0
  284. package/dist/layer/modeler/path-handler.js.map +1 -0
  285. package/dist/layer/modeler/resizer.js +333 -0
  286. package/dist/layer/modeler/resizer.js.map +1 -0
  287. package/dist/layer/modeler/rotator.js +134 -0
  288. package/dist/layer/modeler/rotator.js.map +1 -0
  289. package/dist/layer/modeling-layer.js +491 -0
  290. package/dist/layer/modeling-layer.js.map +1 -0
  291. package/dist/layer/reaction-layer.js +111 -0
  292. package/dist/layer/reaction-layer.js.map +1 -0
  293. package/dist/layer/scroll-layer.js +191 -0
  294. package/dist/layer/scroll-layer.js.map +1 -0
  295. package/dist/layer/selection/selected-finder.js +96 -0
  296. package/dist/layer/selection/selected-finder.js.map +1 -0
  297. package/dist/layer/selection-layer.js +373 -0
  298. package/dist/layer/selection-layer.js.map +1 -0
  299. package/dist/layer/shift-layer.js +83 -0
  300. package/dist/layer/shift-layer.js.map +1 -0
  301. package/dist/layout/absolute.js +30 -0
  302. package/dist/layout/absolute.js.map +1 -0
  303. package/dist/layout/card.js +52 -0
  304. package/dist/layout/card.js.map +1 -0
  305. package/dist/layout/html-absolute.js +32 -0
  306. package/dist/layout/html-absolute.js.map +1 -0
  307. package/dist/layout/index.js +56 -0
  308. package/dist/layout/index.js.map +1 -0
  309. package/dist/layout/layout.js +36 -0
  310. package/dist/layout/layout.js.map +1 -0
  311. package/dist/layout/linear-horizontal.js +56 -0
  312. package/dist/layout/linear-horizontal.js.map +1 -0
  313. package/dist/layout/linear-vertical.js +56 -0
  314. package/dist/layout/linear-vertical.js.map +1 -0
  315. package/dist/layout/table.js +106 -0
  316. package/dist/layout/table.js.map +1 -0
  317. package/dist/license/license.js +170 -0
  318. package/dist/license/license.js.map +1 -0
  319. package/dist/model/compile.js +40 -0
  320. package/dist/model/compile.js.map +1 -0
  321. package/dist/model/duplicate.js +19 -0
  322. package/dist/model/duplicate.js.map +1 -0
  323. package/dist/model/index.js +34 -0
  324. package/dist/model/index.js.map +1 -0
  325. package/dist/model/selector.js +104 -0
  326. package/dist/model/selector.js.map +1 -0
  327. package/dist/style/compile.js +14 -0
  328. package/dist/style/compile.js.map +1 -0
  329. package/dist/style/index.js +14 -0
  330. package/dist/style/index.js.map +1 -0
  331. package/dist/things-scene/api/add-start.js +18 -0
  332. package/dist/things-scene/api/add-start.js.map +1 -0
  333. package/dist/things-scene/api/add.js +71 -0
  334. package/dist/things-scene/api/add.js.map +1 -0
  335. package/dist/things-scene/api/align.js +116 -0
  336. package/dist/things-scene/api/align.js.map +1 -0
  337. package/dist/things-scene/api/center-to.js +50 -0
  338. package/dist/things-scene/api/center-to.js.map +1 -0
  339. package/dist/things-scene/api/change.js +27 -0
  340. package/dist/things-scene/api/change.js.map +1 -0
  341. package/dist/things-scene/api/clipboard.js +45 -0
  342. package/dist/things-scene/api/clipboard.js.map +1 -0
  343. package/dist/things-scene/api/distribute.js +57 -0
  344. package/dist/things-scene/api/distribute.js.map +1 -0
  345. package/dist/things-scene/api/duplicate.js +47 -0
  346. package/dist/things-scene/api/duplicate.js.map +1 -0
  347. package/dist/things-scene/api/fullscreen.js +26 -0
  348. package/dist/things-scene/api/fullscreen.js.map +1 -0
  349. package/dist/things-scene/api/group.js +91 -0
  350. package/dist/things-scene/api/group.js.map +1 -0
  351. package/dist/things-scene/api/ids.js +28 -0
  352. package/dist/things-scene/api/ids.js.map +1 -0
  353. package/dist/things-scene/api/index.js +192 -0
  354. package/dist/things-scene/api/index.js.map +1 -0
  355. package/dist/things-scene/api/listener.js +69 -0
  356. package/dist/things-scene/api/listener.js.map +1 -0
  357. package/dist/things-scene/api/paste-start.js +27 -0
  358. package/dist/things-scene/api/paste-start.js.map +1 -0
  359. package/dist/things-scene/api/place.js +98 -0
  360. package/dist/things-scene/api/place.js.map +1 -0
  361. package/dist/things-scene/api/remove.js +57 -0
  362. package/dist/things-scene/api/remove.js.map +1 -0
  363. package/dist/things-scene/api/symmetry.js +47 -0
  364. package/dist/things-scene/api/symmetry.js.map +1 -0
  365. package/dist/things-scene/api/to-data-url.js +76 -0
  366. package/dist/things-scene/api/to-data-url.js.map +1 -0
  367. package/dist/things-scene/api/zorder.js +68 -0
  368. package/dist/things-scene/api/zorder.js.map +1 -0
  369. package/dist/things-scene/application-context.js +168 -0
  370. package/dist/things-scene/application-context.js.map +1 -0
  371. package/dist/things-scene/config.js +18 -0
  372. package/dist/things-scene/config.js.map +1 -0
  373. package/dist/things-scene/create.js +67 -0
  374. package/dist/things-scene/create.js.map +1 -0
  375. package/dist/things-scene/fps.js +26 -0
  376. package/dist/things-scene/fps.js.map +1 -0
  377. package/dist/things-scene/index.js +152 -0
  378. package/dist/things-scene/index.js.map +1 -0
  379. package/dist/things-scene/polyfill.js +111 -0
  380. package/dist/things-scene/polyfill.js.map +1 -0
  381. package/dist/things-scene/scene.js +442 -0
  382. package/dist/things-scene/scene.js.map +1 -0
  383. package/dist/things-scene/version.js +12 -0
  384. package/dist/things-scene/version.js.map +1 -0
  385. package/package.json +8 -6
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _popup = _interopRequireDefault(require("../layer/action/popup.js"));
8
+ var _component = _interopRequireDefault(require("./component.js"));
9
+ var _rectPath = _interopRequireDefault(require("./mixins/rect-path.js"));
10
+ var _shape = _interopRequireDefault(require("./shape.js"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ /*
13
+ * Copyright © HatioLab Inc. All rights reserved.
14
+ */
15
+
16
+ const CENTER = 'center';
17
+ const LEFTTOP = 'left-top';
18
+ const RIGHTTOP = 'right-top';
19
+ const LEFTBOTTOM = 'left-bottom';
20
+ const RIGHTBOTTOM = 'right-bottom';
21
+ const AUTO = 'auto';
22
+ const NATURE = {
23
+ mutable: false,
24
+ resizable: true,
25
+ rotatable: true,
26
+ properties: [{
27
+ type: 'board-selector',
28
+ label: 'board',
29
+ name: 'board'
30
+ }, {
31
+ type: 'checkbox',
32
+ label: 'modal',
33
+ name: 'modal'
34
+ }, {
35
+ type: 'checkbox',
36
+ label: 'closable',
37
+ name: 'closable'
38
+ }, {
39
+ type: 'checkbox',
40
+ label: 'draggable',
41
+ name: 'draggable'
42
+ }, {
43
+ type: 'checkbox',
44
+ label: 'minimizable',
45
+ name: 'minimizable'
46
+ }, {
47
+ type: 'checkbox',
48
+ label: 'show',
49
+ name: 'show'
50
+ }, {
51
+ type: 'select',
52
+ label: 'location',
53
+ name: 'location',
54
+ property: {
55
+ options: [CENTER, LEFTTOP, RIGHTTOP, LEFTBOTTOM, RIGHTBOTTOM, AUTO]
56
+ }
57
+ }, {
58
+ type: 'string',
59
+ label: 'title',
60
+ name: 'text'
61
+ }, {
62
+ type: 'data',
63
+ label: 'value',
64
+ name: 'value'
65
+ }],
66
+ help: 'scene/component/popup'
67
+ };
68
+ const POPUP_IMAGE = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAMAAABG8BK2AAADJmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkM4QzQxNUMzMzBEMTFFQ0JEMzZDMDUwQUI4MEI3QTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RkM4QzQxNUQzMzBEMTFFQ0JEMzZDMDUwQUI4MEI3QTAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpENjlENTQ3RjMzMDkxMUVDQkQzNkMwNTBBQjgwQjdBMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpENjlENTQ4MDMzMDkxMUVDQkQzNkMwNTBBQjgwQjdBMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsiUYSQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA51BMVEVHcEwzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOguTm2AAAATHRSTlMARhB73r9B7YLrsqdE+0cq9Avzeg31eQx4aQ+Ks6aUd5DsYKixEX1w8vyT2VjoZ3YezY/cCEDvl+QTvRwJ0ifwK/5T/aw6+IuFuCImAcS6MQAAAeJJREFUWMPt2FlX2zAQhuHJYmOSFhIggbC0QNn3rS1dKXSH9///Hi58CJLxKIpEWi6YO8c5z4lG/nxGEXmu/1OVLGnhrFaSVQYg1SZetTTvUibqeFZ9QlfmvRWoV1VmCaCRzroXPpsuAjTV7gLUfPahBqD1OQMW/fazAWTKvQRI/ZgUSJR7U8CM/dHZ+/2VcatWdvdEZAaYUhiAwkerJXt0rnzXwdRKmHfDM0fHD5kxjTFyVLzVfvvirn7+cDJWjhy7c7XlYuwc6Urvu2tRhRypyhwAf1sKY+TIxfQA+H39q5wxc+RgVrcBduTmZTlj5khnDgH4IzKpMGaOVCbvyyvRGTNHGtPrKypjXirM5jb910I4k69oQeKY+77EMAcALEsck/+W6f71tyCma/ZFROTrJVwMy7wmf3bv6/MX+Dgkkysblvxps/dhOKZb6IvrTakzXXuPApnpYneDGOeKvJlaSXcDmA7AicQyW84VeTOnY+NdiWcG1uiZksFEHdyAlsJEjEkmkwGNsKHNZCJGSKtVTYC1tO022mnjwUBrMdXg8dreuOBhv7D/62/8lGZ1wLxXyZKOm+iUHIQintyny0TkaATHjYgcjeAoFpEje9R/nGPqIx2aw3NU9odCQI6e6x/VLY32cKQXVBnkAAAAAElFTkSuQmCC';
69
+
70
+ /*
71
+ * Popup Window를 통해서 다른 Scene Model을 보여준다.
72
+ */
73
+ class Popup extends (0, _rectPath.default)(_shape.default) {
74
+ static get image() {
75
+ if (!Popup._image) {
76
+ Popup._image = new Image();
77
+ Popup._image.src = POPUP_IMAGE;
78
+ }
79
+ return Popup._image;
80
+ }
81
+
82
+ /* Members */
83
+
84
+ ready() {
85
+ super.ready();
86
+ this.show && this.onchangeShow(true);
87
+ }
88
+ render(context) {
89
+ var {
90
+ left,
91
+ top,
92
+ width,
93
+ height
94
+ } = this.bounds;
95
+ context.beginPath();
96
+ this.drawImage(context, Popup.image, left, top, width, height);
97
+ }
98
+ onchange(after, before) {
99
+ if ('value' in after) {
100
+ if (this.show) {
101
+ this.onchangeShow(true);
102
+ } else {
103
+ this.show = true;
104
+ }
105
+ } else if ('show' in after) {
106
+ this.onchangeShow(this.show);
107
+ }
108
+ }
109
+ onchangeShow(value) {
110
+ if (this.app.isEditMode || !this.getState('board')) {
111
+ return;
112
+ }
113
+ if (value) {
114
+ _popup.default.show(this, this.getState('board'), {
115
+ location: this.getState('location'),
116
+ modal: this.getState('modal'),
117
+ closable: this.getState('closable') || false,
118
+ draggable: this.getState('draggable') || false,
119
+ minimizable: this.getState('minimizable') || false,
120
+ title: this.text,
121
+ data: this.value
122
+ });
123
+ } else {
124
+ _popup.default.hide(this);
125
+ }
126
+ }
127
+ get board() {
128
+ return this.getState('board');
129
+ }
130
+ set board(board) {
131
+ this.set('board', board);
132
+ }
133
+ get show() {
134
+ return this.getState('show');
135
+ }
136
+ set show(show) {
137
+ this.setState('show', show);
138
+ }
139
+ get started() {
140
+ return this.getState('show');
141
+ }
142
+ set started(show) {
143
+ this.setState('show', show);
144
+ }
145
+ get value() {
146
+ return this.getState('value');
147
+ }
148
+ set value(value) {
149
+ this.setState('value', value);
150
+ }
151
+ get hasTextProperty() {
152
+ return false;
153
+ }
154
+ get nature() {
155
+ return NATURE;
156
+ }
157
+ }
158
+ exports.default = Popup;
159
+ _component.default.register('popup', Popup);
160
+ //# sourceMappingURL=popup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popup.js","names":["_popup","_interopRequireDefault","require","_component","_rectPath","_shape","e","__esModule","default","CENTER","LEFTTOP","RIGHTTOP","LEFTBOTTOM","RIGHTBOTTOM","AUTO","NATURE","mutable","resizable","rotatable","properties","type","label","name","property","options","help","POPUP_IMAGE","Popup","RectPath","Shape","image","_image","Image","src","ready","show","onchangeShow","render","context","left","top","width","height","bounds","beginPath","drawImage","onchange","after","before","value","app","isEditMode","getState","ScenePopup","location","modal","closable","draggable","minimizable","title","text","data","hide","board","set","setState","started","hasTextProperty","nature","exports","Component","register"],"sources":["../../src/components/popup.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport ScenePopup from '../layer/action/popup.js'\nimport Component from './component.js'\nimport RectPath from './mixins/rect-path.js'\nimport Shape from './shape.js'\n\nconst CENTER = 'center'\nconst LEFTTOP = 'left-top'\nconst RIGHTTOP = 'right-top'\nconst LEFTBOTTOM = 'left-bottom'\nconst RIGHTBOTTOM = 'right-bottom'\nconst AUTO = 'auto'\n\nconst NATURE = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'board-selector',\n label: 'board',\n name: 'board'\n },\n {\n type: 'checkbox',\n label: 'modal',\n name: 'modal'\n },\n {\n type: 'checkbox',\n label: 'closable',\n name: 'closable'\n },\n {\n type: 'checkbox',\n label: 'draggable',\n name: 'draggable'\n },\n {\n type: 'checkbox',\n label: 'minimizable',\n name: 'minimizable'\n },\n {\n type: 'checkbox',\n label: 'show',\n name: 'show'\n },\n {\n type: 'select',\n label: 'location',\n name: 'location',\n property: {\n options: [CENTER, LEFTTOP, RIGHTTOP, LEFTBOTTOM, RIGHTBOTTOM, AUTO]\n }\n },\n {\n type: 'string',\n label: 'title',\n name: 'text'\n },\n {\n type: 'data',\n label: 'value',\n name: 'value'\n }\n ],\n help: 'scene/component/popup'\n}\n\nconst POPUP_IMAGE =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAMAAABG8BK2AAADJmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkM4QzQxNUMzMzBEMTFFQ0JEMzZDMDUwQUI4MEI3QTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RkM4QzQxNUQzMzBEMTFFQ0JEMzZDMDUwQUI4MEI3QTAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpENjlENTQ3RjMzMDkxMUVDQkQzNkMwNTBBQjgwQjdBMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpENjlENTQ4MDMzMDkxMUVDQkQzNkMwNTBBQjgwQjdBMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsiUYSQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA51BMVEVHcEwzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOguTm2AAAATHRSTlMARhB73r9B7YLrsqdE+0cq9Avzeg31eQx4aQ+Ks6aUd5DsYKixEX1w8vyT2VjoZ3YezY/cCEDvl+QTvRwJ0ifwK/5T/aw6+IuFuCImAcS6MQAAAeJJREFUWMPt2FlX2zAQhuHJYmOSFhIggbC0QNn3rS1dKXSH9///Hi58CJLxKIpEWi6YO8c5z4lG/nxGEXmu/1OVLGnhrFaSVQYg1SZetTTvUibqeFZ9QlfmvRWoV1VmCaCRzroXPpsuAjTV7gLUfPahBqD1OQMW/fazAWTKvQRI/ZgUSJR7U8CM/dHZ+/2VcatWdvdEZAaYUhiAwkerJXt0rnzXwdRKmHfDM0fHD5kxjTFyVLzVfvvirn7+cDJWjhy7c7XlYuwc6Urvu2tRhRypyhwAf1sKY+TIxfQA+H39q5wxc+RgVrcBduTmZTlj5khnDgH4IzKpMGaOVCbvyyvRGTNHGtPrKypjXirM5jb910I4k69oQeKY+77EMAcALEsck/+W6f71tyCma/ZFROTrJVwMy7wmf3bv6/MX+Dgkkysblvxps/dhOKZb6IvrTakzXXuPApnpYneDGOeKvJlaSXcDmA7AicQyW84VeTOnY+NdiWcG1uiZksFEHdyAlsJEjEkmkwGNsKHNZCJGSKtVTYC1tO022mnjwUBrMdXg8dreuOBhv7D/62/8lGZ1wLxXyZKOm+iUHIQintyny0TkaATHjYgcjeAoFpEje9R/nGPqIx2aw3NU9odCQI6e6x/VLY32cKQXVBnkAAAAAElFTkSuQmCC'\n\n/*\n * Popup Window를 통해서 다른 Scene Model을 보여준다.\n */\nexport default class Popup extends RectPath(Shape) {\n static get image() {\n if (!Popup._image) {\n Popup._image = new Image()\n Popup._image.src = POPUP_IMAGE\n }\n\n return Popup._image\n }\n\n /* Members */\n\n ready() {\n super.ready()\n\n this.show && this.onchangeShow(true)\n }\n\n render(context) {\n var { left, top, width, height } = this.bounds\n\n context.beginPath()\n this.drawImage(context, Popup.image, left, top, width, height)\n }\n\n onchange(after, before) {\n if ('value' in after) {\n if (this.show) {\n this.onchangeShow(true)\n } else {\n this.show = true\n }\n } else if ('show' in after) {\n this.onchangeShow(this.show)\n }\n }\n\n onchangeShow(value) {\n if (this.app.isEditMode || !this.getState('board')) {\n return\n }\n\n if (value) {\n ScenePopup.show(this, this.getState('board'), {\n location: this.getState('location'),\n modal: this.getState('modal'),\n closable: this.getState('closable') || false,\n draggable: this.getState('draggable') || false,\n minimizable: this.getState('minimizable') || false,\n title: this.text,\n data: this.value\n })\n } else {\n ScenePopup.hide(this)\n }\n }\n\n get board() {\n return this.getState('board')\n }\n\n set board(board) {\n this.set('board', board)\n }\n\n get show() {\n return this.getState('show')\n }\n\n set show(show) {\n this.setState('show', show)\n }\n\n get started() {\n return this.getState('show')\n }\n\n set started(show) {\n this.setState('show', show)\n }\n\n get value() {\n return this.getState('value')\n }\n\n set value(value) {\n this.setState('value', value)\n }\n\n get hasTextProperty() {\n return false\n }\n\n get nature() {\n return NATURE\n }\n}\n\nComponent.register('popup', Popup)\n"],"mappings":";;;;;;AAIA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAA8B,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAP9B;AACA;AACA;;AAOA,MAAMG,MAAM,GAAG,QAAQ;AACvB,MAAMC,OAAO,GAAG,UAAU;AAC1B,MAAMC,QAAQ,GAAG,WAAW;AAC5B,MAAMC,UAAU,GAAG,aAAa;AAChC,MAAMC,WAAW,GAAG,cAAc;AAClC,MAAMC,IAAI,GAAG,MAAM;AAEnB,MAAMC,MAAM,GAAG;EACbC,OAAO,EAAE,KAAK;EACdC,SAAS,EAAE,IAAI;EACfC,SAAS,EAAE,IAAI;EACfC,UAAU,EAAE,CACV;IACEC,IAAI,EAAE,gBAAgB;IACtBC,KAAK,EAAE,OAAO;IACdC,IAAI,EAAE;EACR,CAAC,EACD;IACEF,IAAI,EAAE,UAAU;IAChBC,KAAK,EAAE,OAAO;IACdC,IAAI,EAAE;EACR,CAAC,EACD;IACEF,IAAI,EAAE,UAAU;IAChBC,KAAK,EAAE,UAAU;IACjBC,IAAI,EAAE;EACR,CAAC,EACD;IACEF,IAAI,EAAE,UAAU;IAChBC,KAAK,EAAE,WAAW;IAClBC,IAAI,EAAE;EACR,CAAC,EACD;IACEF,IAAI,EAAE,UAAU;IAChBC,KAAK,EAAE,aAAa;IACpBC,IAAI,EAAE;EACR,CAAC,EACD;IACEF,IAAI,EAAE,UAAU;IAChBC,KAAK,EAAE,MAAM;IACbC,IAAI,EAAE;EACR,CAAC,EACD;IACEF,IAAI,EAAE,QAAQ;IACdC,KAAK,EAAE,UAAU;IACjBC,IAAI,EAAE,UAAU;IAChBC,QAAQ,EAAE;MACRC,OAAO,EAAE,CAACf,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,WAAW,EAAEC,IAAI;IACpE;EACF,CAAC,EACD;IACEM,IAAI,EAAE,QAAQ;IACdC,KAAK,EAAE,OAAO;IACdC,IAAI,EAAE;EACR,CAAC,EACD;IACEF,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,OAAO;IACdC,IAAI,EAAE;EACR,CAAC,CACF;EACDG,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,WAAW,GACf,oxEAAoxE;;AAEtxE;AACA;AACA;AACe,MAAMC,KAAK,SAAS,IAAAC,iBAAQ,EAACC,cAAK,CAAC,CAAC;EACjD,WAAWC,KAAKA,CAAA,EAAG;IACjB,IAAI,CAACH,KAAK,CAACI,MAAM,EAAE;MACjBJ,KAAK,CAACI,MAAM,GAAG,IAAIC,KAAK,CAAC,CAAC;MAC1BL,KAAK,CAACI,MAAM,CAACE,GAAG,GAAGP,WAAW;IAChC;IAEA,OAAOC,KAAK,CAACI,MAAM;EACrB;;EAEA;;EAEAG,KAAKA,CAAA,EAAG;IACN,KAAK,CAACA,KAAK,CAAC,CAAC;IAEb,IAAI,CAACC,IAAI,IAAI,IAAI,CAACC,YAAY,CAAC,IAAI,CAAC;EACtC;EAEAC,MAAMA,CAACC,OAAO,EAAE;IACd,IAAI;MAAEC,IAAI;MAAEC,GAAG;MAAEC,KAAK;MAAEC;IAAO,CAAC,GAAG,IAAI,CAACC,MAAM;IAE9CL,OAAO,CAACM,SAAS,CAAC,CAAC;IACnB,IAAI,CAACC,SAAS,CAACP,OAAO,EAAEX,KAAK,CAACG,KAAK,EAAES,IAAI,EAAEC,GAAG,EAAEC,KAAK,EAAEC,MAAM,CAAC;EAChE;EAEAI,QAAQA,CAACC,KAAK,EAAEC,MAAM,EAAE;IACtB,IAAI,OAAO,IAAID,KAAK,EAAE;MACpB,IAAI,IAAI,CAACZ,IAAI,EAAE;QACb,IAAI,CAACC,YAAY,CAAC,IAAI,CAAC;MACzB,CAAC,MAAM;QACL,IAAI,CAACD,IAAI,GAAG,IAAI;MAClB;IACF,CAAC,MAAM,IAAI,MAAM,IAAIY,KAAK,EAAE;MAC1B,IAAI,CAACX,YAAY,CAAC,IAAI,CAACD,IAAI,CAAC;IAC9B;EACF;EAEAC,YAAYA,CAACa,KAAK,EAAE;IAClB,IAAI,IAAI,CAACC,GAAG,CAACC,UAAU,IAAI,CAAC,IAAI,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAE;MAClD;IACF;IAEA,IAAIH,KAAK,EAAE;MACTI,cAAU,CAAClB,IAAI,CAAC,IAAI,EAAE,IAAI,CAACiB,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC5CE,QAAQ,EAAE,IAAI,CAACF,QAAQ,CAAC,UAAU,CAAC;QACnCG,KAAK,EAAE,IAAI,CAACH,QAAQ,CAAC,OAAO,CAAC;QAC7BI,QAAQ,EAAE,IAAI,CAACJ,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK;QAC5CK,SAAS,EAAE,IAAI,CAACL,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK;QAC9CM,WAAW,EAAE,IAAI,CAACN,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK;QAClDO,KAAK,EAAE,IAAI,CAACC,IAAI;QAChBC,IAAI,EAAE,IAAI,CAACZ;MACb,CAAC,CAAC;IACJ,CAAC,MAAM;MACLI,cAAU,CAACS,IAAI,CAAC,IAAI,CAAC;IACvB;EACF;EAEA,IAAIC,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACX,QAAQ,CAAC,OAAO,CAAC;EAC/B;EAEA,IAAIW,KAAKA,CAACA,KAAK,EAAE;IACf,IAAI,CAACC,GAAG,CAAC,OAAO,EAAED,KAAK,CAAC;EAC1B;EAEA,IAAI5B,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACiB,QAAQ,CAAC,MAAM,CAAC;EAC9B;EAEA,IAAIjB,IAAIA,CAACA,IAAI,EAAE;IACb,IAAI,CAAC8B,QAAQ,CAAC,MAAM,EAAE9B,IAAI,CAAC;EAC7B;EAEA,IAAI+B,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACd,QAAQ,CAAC,MAAM,CAAC;EAC9B;EAEA,IAAIc,OAAOA,CAAC/B,IAAI,EAAE;IAChB,IAAI,CAAC8B,QAAQ,CAAC,MAAM,EAAE9B,IAAI,CAAC;EAC7B;EAEA,IAAIc,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACG,QAAQ,CAAC,OAAO,CAAC;EAC/B;EAEA,IAAIH,KAAKA,CAACA,KAAK,EAAE;IACf,IAAI,CAACgB,QAAQ,CAAC,OAAO,EAAEhB,KAAK,CAAC;EAC/B;EAEA,IAAIkB,eAAeA,CAAA,EAAG;IACpB,OAAO,KAAK;EACd;EAEA,IAAIC,MAAMA,CAAA,EAAG;IACX,OAAOrD,MAAM;EACf;AACF;AAACsD,OAAA,CAAA7D,OAAA,GAAAmB,KAAA;AAED2C,kBAAS,CAACC,QAAQ,CAAC,OAAO,EAAE5C,KAAK,CAAC","ignoreList":[]}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _component = _interopRequireDefault(require("./component.js"));
8
+ var _connectable = _interopRequireDefault(require("./mixins/connectable.js"));
9
+ var _rectPath = _interopRequireDefault(require("./mixins/rect-path.js"));
10
+ var _shape = _interopRequireDefault(require("./shape.js"));
11
+ var _safeRound = require("../core/safe-round.js");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ /*
14
+ * Copyright © HatioLab Inc. All rights reserved.
15
+ */
16
+
17
+ const NATURE = {
18
+ mutable: false,
19
+ resizable: true,
20
+ rotatable: true,
21
+ properties: [{
22
+ type: 'number',
23
+ label: 'round',
24
+ name: 'round',
25
+ property: {
26
+ min: 0
27
+ }
28
+ }],
29
+ help: 'scene/component/rect'
30
+ };
31
+ var controlHandler = {
32
+ ondragmove: function (point, index, component) {
33
+ var {
34
+ left,
35
+ top,
36
+ width,
37
+ height
38
+ } = component.model;
39
+ var transcoorded = component.transcoordP2S(point.x, point.y);
40
+ var round = (transcoorded.x - left) / (width / 2) * 100;
41
+ round = (0, _safeRound.safeRound)(round, width, height);
42
+ component.set({
43
+ round
44
+ });
45
+ }
46
+ };
47
+ class Rect extends (0, _connectable.default)((0, _rectPath.default)(_shape.default)) {
48
+ is3dish() {
49
+ return true;
50
+ }
51
+ get controls() {
52
+ var {
53
+ left,
54
+ top,
55
+ width,
56
+ round,
57
+ height
58
+ } = this.state;
59
+ round = round == undefined ? 0 : (0, _safeRound.safeRound)(round, width, height);
60
+ return [{
61
+ x: left + width / 2 * (round / 100),
62
+ y: top,
63
+ handler: controlHandler
64
+ }];
65
+ }
66
+ get nature() {
67
+ return NATURE;
68
+ }
69
+ }
70
+ exports.default = Rect;
71
+ _component.default.register('rect', Rect);
72
+ //# sourceMappingURL=rect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rect.js","names":["_component","_interopRequireDefault","require","_connectable","_rectPath","_shape","_safeRound","e","__esModule","default","NATURE","mutable","resizable","rotatable","properties","type","label","name","property","min","help","controlHandler","ondragmove","point","index","component","left","top","width","height","model","transcoorded","transcoordP2S","x","y","round","safeRound","set","Rect","Connectable","RectPath","Shape","is3dish","controls","state","undefined","handler","nature","exports","Component","register"],"sources":["../../src/components/rect.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport Component from './component.js'\nimport Connectable from './mixins/connectable.js'\nimport RectPath from './mixins/rect-path.js'\nimport Shape from './shape.js'\nimport { safeRound } from '../core/safe-round.js'\n\nconst NATURE = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'number',\n label: 'round',\n name: 'round',\n property: {\n min: 0\n }\n }\n ],\n help: 'scene/component/rect'\n}\n\nvar controlHandler = {\n ondragmove: function (point, index, component) {\n var { left, top, width, height } = component.model\n\n var transcoorded = component.transcoordP2S(point.x, point.y)\n var round = ((transcoorded.x - left) / (width / 2)) * 100\n\n round = safeRound(round, width, height)\n\n component.set({\n round\n })\n }\n}\n\nexport default class Rect extends Connectable(RectPath(Shape)) {\n is3dish() {\n return true\n }\n\n get controls() {\n var { left, top, width, round, height } = this.state\n round = round == undefined ? 0 : safeRound(round, width, height)\n\n return [\n {\n x: left + (width / 2) * (round / 100),\n y: top,\n handler: controlHandler\n }\n ]\n }\n\n get nature() {\n return NATURE\n }\n}\n\nComponent.register('rect', Rect)\n"],"mappings":";;;;;;AAIA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAAiD,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AARjD;AACA;AACA;;AAQA,MAAMG,MAAM,GAAG;EACbC,OAAO,EAAE,KAAK;EACdC,SAAS,EAAE,IAAI;EACfC,SAAS,EAAE,IAAI;EACfC,UAAU,EAAE,CACV;IACEC,IAAI,EAAE,QAAQ;IACdC,KAAK,EAAE,OAAO;IACdC,IAAI,EAAE,OAAO;IACbC,QAAQ,EAAE;MACRC,GAAG,EAAE;IACP;EACF,CAAC,CACF;EACDC,IAAI,EAAE;AACR,CAAC;AAED,IAAIC,cAAc,GAAG;EACnBC,UAAU,EAAE,SAAAA,CAAUC,KAAK,EAAEC,KAAK,EAAEC,SAAS,EAAE;IAC7C,IAAI;MAAEC,IAAI;MAAEC,GAAG;MAAEC,KAAK;MAAEC;IAAO,CAAC,GAAGJ,SAAS,CAACK,KAAK;IAElD,IAAIC,YAAY,GAAGN,SAAS,CAACO,aAAa,CAACT,KAAK,CAACU,CAAC,EAAEV,KAAK,CAACW,CAAC,CAAC;IAC5D,IAAIC,KAAK,GAAI,CAACJ,YAAY,CAACE,CAAC,GAAGP,IAAI,KAAKE,KAAK,GAAG,CAAC,CAAC,GAAI,GAAG;IAEzDO,KAAK,GAAG,IAAAC,oBAAS,EAACD,KAAK,EAAEP,KAAK,EAAEC,MAAM,CAAC;IAEvCJ,SAAS,CAACY,GAAG,CAAC;MACZF;IACF,CAAC,CAAC;EACJ;AACF,CAAC;AAEc,MAAMG,IAAI,SAAS,IAAAC,oBAAW,EAAC,IAAAC,iBAAQ,EAACC,cAAK,CAAC,CAAC,CAAC;EAC7DC,OAAOA,CAAA,EAAG;IACR,OAAO,IAAI;EACb;EAEA,IAAIC,QAAQA,CAAA,EAAG;IACb,IAAI;MAAEjB,IAAI;MAAEC,GAAG;MAAEC,KAAK;MAAEO,KAAK;MAAEN;IAAO,CAAC,GAAG,IAAI,CAACe,KAAK;IACpDT,KAAK,GAAGA,KAAK,IAAIU,SAAS,GAAG,CAAC,GAAG,IAAAT,oBAAS,EAACD,KAAK,EAAEP,KAAK,EAAEC,MAAM,CAAC;IAEhE,OAAO,CACL;MACEI,CAAC,EAAEP,IAAI,GAAIE,KAAK,GAAG,CAAC,IAAKO,KAAK,GAAG,GAAG,CAAC;MACrCD,CAAC,EAAEP,GAAG;MACNmB,OAAO,EAAEzB;IACX,CAAC,CACF;EACH;EAEA,IAAI0B,MAAMA,CAAA,EAAG;IACX,OAAOrC,MAAM;EACf;AACF;AAACsC,OAAA,CAAAvC,OAAA,GAAA6B,IAAA;AAEDW,kBAAS,CAACC,QAAQ,CAAC,MAAM,EAAEZ,IAAI,CAAC","ignoreList":[]}
@@ -0,0 +1,81 @@
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 _logger = require("../../core/logger.js");
9
+ /*
10
+ * Copyright © HatioLab Inc. All rights reserved.
11
+ */
12
+
13
+ /*
14
+ * RetentionManager
15
+ *
16
+ * 컴포넌트의 Retention을 관리
17
+ *
18
+ * - 루트 정보를 제공함. (get root, )
19
+ * - 하위 레이어들을 관리함.
20
+ * - 전체적인 이벤트 리스너를 관리함.
21
+ * - 전체적인 스타일 정보를 관리함.
22
+ */
23
+
24
+ var components = [];
25
+ var timeout;
26
+ function check() {
27
+ timeout = null;
28
+ var now = performance.now();
29
+ components = components.filter(component => filter(component));
30
+ var result = components.reduce((result, component) => {
31
+ let diff = now - component.updatedAt;
32
+ if (diff >= component.retention) result.kills.push(component);else result.next = result.next == 0 ? component.retention - diff : Math.min(result.next, component.retention - diff);
33
+ return result;
34
+ }, {
35
+ next: 0,
36
+ kills: []
37
+ });
38
+ result.kills.forEach(component => {
39
+ let idx = components.indexOf(component);
40
+ if (idx != -1) {
41
+ components.splice(idx, 1);
42
+ component.removeSelf(true);
43
+ } else (0, _logger.error)('Should not be here. Maybe reentrance problem.');
44
+ });
45
+ if (result.next > 0) {
46
+ timeout = setTimeout(touch, Math.max(result.next, 500));
47
+ }
48
+ }
49
+ function filter(component) {
50
+ return !component.disposed && component.retention > 0 && !component.isTemplate() && component.app && component.app.isViewMode;
51
+ }
52
+ var touch = (0, _utils.throttle)(function () {
53
+ // 여기에서 check 재진입을 방지한다.
54
+ requestAnimationFrame(check);
55
+ }, 500);
56
+ class RetentionManager {
57
+ add(component) {
58
+ if (filter(component) && components.indexOf(component) == -1) {
59
+ components.push(component);
60
+ component.touch();
61
+ }
62
+ this.touch();
63
+ }
64
+ remove(component) {
65
+ var idx = components.indexOf(component);
66
+ idx > 0 && components.splice(idx, 1);
67
+ this.touch();
68
+ }
69
+ touch() {
70
+ if (timeout !== null) {
71
+ clearTimeout(timeout);
72
+ timeout = null;
73
+ }
74
+ touch();
75
+ }
76
+ get length() {
77
+ return components.length;
78
+ }
79
+ }
80
+ var _default = exports.default = new RetentionManager();
81
+ //# sourceMappingURL=retention-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retention-manager.js","names":["_utils","require","_logger","components","timeout","check","now","performance","filter","component","result","reduce","diff","updatedAt","retention","kills","push","next","Math","min","forEach","idx","indexOf","splice","removeSelf","error","setTimeout","touch","max","disposed","isTemplate","app","isViewMode","throttle","requestAnimationFrame","RetentionManager","add","remove","clearTimeout","length","_default","exports","default"],"sources":["../../../src/components/retention/retention-manager.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\nimport { throttle } from '../../core/utils.js'\nimport { error } from '../../core/logger.js'\n\n/*\n * RetentionManager\n *\n * 컴포넌트의 Retention을 관리\n *\n * - 루트 정보를 제공함. (get root, )\n * - 하위 레이어들을 관리함.\n * - 전체적인 이벤트 리스너를 관리함.\n * - 전체적인 스타일 정보를 관리함.\n */\n\nvar components = []\nvar timeout\n\nfunction check() {\n timeout = null\n\n var now = performance.now()\n\n components = components.filter(component => filter(component))\n var result = components.reduce(\n (result, component) => {\n let diff = now - component.updatedAt\n\n if (diff >= component.retention) result.kills.push(component)\n else\n result.next = result.next == 0 ? component.retention - diff : Math.min(result.next, component.retention - diff)\n\n return result\n },\n {\n next: 0,\n kills: []\n }\n )\n\n result.kills.forEach(component => {\n let idx = components.indexOf(component)\n if (idx != -1) {\n components.splice(idx, 1)\n component.removeSelf(true)\n } else error('Should not be here. Maybe reentrance problem.')\n })\n\n if (result.next > 0) {\n timeout = setTimeout(touch, Math.max(result.next, 500))\n }\n}\n\nfunction filter(component) {\n return (\n !component.disposed &&\n component.retention > 0 &&\n !component.isTemplate() &&\n component.app &&\n component.app.isViewMode\n )\n}\n\nvar touch = throttle(function () {\n // 여기에서 check 재진입을 방지한다.\n requestAnimationFrame(check)\n}, 500)\n\nclass RetentionManager {\n add(component) {\n if (filter(component) && components.indexOf(component) == -1) {\n components.push(component)\n component.touch()\n }\n\n this.touch()\n }\n\n remove(component) {\n var idx = components.indexOf(component)\n idx > 0 && components.splice(idx, 1)\n\n this.touch()\n }\n\n touch() {\n if (timeout !== null) {\n clearTimeout(timeout)\n timeout = null\n }\n\n touch()\n }\n\n get length() {\n return components.length\n }\n}\n\nexport default new RetentionManager()\n"],"mappings":"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","ignoreList":[]}