@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,331 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _lit = require("lit");
8
- var _index = require("../layout/index.js");
9
- var _component = _interopRequireDefault(require("./component.js"));
10
- var _containerAbstract = _interopRequireDefault(require("./container-abstract.js"));
11
- var _htmlElement = _interopRequireDefault(require("./mixins/html-element.js"));
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
14
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
15
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /*
16
- * Copyright © HatioLab Inc. All rights reserved.
17
- */
18
- const SCALE_DEFAULT = {
19
- x: 1,
20
- y: 1
21
- };
22
- const DEFAULT_STYLE = {
23
- boxSizing: 'border-box',
24
- margin: '0px',
25
- position: 'absolute',
26
- outline: 'none'
27
- };
28
- const NATURE = {
29
- mutable: false,
30
- resizable: true,
31
- rotatable: true,
32
- properties: [{
33
- type: 'layout',
34
- label: 'layout',
35
- name: 'layoutOption'
36
- }, {
37
- type: 'checkbox',
38
- label: 'closable',
39
- name: 'closable'
40
- }, {
41
- type: 'checkbox',
42
- label: 'draggable',
43
- name: 'draggable'
44
- }, {
45
- type: 'checkbox',
46
- label: 'minimizable',
47
- name: 'minimizable'
48
- }, {
49
- type: 'checkbox',
50
- label: 'minimized',
51
- name: 'minimized'
52
- }],
53
- help: 'scene/component/container'
54
- };
55
- class Container extends (0, _htmlElement.default)(_containerAbstract.default) {
56
- constructor(...args) {
57
- super(...args);
58
- _defineProperty(this, "startDragging", e => {
59
- if (!this.state.draggable) {
60
- return;
61
- }
62
- e.preventDefault();
63
- e.stopPropagation();
64
- let startX = e.clientX;
65
- let startY = e.clientY;
66
- const {
67
- left,
68
- top
69
- } = this.bounds;
70
- const transform = this.rootModel.overlay.style.transform;
71
- const scaleMatch = transform.match(/scale\(([^,]+),\s*([^)]+)\)/);
72
- const sx = scaleMatch ? parseFloat(scaleMatch[1]) : 1;
73
- const sy = scaleMatch ? parseFloat(scaleMatch[2]) : sx;
74
- const onMouseMove = e => {
75
- e.preventDefault();
76
- e.stopPropagation();
77
- const dx = (e.clientX - startX) / sx;
78
- const dy = (e.clientY - startY) / sy;
79
- this.setState({
80
- left: left + dx,
81
- top: top + dy
82
- });
83
- };
84
- const onMouseUp = e => {
85
- e.preventDefault();
86
- e.stopPropagation();
87
- document.removeEventListener('mousemove', onMouseMove, true);
88
- document.removeEventListener('mouseup', onMouseUp, true);
89
- };
90
- document.addEventListener('mousemove', onMouseMove, true);
91
- document.addEventListener('mouseup', onMouseUp, true);
92
- });
93
- _defineProperty(this, "toggleMinimizable", () => {
94
- const {
95
- minimized
96
- } = this.state;
97
- this.setState('minimized', !minimized);
98
- });
99
- _defineProperty(this, "closeContainer", () => {
100
- this.setState('hidden', true);
101
- });
102
- }
103
- get tagName() {
104
- return 'div';
105
- }
106
- get nature() {
107
- return NATURE;
108
- }
109
- setElementProperties(element) {}
110
- get layout() {
111
- return _index.Layout.get(this.get('layout')) || _index.HTMLAbsoluteLayout;
112
- }
113
- reposition() {
114
- if (!this.element) return;
115
- var component = this;
116
- var {
117
- id,
118
- class: className,
119
- scale = SCALE_DEFAULT
120
- } = component.state;
121
- var {
122
- rotation = 0,
123
- hidden
124
- } = component;
125
- var {
126
- left,
127
- top,
128
- width,
129
- height
130
- } = component.bounds;
131
- var cx = width / 2;
132
- var cy = height / 2;
133
-
134
- // element의 기본 속성을 설정한다.
135
- var element = component.element;
136
- element.hidden = hidden;
137
- if (id) element.id = id;
138
- if (className) element.className = className;
139
-
140
- // element의 기본 style을 설정한다.
141
- Object.assign(element.style, DEFAULT_STYLE, {
142
- left: left + 'px',
143
- top: top + 'px',
144
- width: '0px',
145
- height: '0px',
146
- backgroundColor: 'transparent'
147
- });
148
- var delta = component.delta();
149
- var sx = (scale && scale.x || 1) * delta.sx;
150
- var sy = (scale && scale.y || 1) * delta.sy;
151
- var theta = (rotation || 0) + delta.theta;
152
- var tx = delta.tx || 0;
153
- var ty = delta.ty || 0;
154
-
155
- /* CONFIRM-ME `transform: perspective(1px)` 스타일 설정은 scaling된 dom element를 좀 더 선명하게 보이도록 해준다. (Chrome 브라우저에서) */
156
- element.style.transform = `translate(${tx + cx}px, ${ty + cy}px) rotate(${theta}rad) translate(${-cx}px, ${-cy}px) scale(${sx}, ${sy}) perspective(1px)`;
157
- }
158
- set path(path) {
159
- const {
160
- minimized
161
- } = this.state;
162
- var left_top = path[0];
163
- var right_bottom = path[2];
164
- if (minimized) {
165
- this.set({
166
- left: left_top.x,
167
- top: left_top.y,
168
- width: right_bottom.x - left_top.x
169
- });
170
- } else {
171
- this.set({
172
- left: left_top.x,
173
- top: left_top.y,
174
- width: right_bottom.x - left_top.x,
175
- height: right_bottom.y - left_top.y
176
- });
177
- }
178
- }
179
- get path() {
180
- var {
181
- left = 0,
182
- top = 0,
183
- width = 0,
184
- height = 0
185
- } = this.state;
186
- return [{
187
- x: left,
188
- y: top
189
- }, {
190
- x: left + width,
191
- y: top
192
- }, {
193
- x: left + width,
194
- y: top + height
195
- }, {
196
- x: left,
197
- y: top + height
198
- }];
199
- }
200
- get bounds() {
201
- const {
202
- left = 0,
203
- top = 0,
204
- width = 0,
205
- height = 0
206
- } = this.state;
207
- return {
208
- left,
209
- top,
210
- width,
211
- height
212
- };
213
- }
214
- set bounds(bounds) {
215
- const {
216
- minimized
217
- } = this.state;
218
- const {
219
- left = 0,
220
- top = 0,
221
- width = 0,
222
- height = 0
223
- } = bounds;
224
- if (minimized) {
225
- this.set({
226
- left,
227
- top,
228
- width
229
- });
230
- } else {
231
- this.set({
232
- left,
233
- top,
234
- width,
235
- height
236
- });
237
- }
238
- }
239
- onchange(after, before) {
240
- super.onchange(after, before);
241
- if ('draggable' in after || 'minimizable' in after || 'closable' in after || 'minimized' in after || 'width' in after || 'height' in after) {
242
- this.onchangeButtons();
243
- }
244
- if ('minimized' in after) {
245
- this.onchangeMinimized();
246
- }
247
- }
248
- createElement() {
249
- super.createElement();
250
- this.onchangeButtons();
251
- this.onchangeMinimized();
252
- }
253
- onchangeButtons() {
254
- if (!this.element) {
255
- return;
256
- }
257
- console.log('element', this.getState('id'));
258
- const {
259
- draggable,
260
- minimizable,
261
- closable,
262
- minimized
263
- } = this.state;
264
- const {
265
- width
266
- } = this.bounds;
267
- this.element.style.setProperty('--container-width', `${width}px`);
268
- (0, _lit.render)((0, _lit.html)`
269
- <style>
270
- .buttons {
271
- position: absolute;
272
- display: flex;
273
- flex-direction: row;
274
- top: 0;
275
- left: 0;
276
- width: var(--container-width);
277
- padding: 2px;
278
- margin: 0;
279
- gap: 2px;
280
- box-sizing: border-box;
281
- background-color: transparent;
282
- }
283
-
284
- span {
285
- flex: 1;
286
- }
287
-
288
- .buttons button {
289
- background: transparent;
290
- border: none;
291
- cursor: pointer;
292
- font-family: Material Symbols Outlined;
293
- font-size: 16px;
294
- border-radius: 4px;
295
- color: white;
296
- background-color: black;
297
- opacity: 0.3;
298
- width: 20px;
299
- height: 20px;
300
- z-index: 1;
301
- padding: 0;
302
- margin: 0;
303
- border: 0px;
304
- text-align: center;
305
- }
306
- </style>
307
-
308
- <div class="buttons" @mousedown=${this.startDragging}>
309
- <span></span>
310
- ${draggable ? (0, _lit.html)`<button class="draggable">drag_pan</button>` : _lit.nothing}
311
- ${minimizable ? (0, _lit.html)`<button class="minimizable" @click=${this.toggleMinimizable}>
312
- ${minimized ? 'crop_square' : 'minimize'}
313
- </button>` : _lit.nothing}
314
- ${closable ? (0, _lit.html)`<button class="closable" @click=${this.closeContainer}>close</button>` : _lit.nothing}
315
- </div>
316
- `, this.element);
317
- }
318
- onchangeMinimized() {
319
- const {
320
- minimized
321
- } = this.state;
322
- if (minimized) {
323
- this.setState('height', 24);
324
- } else {
325
- this.setState('height', this.get('height'));
326
- }
327
- }
328
- }
329
- exports.default = Container;
330
- _component.default.register('container', Container);
331
- //# sourceMappingURL=container.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"container.js","names":["_lit","require","_index","_component","_interopRequireDefault","_containerAbstract","_htmlElement","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","SCALE_DEFAULT","x","y","DEFAULT_STYLE","boxSizing","margin","position","outline","NATURE","mutable","resizable","rotatable","properties","type","label","name","help","Container","MixinHTMLElement","ContainerAbstract","constructor","args","state","draggable","preventDefault","stopPropagation","startX","clientX","startY","clientY","left","top","bounds","transform","rootModel","overlay","style","scaleMatch","match","sx","parseFloat","sy","onMouseMove","dx","dy","setState","onMouseUp","document","removeEventListener","addEventListener","minimized","tagName","nature","setElementProperties","element","layout","Layout","get","HTMLAbsoluteLayout","reposition","component","id","class","className","scale","rotation","hidden","width","height","cx","cy","assign","backgroundColor","delta","theta","tx","ty","path","left_top","right_bottom","set","onchange","after","before","onchangeButtons","onchangeMinimized","createElement","console","log","getState","minimizable","closable","setProperty","render","html","startDragging","nothing","toggleMinimizable","closeContainer","exports","Component","register"],"sources":["../../src/components/container.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\nimport { html, nothing, render } from 'lit'\n\nimport { HTMLAbsoluteLayout, Layout } from '../layout/index.js'\n\nimport Component from './component.js'\nimport ContainerAbstract from './container-abstract.js'\nimport MixinHTMLElement from './mixins/html-element.js'\n\nconst SCALE_DEFAULT = { x: 1, y: 1 }\nconst DEFAULT_STYLE = {\n boxSizing: 'border-box',\n margin: '0px',\n position: 'absolute',\n outline: 'none'\n}\n\nconst NATURE = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'layout',\n label: 'layout',\n name: 'layoutOption'\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: 'minimized',\n name: 'minimized'\n }\n ],\n help: 'scene/component/container'\n}\n\nexport default class Container extends MixinHTMLElement(ContainerAbstract) {\n get tagName() {\n return 'div'\n }\n\n get nature() {\n return NATURE\n }\n\n setElementProperties(element) {}\n\n get layout() {\n return Layout.get(this.get('layout')) || HTMLAbsoluteLayout\n }\n\n reposition() {\n if (!this.element) return\n\n var component = this\n\n var { id, class: className, scale = SCALE_DEFAULT } = component.state\n\n var { rotation = 0, hidden } = component\n\n var { left, top, width, height } = component.bounds\n var cx = width / 2\n var cy = height / 2\n\n // element의 기본 속성을 설정한다.\n var element = component.element\n\n element.hidden = hidden\n if (id) element.id = id\n if (className) element.className = className\n\n // element의 기본 style을 설정한다.\n Object.assign(element.style, DEFAULT_STYLE, {\n left: left + 'px',\n top: top + 'px',\n width: '0px',\n height: '0px',\n backgroundColor: 'transparent'\n })\n\n var delta = component.delta()\n var sx = ((scale && scale.x) || 1) * delta.sx\n var sy = ((scale && scale.y) || 1) * delta.sy\n var theta = (rotation || 0) + delta.theta\n var tx = delta.tx || 0\n var ty = delta.ty || 0\n\n /* CONFIRM-ME `transform: perspective(1px)` 스타일 설정은 scaling된 dom element를 좀 더 선명하게 보이도록 해준다. (Chrome 브라우저에서) */\n element.style.transform = `translate(${tx + cx}px, ${\n ty + cy\n }px) rotate(${theta}rad) translate(${-cx}px, ${-cy}px) scale(${sx}, ${sy}) perspective(1px)`\n }\n\n set path(path) {\n const { minimized } = this.state\n\n var left_top = path[0]\n var right_bottom = path[2]\n\n if (minimized) {\n this.set({\n left: left_top.x,\n top: left_top.y,\n width: right_bottom.x - left_top.x\n })\n } else {\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\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 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 const { minimized } = this.state\n const { left = 0, top = 0, width = 0, height = 0 } = bounds\n\n if (minimized) {\n this.set({\n left,\n top,\n width\n })\n } else {\n this.set({\n left,\n top,\n width,\n height\n })\n }\n }\n\n onchange(after, before) {\n super.onchange(after, before)\n\n if (\n 'draggable' in after ||\n 'minimizable' in after ||\n 'closable' in after ||\n 'minimized' in after ||\n 'width' in after ||\n 'height' in after\n ) {\n this.onchangeButtons()\n }\n\n if ('minimized' in after) {\n this.onchangeMinimized()\n }\n }\n\n createElement() {\n super.createElement()\n\n this.onchangeButtons()\n this.onchangeMinimized()\n }\n\n onchangeButtons() {\n if (!this.element) {\n return\n }\n\n console.log('element', this.getState('id'))\n\n const { draggable, minimizable, closable, minimized } = this.state\n const { width } = this.bounds\n\n this.element.style.setProperty('--container-width', `${width}px`)\n\n render(\n html`\n <style>\n .buttons {\n position: absolute;\n display: flex;\n flex-direction: row;\n top: 0;\n left: 0;\n width: var(--container-width);\n padding: 2px;\n margin: 0;\n gap: 2px;\n box-sizing: border-box;\n background-color: transparent;\n }\n\n span {\n flex: 1;\n }\n\n .buttons button {\n background: transparent;\n border: none;\n cursor: pointer;\n font-family: Material Symbols Outlined;\n font-size: 16px;\n border-radius: 4px;\n color: white;\n background-color: black;\n opacity: 0.3;\n width: 20px;\n height: 20px;\n z-index: 1;\n padding: 0;\n margin: 0;\n border: 0px;\n text-align: center;\n }\n </style>\n\n <div class=\"buttons\" @mousedown=${this.startDragging}>\n <span></span>\n ${draggable ? html`<button class=\"draggable\">drag_pan</button>` : nothing}\n ${minimizable\n ? html`<button class=\"minimizable\" @click=${this.toggleMinimizable}>\n ${minimized ? 'crop_square' : 'minimize'}\n </button>`\n : nothing}\n ${closable ? html`<button class=\"closable\" @click=${this.closeContainer}>close</button>` : nothing}\n </div>\n `,\n this.element\n )\n }\n\n startDragging = e => {\n if (!this.state.draggable) {\n return\n }\n\n e.preventDefault()\n e.stopPropagation()\n\n let startX = e.clientX\n let startY = e.clientY\n\n const { left, top } = this.bounds\n\n const transform = this.rootModel.overlay.style.transform\n const scaleMatch = transform.match(/scale\\(([^,]+),\\s*([^)]+)\\)/)\n\n const sx = scaleMatch ? parseFloat(scaleMatch[1]) : 1\n const sy = scaleMatch ? parseFloat(scaleMatch[2]) : sx\n\n const onMouseMove = e => {\n e.preventDefault()\n e.stopPropagation()\n\n const dx = (e.clientX - startX) / sx\n const dy = (e.clientY - startY) / sy\n\n this.setState({\n left: left + dx,\n top: top + dy\n })\n }\n\n const onMouseUp = e => {\n e.preventDefault()\n e.stopPropagation()\n\n document.removeEventListener('mousemove', onMouseMove, true)\n document.removeEventListener('mouseup', onMouseUp, true)\n }\n\n document.addEventListener('mousemove', onMouseMove, true)\n document.addEventListener('mouseup', onMouseUp, true)\n }\n\n toggleMinimizable = () => {\n const { minimized } = this.state\n this.setState('minimized', !minimized)\n }\n\n onchangeMinimized() {\n const { minimized } = this.state\n\n if (minimized) {\n this.setState('height', 24)\n } else {\n this.setState('height', this.get('height'))\n }\n }\n\n closeContainer = () => {\n this.setState('hidden', true)\n }\n}\n\nComponent.register('container', Container)\n"],"mappings":"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","ignoreList":[]}
@@ -1,82 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _objAccessor = _interopRequireDefault(require("../../core/obj-accessor.js"));
8
- var _evaluator = _interopRequireDefault(require("./evaluator.js"));
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
- /*
11
- * Copyright © HatioLab Inc. All rights reserved.
12
- */
13
-
14
- function propType(property) {
15
- switch (property) {
16
- // case 'text':
17
- // case 'fontColor':
18
- case 'ref':
19
- case 'fillStyle':
20
- case 'strokeStyle':
21
- return 'string';
22
- // case 'value':
23
- // case 'rotation':
24
- // return 'number';
25
- default:
26
- return;
27
- }
28
- }
29
- class DataMapping {
30
- constructor(model, owner) {
31
- this.owner = owner;
32
- this.model = model;
33
- }
34
- dispose() {
35
- delete this._model;
36
- delete this.owner;
37
- delete this.evaluator;
38
- delete this.accessor;
39
- delete this.source;
40
- }
41
- get model() {
42
- return this._model;
43
- }
44
- set model(model) {
45
- var {
46
- target,
47
- property,
48
- rule,
49
- param,
50
- accessor
51
- } = model;
52
- this._model = model;
53
- this.evaluator = (0, _evaluator.default)(this, this.owner, rule, param, propType(property));
54
- this.accessor = (0, _objAccessor.default)(accessor);
55
- const matches = target.match(/\[(.*?)\]/);
56
- if (matches) {
57
- var [propAccessor, partAccessor] = matches[1].split(':');
58
- this.propAccessor = (0, _objAccessor.default)(propAccessor);
59
- this.partAccessor = (0, _objAccessor.default)(partAccessor);
60
- }
61
- }
62
- get target() {
63
- return this.model.target;
64
- }
65
- get property() {
66
- return this.model.property;
67
- }
68
- get source() {
69
- return this.model.source;
70
- }
71
- get param() {
72
- return this.model.param;
73
- }
74
- get ndnsp() {
75
- return !!this.model.ndnsp; /* no data no spreading */
76
- }
77
- get partial() {
78
- return !!this.model.partial; /* partial spreading */
79
- }
80
- }
81
- exports.default = DataMapping;
82
- //# sourceMappingURL=data-mapping.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-mapping.js","names":["_objAccessor","_interopRequireDefault","require","_evaluator","e","__esModule","default","propType","property","DataMapping","constructor","model","owner","dispose","_model","evaluator","accessor","source","target","rule","param","buildEvaluator","buildAccessor","matches","match","propAccessor","partAccessor","split","ndnsp","partial","exports"],"sources":["../../../src/components/data/data-mapping.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport buildAccessor from '../../core/obj-accessor.js'\nimport buildEvaluator from './evaluator.js'\n\nfunction propType(property) {\n switch (property) {\n // case 'text':\n // case 'fontColor':\n case 'ref':\n case 'fillStyle':\n case 'strokeStyle':\n return 'string'\n // case 'value':\n // case 'rotation':\n // return 'number';\n default:\n return\n }\n}\n\nexport default class DataMapping {\n constructor(model, owner) {\n this.owner = owner\n this.model = model\n }\n\n dispose() {\n delete this._model\n delete this.owner\n delete this.evaluator\n delete this.accessor\n delete this.source\n }\n\n get model() {\n return this._model\n }\n\n set model(model) {\n var { target, property, rule, param, accessor } = model\n\n this._model = model\n\n this.evaluator = buildEvaluator(this, this.owner, rule, param, propType(property))\n this.accessor = buildAccessor(accessor)\n\n const matches = target.match(/\\[(.*?)\\]/)\n if (matches) {\n var [propAccessor, partAccessor] = matches[1].split(':')\n\n this.propAccessor = buildAccessor(propAccessor)\n this.partAccessor = buildAccessor(partAccessor)\n }\n }\n\n get target() {\n return this.model.target\n }\n\n get property() {\n return this.model.property\n }\n\n get source() {\n return this.model.source\n }\n\n get param() {\n return this.model.param\n }\n\n get ndnsp() {\n return !!this.model.ndnsp /* no data no spreading */\n }\n\n get partial() {\n return !!this.model.partial /* partial spreading */\n }\n}\n"],"mappings":";;;;;;AAIA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAA2C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAL3C;AACA;AACA;;AAKA,SAASG,QAAQA,CAACC,QAAQ,EAAE;EAC1B,QAAQA,QAAQ;IACd;IACA;IACA,KAAK,KAAK;IACV,KAAK,WAAW;IAChB,KAAK,aAAa;MAChB,OAAO,QAAQ;IACjB;IACA;IACA;IACA;MACE;EACJ;AACF;AAEe,MAAMC,WAAW,CAAC;EAC/BC,WAAWA,CAACC,KAAK,EAAEC,KAAK,EAAE;IACxB,IAAI,CAACA,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACD,KAAK,GAAGA,KAAK;EACpB;EAEAE,OAAOA,CAAA,EAAG;IACR,OAAO,IAAI,CAACC,MAAM;IAClB,OAAO,IAAI,CAACF,KAAK;IACjB,OAAO,IAAI,CAACG,SAAS;IACrB,OAAO,IAAI,CAACC,QAAQ;IACpB,OAAO,IAAI,CAACC,MAAM;EACpB;EAEA,IAAIN,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACG,MAAM;EACpB;EAEA,IAAIH,KAAKA,CAACA,KAAK,EAAE;IACf,IAAI;MAAEO,MAAM;MAAEV,QAAQ;MAAEW,IAAI;MAAEC,KAAK;MAAEJ;IAAS,CAAC,GAAGL,KAAK;IAEvD,IAAI,CAACG,MAAM,GAAGH,KAAK;IAEnB,IAAI,CAACI,SAAS,GAAG,IAAAM,kBAAc,EAAC,IAAI,EAAE,IAAI,CAACT,KAAK,EAAEO,IAAI,EAAEC,KAAK,EAAEb,QAAQ,CAACC,QAAQ,CAAC,CAAC;IAClF,IAAI,CAACQ,QAAQ,GAAG,IAAAM,oBAAa,EAACN,QAAQ,CAAC;IAEvC,MAAMO,OAAO,GAAGL,MAAM,CAACM,KAAK,CAAC,WAAW,CAAC;IACzC,IAAID,OAAO,EAAE;MACX,IAAI,CAACE,YAAY,EAAEC,YAAY,CAAC,GAAGH,OAAO,CAAC,CAAC,CAAC,CAACI,KAAK,CAAC,GAAG,CAAC;MAExD,IAAI,CAACF,YAAY,GAAG,IAAAH,oBAAa,EAACG,YAAY,CAAC;MAC/C,IAAI,CAACC,YAAY,GAAG,IAAAJ,oBAAa,EAACI,YAAY,CAAC;IACjD;EACF;EAEA,IAAIR,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACP,KAAK,CAACO,MAAM;EAC1B;EAEA,IAAIV,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACG,KAAK,CAACH,QAAQ;EAC5B;EAEA,IAAIS,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACN,KAAK,CAACM,MAAM;EAC1B;EAEA,IAAIG,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACT,KAAK,CAACS,KAAK;EACzB;EAEA,IAAIQ,KAAKA,CAAA,EAAG;IACV,OAAO,CAAC,CAAC,IAAI,CAACjB,KAAK,CAACiB,KAAK,EAAC;EAC5B;EAEA,IAAIC,OAAOA,CAAA,EAAG;IACZ,OAAO,CAAC,CAAC,IAAI,CAAClB,KAAK,CAACkB,OAAO,EAAC;EAC9B;AACF;AAACC,OAAA,CAAAxB,OAAA,GAAAG,WAAA","ignoreList":[]}
@@ -1,166 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.buildMappings = buildMappings;
7
- exports.disposeMappings = disposeMappings;
8
- exports.executeMappings = executeMappings;
9
- exports.onchangeData = onchangeData;
10
- exports.onchangeMappings = onchangeMappings;
11
- var _logger = require("../../core/logger.js");
12
- var _dataMapping = _interopRequireDefault(require("./data-mapping.js"));
13
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
- /*
15
- * Copyright © HatioLab Inc. All rights reserved.
16
- */
17
-
18
- function setTargetsProperty(targets, property, value, partial) {
19
- if (partial) {
20
- targets.forEach(component => component[property] = {
21
- ...component[property],
22
- ...value
23
- });
24
- } else {
25
- targets.forEach(component => component[property] = value);
26
- }
27
- }
28
- function executeMappings(force = false) {
29
- if (!force && this.data === undefined) {
30
- return;
31
- }
32
- this.mappings && this.mappings.forEach(mapping => {
33
- try {
34
- var {
35
- source,
36
- target,
37
- property,
38
- accessor,
39
- propAccessor,
40
- partAccessor,
41
- ndnsp = false,
42
- partial = false
43
- } = mapping;
44
- var data;
45
- if (source && source != '(self)') {
46
- if (source.startsWith('#')) {
47
- source = source.substring(1);
48
- }
49
- data = this.root.findById(source)?.data || {};
50
- } else {
51
- data = this.data;
52
- }
53
- var accessive = accessor(data);
54
- /*
55
- accessive : accessor에 의해서 한정된 대상 데이터
56
- accessive가 undefined 라면,
57
- target 설정이 '()', '(key)', '[prop]' 형태인 경우에는 데이타 전달 타겟을 설정할 수 없으므로 더 이상 진행할 필요가 없다.
58
- target 설정이 '#id', '.class' 인 경우에는 undefined 값도 스프레드(전파) 되어야 한다.
59
- */
60
-
61
- target = target.trim();
62
- if (target == '(root)' || target == '(key)') {
63
- if (accessive == undefined) {
64
- return;
65
- }
66
- // TODO (root) 제거.
67
- let targets = Object.keys(accessive || {}).map(key => this.root.findOrCreate(key)).filter(Boolean).flat();
68
- if (targets.length > 0) {
69
- targets.forEach(component => {
70
- let value = mapping.evaluator(accessive[component.get('id')], [component]);
71
- if (property && property !== '(action)' && (!ndnsp || value || value === 0 || value === false)) {
72
- if (partial) {
73
- component[property] = {
74
- ...component[property],
75
- ...value
76
- };
77
- } else {
78
- component[property] = value;
79
- }
80
- }
81
- });
82
- }
83
- } else if (target.startsWith('[')) {
84
- if (accessive == undefined) {
85
- return;
86
- }
87
- // const matches = target.match(/\[(.*?)\]/)
88
-
89
- // if (!matches) {
90
- // throw String("mapping target should end with ']' to designate property-id.(" + target + ')')
91
- // }
92
-
93
- // var id_prop = matches[1].split(':')[0]
94
-
95
- if (accessive instanceof Array) {
96
- accessive.forEach(data => {
97
- let id = propAccessor(data);
98
- if (id) {
99
- let components = this.root.findOrCreate(id);
100
- if (components) {
101
- let value = mapping.evaluator(partAccessor(data), components);
102
- if (property && property !== '(action)' && (!ndnsp || value || value === 0 || value === false)) {
103
- setTargetsProperty(components, property, value, partial);
104
- }
105
- }
106
- }
107
- });
108
- } else if (accessive instanceof Object) {
109
- let id = propAccessor(accessive);
110
- if (id) {
111
- let components = this.root.findOrCreate(id);
112
- if (components) {
113
- let value = mapping.evaluator(partAccessor(accessive), components);
114
- if (property && property !== '(action)' && (!ndnsp || value || value === 0 || value === false)) {
115
- setTargetsProperty(components, property, value, partial);
116
- }
117
- }
118
- }
119
- } else {
120
- throw String('mapping data should be an object to target property-id.(' + accessive + ')');
121
- }
122
- } else {
123
- let targets = this.root.findAll(target, this);
124
- if (targets.length > 0) {
125
- let value = mapping.evaluator(accessive, targets);
126
- if (property && property !== '(action)' && (!ndnsp || value || value === 0 || value === false)) {
127
- setTargetsProperty(targets, property, value, partial);
128
- }
129
- }
130
- }
131
- } catch (e) {
132
- (0, _logger.error)(e, this, mapping);
133
- }
134
- });
135
- }
136
- function onchangeData(after, before) {
137
- if (this.state.persistent) {
138
- this.app?.isViewMode && this.app?.dataStorage.save(this, after.data);
139
- }
140
-
141
- /* excuteMappings forcely */
142
- executeMappings.call(this, [true]);
143
- }
144
- function buildMappings() {
145
- if (!this._model.mappings) {
146
- this._mappings = [];
147
- return;
148
- }
149
- if (!this._model.mappings instanceof Array) {
150
- (0, _logger.error)('Mappings model is invalid (should be a Array) ..', this._model.mappings);
151
- this._mappings = [];
152
- return;
153
- }
154
- this._mappings = (this._model.mappings || []).filter(mapping => mapping.rule && mapping.target).map(mapping => {
155
- return new _dataMapping.default(mapping, this);
156
- });
157
- }
158
- function disposeMappings() {
159
- this._mappings && this._mappings.forEach(mapping => mapping.dispose());
160
- delete this._mappings;
161
- }
162
- function onchangeMappings(after, before) {
163
- this.disposeMappings();
164
- executeMappings.call(this);
165
- }
166
- //# sourceMappingURL=data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data.js","names":["_logger","require","_dataMapping","_interopRequireDefault","e","__esModule","default","setTargetsProperty","targets","property","value","partial","forEach","component","executeMappings","force","data","undefined","mappings","mapping","source","target","accessor","propAccessor","partAccessor","ndnsp","startsWith","substring","root","findById","accessive","trim","Object","keys","map","key","findOrCreate","filter","Boolean","flat","length","evaluator","get","Array","id","components","String","findAll","error","onchangeData","after","before","state","persistent","app","isViewMode","dataStorage","save","call","buildMappings","_model","_mappings","rule","DataMapping","disposeMappings","dispose","onchangeMappings"],"sources":["../../../src/components/data/data.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { error } from '../../core/logger.js'\nimport DataMapping from './data-mapping.js'\n\nfunction setTargetsProperty(targets, property, value, partial) {\n if (partial) {\n targets.forEach(component => (component[property] = { ...component[property], ...value }))\n } else {\n targets.forEach(component => (component[property] = value))\n }\n}\n\nexport function executeMappings(force = false) {\n if (!force && this.data === undefined) {\n return\n }\n\n this.mappings &&\n this.mappings.forEach(mapping => {\n try {\n var { source, target, property, accessor, propAccessor, partAccessor, ndnsp = false, partial = false } = mapping\n\n var data\n\n if (source && source != '(self)') {\n if (source.startsWith('#')) {\n source = source.substring(1)\n }\n data = this.root.findById(source)?.data || {}\n } else {\n data = this.data\n }\n\n var accessive = accessor(data)\n /*\n accessive : accessor에 의해서 한정된 대상 데이터\n accessive가 undefined 라면,\n target 설정이 '()', '(key)', '[prop]' 형태인 경우에는 데이타 전달 타겟을 설정할 수 없으므로 더 이상 진행할 필요가 없다.\n target 설정이 '#id', '.class' 인 경우에는 undefined 값도 스프레드(전파) 되어야 한다.\n */\n\n target = target.trim()\n\n if (target == '(root)' || target == '(key)') {\n if (accessive == undefined) {\n return\n }\n // TODO (root) 제거.\n let targets = Object.keys(accessive || {})\n .map(key => this.root.findOrCreate(key))\n .filter(Boolean)\n .flat()\n\n if (targets.length > 0) {\n targets.forEach(component => {\n let value = mapping.evaluator(accessive[component.get('id')], [component])\n if (property && property !== '(action)' && (!ndnsp || value || value === 0 || value === false)) {\n if (partial) {\n component[property] = { ...component[property], ...value }\n } else {\n component[property] = value\n }\n }\n })\n }\n } else if (target.startsWith('[')) {\n if (accessive == undefined) {\n return\n }\n // const matches = target.match(/\\[(.*?)\\]/)\n\n // if (!matches) {\n // throw String(\"mapping target should end with ']' to designate property-id.(\" + target + ')')\n // }\n\n // var id_prop = matches[1].split(':')[0]\n\n if (accessive instanceof Array) {\n accessive.forEach(data => {\n let id = propAccessor(data)\n if (id) {\n let components = this.root.findOrCreate(id)\n\n if (components) {\n let value = mapping.evaluator(partAccessor(data), components)\n if (property && property !== '(action)' && (!ndnsp || value || value === 0 || value === false)) {\n setTargetsProperty(components, property, value, partial)\n }\n }\n }\n })\n } else if (accessive instanceof Object) {\n let id = propAccessor(accessive)\n if (id) {\n let components = this.root.findOrCreate(id)\n\n if (components) {\n let value = mapping.evaluator(partAccessor(accessive), components)\n if (property && property !== '(action)' && (!ndnsp || value || value === 0 || value === false)) {\n setTargetsProperty(components, property, value, partial)\n }\n }\n }\n } else {\n throw String('mapping data should be an object to target property-id.(' + accessive + ')')\n }\n } else {\n let targets = this.root.findAll(target, this)\n\n if (targets.length > 0) {\n let value = mapping.evaluator(accessive, targets)\n if (property && property !== '(action)' && (!ndnsp || value || value === 0 || value === false)) {\n setTargetsProperty(targets, property, value, partial)\n }\n }\n }\n } catch (e) {\n error(e, this, mapping)\n }\n })\n}\n\nexport function onchangeData(after, before) {\n if (this.state.persistent) {\n this.app?.isViewMode && this.app?.dataStorage.save(this, after.data)\n }\n\n /* excuteMappings forcely */\n executeMappings.call(this, [true])\n}\n\nexport function buildMappings() {\n if (!this._model.mappings) {\n this._mappings = []\n return\n }\n\n if (!this._model.mappings instanceof Array) {\n error('Mappings model is invalid (should be a Array) ..', this._model.mappings)\n this._mappings = []\n return\n }\n\n this._mappings = (this._model.mappings || [])\n .filter(mapping => mapping.rule && mapping.target)\n .map(mapping => {\n return new DataMapping(mapping, this)\n })\n}\n\nexport function disposeMappings() {\n this._mappings && this._mappings.forEach(mapping => mapping.dispose())\n delete this._mappings\n}\n\nexport function onchangeMappings(after, before) {\n this.disposeMappings()\n\n executeMappings.call(this)\n}\n"],"mappings":"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","ignoreList":[]}