@rocketshow/designer 1.32.0 → 1.35.0

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 (362) hide show
  1. package/assets/i18n/de.json +2 -1
  2. package/assets/i18n/en.json +2 -1
  3. package/esm2022/lib/array-sort-pipe.mjs +30 -0
  4. package/esm2022/lib/designer.component.mjs +672 -0
  5. package/esm2022/lib/designer.module.mjs +186 -0
  6. package/esm2022/lib/designer.service.mjs +14 -0
  7. package/esm2022/lib/dropzone/dropzone.component.mjs +93 -0
  8. package/esm2022/lib/effect/effect-curve/effect-curve.component.mjs +577 -0
  9. package/esm2022/lib/effect/effect-pan-tilt/effect-pan-tilt.component.mjs +36 -0
  10. package/esm2022/lib/effect/effect.component.mjs +174 -0
  11. package/esm2022/lib/error-dialog/error-dialog.component.mjs +75 -0
  12. package/esm2022/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.mjs +222 -0
  13. package/esm2022/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.mjs +147 -0
  14. package/esm2022/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.mjs +213 -0
  15. package/esm2022/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.mjs +78 -0
  16. package/esm2022/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.mjs +119 -0
  17. package/esm2022/lib/fixture/fixture-capability/fixture-capability.component.mjs +169 -0
  18. package/esm2022/lib/fixture/fixture-channel/fixture-channel.component.mjs +162 -0
  19. package/esm2022/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.mjs +365 -0
  20. package/esm2022/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.mjs +151 -0
  21. package/esm2022/lib/fixture/fixture-settings/fixture-settings.component.mjs +46 -0
  22. package/esm2022/lib/fixture/fixture.component.mjs +148 -0
  23. package/esm2022/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.mjs +145 -0
  24. package/esm2022/lib/fixture-pool/fixture-pool.component.mjs +643 -0
  25. package/esm2022/lib/intro/intro.component.mjs +95 -0
  26. package/esm2022/lib/master-dimmer/master-dimmer.component.mjs +66 -0
  27. package/esm2022/lib/models/cached-fixture-capability.mjs +9 -0
  28. package/esm2022/lib/models/cached-fixture-channel.mjs +7 -0
  29. package/esm2022/lib/models/cached-fixture.mjs +6 -0
  30. package/esm2022/lib/models/color.mjs +8 -0
  31. package/esm2022/lib/models/composition.mjs +46 -0
  32. package/esm2022/lib/models/effect-curve-profile-channel.mjs +15 -0
  33. package/esm2022/lib/models/effect-curve.mjs +69 -0
  34. package/esm2022/lib/models/effect-pan-tilt.mjs +19 -0
  35. package/esm2022/lib/models/effect.mjs +12 -0
  36. package/esm2022/lib/models/fixture-capability-value.mjs +15 -0
  37. package/esm2022/lib/models/fixture-capability.mjs +84 -0
  38. package/esm2022/lib/models/fixture-channel-value.mjs +11 -0
  39. package/esm2022/lib/models/fixture-channel.mjs +24 -0
  40. package/esm2022/lib/models/fixture-matrix-pixel-group-constraints.mjs +27 -0
  41. package/esm2022/lib/models/fixture-matrix-pixel-group.mjs +12 -0
  42. package/esm2022/lib/models/fixture-matrix.mjs +25 -0
  43. package/esm2022/lib/models/fixture-mode-channel.mjs +26 -0
  44. package/esm2022/lib/models/fixture-mode.mjs +17 -0
  45. package/esm2022/lib/models/fixture-physical.mjs +14 -0
  46. package/esm2022/lib/models/fixture-profile.mjs +85 -0
  47. package/esm2022/lib/models/fixture-wheel-slot.mjs +26 -0
  48. package/esm2022/lib/models/fixture-wheel.mjs +15 -0
  49. package/esm2022/lib/models/fixture.mjs +40 -0
  50. package/esm2022/lib/models/preset-fixture.mjs +10 -0
  51. package/esm2022/lib/models/preset-region-scene.mjs +8 -0
  52. package/esm2022/lib/models/preset.mjs +65 -0
  53. package/esm2022/lib/models/project.mjs +78 -0
  54. package/esm2022/lib/models/scene-playback-region.mjs +11 -0
  55. package/esm2022/lib/models/scene.mjs +27 -0
  56. package/esm2022/lib/preset/preset-settings/preset-settings.component.mjs +194 -0
  57. package/esm2022/lib/preset/preset.component.mjs +131 -0
  58. package/esm2022/lib/preview/models/color-changer-3d.mjs +64 -0
  59. package/esm2022/lib/preview/models/fixture-3d.mjs +274 -0
  60. package/esm2022/lib/preview/models/moving-head-3d.mjs +124 -0
  61. package/esm2022/lib/preview/preview.component.mjs +219 -0
  62. package/esm2022/lib/project/project-browser/project-browser.component.mjs +143 -0
  63. package/esm2022/lib/project/project-import/project-import.component.mjs +107 -0
  64. package/esm2022/lib/project/project-save/project-save.component.mjs +178 -0
  65. package/esm2022/lib/project/project-share/project-share.component.mjs +71 -0
  66. package/esm2022/lib/scene/scene-settings/scene-settings.component.mjs +146 -0
  67. package/esm2022/lib/scene/scene.component.mjs +110 -0
  68. package/esm2022/lib/services/animation.service.mjs +16 -0
  69. package/esm2022/lib/services/config.service.mjs +28 -0
  70. package/esm2022/lib/services/effect.service.mjs +14 -0
  71. package/esm2022/lib/services/error-dialog.service.mjs +39 -0
  72. package/esm2022/lib/services/fixture-pool.service.mjs +30 -0
  73. package/esm2022/lib/services/fixture.service.mjs +639 -0
  74. package/esm2022/lib/services/hotkey-target-exclude.service.mjs +24 -0
  75. package/esm2022/lib/services/intro.service.mjs +140 -0
  76. package/esm2022/lib/services/preset.service.mjs +449 -0
  77. package/esm2022/lib/services/preview-mesh.service.mjs +57 -0
  78. package/esm2022/lib/services/preview.service.mjs +497 -0
  79. package/esm2022/lib/services/project-load.service.mjs +209 -0
  80. package/esm2022/lib/services/project.service.mjs +93 -0
  81. package/esm2022/lib/services/scene.service.mjs +164 -0
  82. package/esm2022/lib/services/timeline.service.mjs +726 -0
  83. package/esm2022/lib/services/user-ensure-login.service.mjs +38 -0
  84. package/esm2022/lib/services/user.service.mjs +89 -0
  85. package/esm2022/lib/services/uuid.service.mjs +23 -0
  86. package/esm2022/lib/services/warning-dialog.service.mjs +38 -0
  87. package/esm2022/lib/timeline/composition-settings/composition-settings.component.mjs +304 -0
  88. package/esm2022/lib/timeline/timeline-grid/timeline-grid.component.mjs +216 -0
  89. package/esm2022/lib/timeline/timeline.component.mjs +418 -0
  90. package/esm2022/lib/user/user-login/user-login.component.mjs +144 -0
  91. package/esm2022/lib/user/user-register/user-register.component.mjs +220 -0
  92. package/esm2022/lib/wait-dialog/wait-dialog.component.mjs +26 -0
  93. package/esm2022/lib/warning-dialog/warning-dialog.component.mjs +68 -0
  94. package/esm2022/public_api.mjs +7 -0
  95. package/esm2022/rocketshow-designer.mjs +5 -0
  96. package/fesm2022/rocketshow-designer.mjs +11171 -0
  97. package/fesm2022/rocketshow-designer.mjs.map +1 -0
  98. package/index.d.ts +5 -0
  99. package/lib/array-sort-pipe.d.ts +3 -0
  100. package/lib/designer.component.d.ts +19 -16
  101. package/lib/designer.module.d.ts +55 -0
  102. package/lib/designer.service.d.ts +3 -0
  103. package/lib/dropzone/dropzone.component.d.ts +24 -0
  104. package/lib/effect/effect-curve/effect-curve.component.d.ts +4 -1
  105. package/lib/effect/effect-pan-tilt/effect-pan-tilt.component.d.ts +3 -0
  106. package/lib/effect/effect.component.d.ts +3 -0
  107. package/lib/error-dialog/error-dialog.component.d.ts +3 -0
  108. package/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.d.ts +4 -1
  109. package/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.d.ts +3 -0
  110. package/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.d.ts +5 -2
  111. package/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.d.ts +3 -0
  112. package/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.d.ts +3 -0
  113. package/lib/fixture/fixture-capability/fixture-capability.component.d.ts +3 -0
  114. package/lib/fixture/fixture-channel/fixture-channel.component.d.ts +3 -0
  115. package/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.d.ts +3 -0
  116. package/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.d.ts +3 -0
  117. package/lib/fixture/fixture-settings/fixture-settings.component.d.ts +3 -0
  118. package/lib/fixture/fixture.component.d.ts +7 -3
  119. package/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.d.ts +3 -0
  120. package/lib/fixture-pool/fixture-pool.component.d.ts +3 -0
  121. package/lib/intro/intro.component.d.ts +3 -0
  122. package/lib/master-dimmer/master-dimmer.component.d.ts +3 -0
  123. package/lib/models/cached-fixture.d.ts +1 -0
  124. package/lib/models/fixture-matrix-pixel-group-constraints.d.ts +8 -0
  125. package/lib/models/fixture-matrix-pixel-group.d.ts +6 -0
  126. package/lib/models/fixture-matrix.d.ts +6 -0
  127. package/lib/models/fixture-mode-channel.d.ts +8 -0
  128. package/lib/models/fixture-mode.d.ts +3 -1
  129. package/lib/models/fixture-physical.d.ts +4 -0
  130. package/lib/models/fixture-profile.d.ts +5 -0
  131. package/lib/models/preset-fixture.d.ts +5 -0
  132. package/lib/models/preset.d.ts +2 -0
  133. package/lib/models/project.d.ts +3 -0
  134. package/lib/preset/preset-settings/preset-settings.component.d.ts +3 -0
  135. package/lib/preset/preset.component.d.ts +3 -0
  136. package/lib/preview/models/color-changer-3d.d.ts +1 -11
  137. package/lib/preview/models/fixture-3d.d.ts +11 -0
  138. package/lib/preview/models/moving-head-3d.d.ts +1 -11
  139. package/lib/preview/preview.component.d.ts +4 -4
  140. package/lib/project/project-browser/project-browser.component.d.ts +3 -0
  141. package/lib/project/project-import/project-import.component.d.ts +3 -0
  142. package/lib/project/project-save/project-save.component.d.ts +3 -0
  143. package/lib/project/project-share/project-share.component.d.ts +3 -0
  144. package/lib/scene/scene-settings/scene-settings.component.d.ts +3 -0
  145. package/lib/scene/scene.component.d.ts +3 -0
  146. package/lib/services/animation.service.d.ts +3 -0
  147. package/lib/services/config.service.d.ts +4 -0
  148. package/lib/services/effect.service.d.ts +3 -0
  149. package/lib/services/error-dialog.service.d.ts +3 -0
  150. package/lib/services/fixture-pool.service.d.ts +3 -0
  151. package/lib/services/fixture.service.d.ts +10 -2
  152. package/lib/services/hotkey-target-exclude.service.d.ts +3 -0
  153. package/lib/services/intro.service.d.ts +3 -0
  154. package/lib/services/preset.service.d.ts +7 -2
  155. package/lib/services/preview-mesh.service.d.ts +3 -0
  156. package/lib/services/preview.service.d.ts +6 -4
  157. package/lib/services/project-load.service.d.ts +8 -1
  158. package/lib/services/project.service.d.ts +5 -3
  159. package/lib/services/scene.service.d.ts +3 -0
  160. package/lib/services/timeline.service.d.ts +3 -0
  161. package/lib/services/user-ensure-login.service.d.ts +3 -0
  162. package/lib/services/user.service.d.ts +3 -0
  163. package/lib/services/uuid.service.d.ts +3 -0
  164. package/lib/services/warning-dialog.service.d.ts +3 -0
  165. package/lib/timeline/composition-settings/composition-settings.component.d.ts +5 -1
  166. package/lib/timeline/timeline-grid/timeline-grid.component.d.ts +3 -0
  167. package/lib/timeline/timeline.component.d.ts +3 -0
  168. package/lib/user/user-login/user-login.component.d.ts +3 -0
  169. package/lib/user/user-register/user-register.component.d.ts +3 -0
  170. package/lib/wait-dialog/wait-dialog.component.d.ts +3 -0
  171. package/lib/warning-dialog/warning-dialog.component.d.ts +3 -0
  172. package/package.json +20 -22
  173. package/rocketshow-designer-1.35.0.tgz +0 -0
  174. package/bundles/rocketshow-designer.umd.js +0 -9966
  175. package/bundles/rocketshow-designer.umd.js.map +0 -1
  176. package/bundles/rocketshow-designer.umd.min.js +0 -17
  177. package/bundles/rocketshow-designer.umd.min.js.map +0 -1
  178. package/esm2015/lib/array-sort-pipe.js +0 -28
  179. package/esm2015/lib/designer.component.js +0 -411
  180. package/esm2015/lib/designer.module.js +0 -117
  181. package/esm2015/lib/designer.service.js +0 -16
  182. package/esm2015/lib/effect/effect-curve/effect-curve.component.js +0 -325
  183. package/esm2015/lib/effect/effect-pan-tilt/effect-pan-tilt.component.js +0 -30
  184. package/esm2015/lib/effect/effect.component.js +0 -73
  185. package/esm2015/lib/error-dialog/error-dialog.component.js +0 -42
  186. package/esm2015/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.js +0 -141
  187. package/esm2015/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.js +0 -128
  188. package/esm2015/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.js +0 -163
  189. package/esm2015/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.js +0 -60
  190. package/esm2015/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.js +0 -87
  191. package/esm2015/lib/fixture/fixture-capability/fixture-capability.component.js +0 -97
  192. package/esm2015/lib/fixture/fixture-channel/fixture-channel.component.js +0 -66
  193. package/esm2015/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.js +0 -200
  194. package/esm2015/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.js +0 -31
  195. package/esm2015/lib/fixture/fixture-settings/fixture-settings.component.js +0 -35
  196. package/esm2015/lib/fixture/fixture.component.js +0 -70
  197. package/esm2015/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.js +0 -128
  198. package/esm2015/lib/fixture-pool/fixture-pool.component.js +0 -331
  199. package/esm2015/lib/intro/intro.component.js +0 -25
  200. package/esm2015/lib/master-dimmer/master-dimmer.component.js +0 -41
  201. package/esm2015/lib/models/cached-fixture-capability.js +0 -9
  202. package/esm2015/lib/models/cached-fixture-channel.js +0 -7
  203. package/esm2015/lib/models/cached-fixture.js +0 -6
  204. package/esm2015/lib/models/color.js +0 -8
  205. package/esm2015/lib/models/composition.js +0 -46
  206. package/esm2015/lib/models/effect-curve-profile-channel.js +0 -15
  207. package/esm2015/lib/models/effect-curve.js +0 -69
  208. package/esm2015/lib/models/effect-pan-tilt.js +0 -19
  209. package/esm2015/lib/models/effect.js +0 -12
  210. package/esm2015/lib/models/fixture-capability-value.js +0 -15
  211. package/esm2015/lib/models/fixture-capability.js +0 -84
  212. package/esm2015/lib/models/fixture-channel-value.js +0 -11
  213. package/esm2015/lib/models/fixture-channel.js +0 -24
  214. package/esm2015/lib/models/fixture-mode.js +0 -14
  215. package/esm2015/lib/models/fixture-profile.js +0 -70
  216. package/esm2015/lib/models/fixture-wheel-slot.js +0 -26
  217. package/esm2015/lib/models/fixture-wheel.js +0 -15
  218. package/esm2015/lib/models/fixture.js +0 -40
  219. package/esm2015/lib/models/preset-region-scene.js +0 -8
  220. package/esm2015/lib/models/preset.js +0 -56
  221. package/esm2015/lib/models/project.js +0 -68
  222. package/esm2015/lib/models/scene-playback-region.js +0 -11
  223. package/esm2015/lib/models/scene.js +0 -27
  224. package/esm2015/lib/models/universe.js +0 -11
  225. package/esm2015/lib/preset/preset-settings/preset-settings.component.js +0 -66
  226. package/esm2015/lib/preset/preset.component.js +0 -85
  227. package/esm2015/lib/preview/models/color-changer-3d.js +0 -167
  228. package/esm2015/lib/preview/models/fixture-3d.js +0 -150
  229. package/esm2015/lib/preview/models/moving-head-3d.js +0 -233
  230. package/esm2015/lib/preview/preview.component.js +0 -242
  231. package/esm2015/lib/project/project-browser/project-browser.component.js +0 -73
  232. package/esm2015/lib/project/project-import/project-import.component.js +0 -89
  233. package/esm2015/lib/project/project-save/project-save.component.js +0 -105
  234. package/esm2015/lib/project/project-share/project-share.component.js +0 -43
  235. package/esm2015/lib/scene/scene-settings/scene-settings.component.js +0 -52
  236. package/esm2015/lib/scene/scene.component.js +0 -56
  237. package/esm2015/lib/services/animation.service.js +0 -17
  238. package/esm2015/lib/services/config.service.js +0 -28
  239. package/esm2015/lib/services/effect.service.js +0 -16
  240. package/esm2015/lib/services/error-dialog.service.js +0 -44
  241. package/esm2015/lib/services/fixture-pool.service.js +0 -34
  242. package/esm2015/lib/services/fixture.service.js +0 -443
  243. package/esm2015/lib/services/hotkey-target-exclude.service.js +0 -26
  244. package/esm2015/lib/services/intro.service.js +0 -144
  245. package/esm2015/lib/services/preset.service.js +0 -416
  246. package/esm2015/lib/services/preview-mesh.service.js +0 -58
  247. package/esm2015/lib/services/preview.service.js +0 -500
  248. package/esm2015/lib/services/project-load.service.js +0 -171
  249. package/esm2015/lib/services/project.service.js +0 -113
  250. package/esm2015/lib/services/scene.service.js +0 -174
  251. package/esm2015/lib/services/timeline.service.js +0 -738
  252. package/esm2015/lib/services/universe.service.js +0 -24
  253. package/esm2015/lib/services/user-ensure-login.service.js +0 -44
  254. package/esm2015/lib/services/user.service.js +0 -93
  255. package/esm2015/lib/services/uuid.service.js +0 -25
  256. package/esm2015/lib/services/warning-dialog.service.js +0 -43
  257. package/esm2015/lib/timeline/composition-settings/composition-settings.component.js +0 -197
  258. package/esm2015/lib/timeline/timeline-grid/timeline-grid.component.js +0 -55
  259. package/esm2015/lib/timeline/timeline.component.js +0 -239
  260. package/esm2015/lib/user/user-login/user-login.component.js +0 -64
  261. package/esm2015/lib/user/user-register/user-register.component.js +0 -89
  262. package/esm2015/lib/wait-dialog/wait-dialog.component.js +0 -16
  263. package/esm2015/lib/warning-dialog/warning-dialog.component.js +0 -42
  264. package/esm2015/public_api.js +0 -7
  265. package/esm2015/rocketshow-designer.js +0 -61
  266. package/esm5/lib/array-sort-pipe.js +0 -31
  267. package/esm5/lib/designer.component.js +0 -468
  268. package/esm5/lib/designer.module.js +0 -120
  269. package/esm5/lib/designer.service.js +0 -17
  270. package/esm5/lib/effect/effect-curve/effect-curve.component.js +0 -386
  271. package/esm5/lib/effect/effect-pan-tilt/effect-pan-tilt.component.js +0 -31
  272. package/esm5/lib/effect/effect.component.js +0 -75
  273. package/esm5/lib/error-dialog/error-dialog.component.js +0 -43
  274. package/esm5/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.js +0 -159
  275. package/esm5/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.js +0 -130
  276. package/esm5/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.js +0 -215
  277. package/esm5/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.js +0 -61
  278. package/esm5/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.js +0 -88
  279. package/esm5/lib/fixture/fixture-capability/fixture-capability.component.js +0 -130
  280. package/esm5/lib/fixture/fixture-channel/fixture-channel.component.js +0 -68
  281. package/esm5/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.js +0 -306
  282. package/esm5/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.js +0 -32
  283. package/esm5/lib/fixture/fixture-settings/fixture-settings.component.js +0 -36
  284. package/esm5/lib/fixture/fixture.component.js +0 -71
  285. package/esm5/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.js +0 -127
  286. package/esm5/lib/fixture-pool/fixture-pool.component.js +0 -430
  287. package/esm5/lib/intro/intro.component.js +0 -26
  288. package/esm5/lib/master-dimmer/master-dimmer.component.js +0 -42
  289. package/esm5/lib/models/cached-fixture-capability.js +0 -11
  290. package/esm5/lib/models/cached-fixture-channel.js +0 -9
  291. package/esm5/lib/models/cached-fixture.js +0 -8
  292. package/esm5/lib/models/color.js +0 -10
  293. package/esm5/lib/models/composition.js +0 -60
  294. package/esm5/lib/models/effect-curve-profile-channel.js +0 -29
  295. package/esm5/lib/models/effect-curve.js +0 -95
  296. package/esm5/lib/models/effect-pan-tilt.js +0 -24
  297. package/esm5/lib/models/effect.js +0 -14
  298. package/esm5/lib/models/fixture-capability-value.js +0 -17
  299. package/esm5/lib/models/fixture-capability.js +0 -86
  300. package/esm5/lib/models/fixture-channel-value.js +0 -13
  301. package/esm5/lib/models/fixture-channel.js +0 -38
  302. package/esm5/lib/models/fixture-mode.js +0 -16
  303. package/esm5/lib/models/fixture-profile.js +0 -114
  304. package/esm5/lib/models/fixture-wheel-slot.js +0 -28
  305. package/esm5/lib/models/fixture-wheel.js +0 -29
  306. package/esm5/lib/models/fixture.js +0 -42
  307. package/esm5/lib/models/preset-region-scene.js +0 -10
  308. package/esm5/lib/models/preset.js +0 -90
  309. package/esm5/lib/models/project.js +0 -122
  310. package/esm5/lib/models/scene-playback-region.js +0 -13
  311. package/esm5/lib/models/scene.js +0 -29
  312. package/esm5/lib/models/universe.js +0 -13
  313. package/esm5/lib/preset/preset-settings/preset-settings.component.js +0 -67
  314. package/esm5/lib/preset/preset.component.js +0 -86
  315. package/esm5/lib/preview/models/color-changer-3d.js +0 -194
  316. package/esm5/lib/preview/models/fixture-3d.js +0 -196
  317. package/esm5/lib/preview/models/moving-head-3d.js +0 -250
  318. package/esm5/lib/preview/preview.component.js +0 -280
  319. package/esm5/lib/project/project-browser/project-browser.component.js +0 -77
  320. package/esm5/lib/project/project-import/project-import.component.js +0 -88
  321. package/esm5/lib/project/project-save/project-save.component.js +0 -120
  322. package/esm5/lib/project/project-share/project-share.component.js +0 -44
  323. package/esm5/lib/scene/scene-settings/scene-settings.component.js +0 -53
  324. package/esm5/lib/scene/scene.component.js +0 -57
  325. package/esm5/lib/services/animation.service.js +0 -18
  326. package/esm5/lib/services/config.service.js +0 -29
  327. package/esm5/lib/services/effect.service.js +0 -17
  328. package/esm5/lib/services/error-dialog.service.js +0 -46
  329. package/esm5/lib/services/fixture-pool.service.js +0 -36
  330. package/esm5/lib/services/fixture.service.js +0 -643
  331. package/esm5/lib/services/hotkey-target-exclude.service.js +0 -27
  332. package/esm5/lib/services/intro.service.js +0 -145
  333. package/esm5/lib/services/preset.service.js +0 -637
  334. package/esm5/lib/services/preview-mesh.service.js +0 -61
  335. package/esm5/lib/services/preview.service.js +0 -754
  336. package/esm5/lib/services/project-load.service.js +0 -185
  337. package/esm5/lib/services/project.service.js +0 -127
  338. package/esm5/lib/services/scene.service.js +0 -251
  339. package/esm5/lib/services/timeline.service.js +0 -845
  340. package/esm5/lib/services/universe.service.js +0 -36
  341. package/esm5/lib/services/user-ensure-login.service.js +0 -45
  342. package/esm5/lib/services/user.service.js +0 -95
  343. package/esm5/lib/services/uuid.service.js +0 -26
  344. package/esm5/lib/services/warning-dialog.service.js +0 -45
  345. package/esm5/lib/timeline/composition-settings/composition-settings.component.js +0 -206
  346. package/esm5/lib/timeline/timeline-grid/timeline-grid.component.js +0 -56
  347. package/esm5/lib/timeline/timeline.component.js +0 -243
  348. package/esm5/lib/user/user-login/user-login.component.js +0 -66
  349. package/esm5/lib/user/user-register/user-register.component.js +0 -91
  350. package/esm5/lib/wait-dialog/wait-dialog.component.js +0 -18
  351. package/esm5/lib/warning-dialog/warning-dialog.component.js +0 -43
  352. package/esm5/public_api.js +0 -7
  353. package/esm5/rocketshow-designer.js +0 -61
  354. package/fesm2015/rocketshow-designer.js +0 -7945
  355. package/fesm2015/rocketshow-designer.js.map +0 -1
  356. package/fesm5/rocketshow-designer.js +0 -9690
  357. package/fesm5/rocketshow-designer.js.map +0 -1
  358. package/lib/models/universe.d.ts +0 -8
  359. package/lib/services/universe.service.d.ts +0 -6
  360. package/rocketshow-designer-1.32.0.tgz +0 -0
  361. package/rocketshow-designer.d.ts +0 -60
  362. package/rocketshow-designer.metadata.json +0 -1
@@ -0,0 +1,178 @@
1
+ import { Component, HostListener } from '@angular/core';
2
+ import { BsModalRef } from 'ngx-bootstrap/modal';
3
+ import { map } from 'rxjs/operators';
4
+ import { ConfigService } from '../../services/config.service';
5
+ import { ProjectService } from '../../services/project.service';
6
+ import { WarningDialogService } from '../../services/warning-dialog.service';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "ngx-bootstrap/modal";
9
+ import * as i2 from "../../services/project.service";
10
+ import * as i3 from "../../services/warning-dialog.service";
11
+ import * as i4 from "../../services/config.service";
12
+ import * as i5 from "@angular/common";
13
+ import * as i6 from "@angular/forms";
14
+ import * as i7 from "@ngx-translate/core";
15
+ import * as i8 from "../../array-sort-pipe";
16
+ function ProjectSaveComponent_div_14_Template(rf, ctx) { if (rf & 1) {
17
+ i0.ɵɵelementStart(0, "div", 14)(1, "p", 15);
18
+ i0.ɵɵelement(2, "i", 16);
19
+ i0.ɵɵelementEnd()();
20
+ } }
21
+ function ProjectSaveComponent_div_15_div_1_Template(rf, ctx) { if (rf & 1) {
22
+ const _r1 = i0.ɵɵgetCurrentView();
23
+ i0.ɵɵelementStart(0, "div", 19)(1, "div", 20)(2, "div", 21)(3, "a", 22);
24
+ i0.ɵɵlistener("click", function ProjectSaveComponent_div_15_div_1_Template_a_click_3_listener() { const project_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); ctx_r2.selectProject(project_r2); return i0.ɵɵresetView(false); });
25
+ i0.ɵɵelementStart(4, "p", 23);
26
+ i0.ɵɵtext(5);
27
+ i0.ɵɵelementEnd()()();
28
+ i0.ɵɵelementStart(6, "div", 24)(7, "div", 25);
29
+ i0.ɵɵlistener("click", function ProjectSaveComponent_div_15_div_1_Template_div_click_7_listener() { const project_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); ctx_r2.deleteProject(project_r2); return i0.ɵɵresetView(false); });
30
+ i0.ɵɵelement(8, "i", 26);
31
+ i0.ɵɵelementEnd()()()();
32
+ } if (rf & 2) {
33
+ const project_r2 = ctx.$implicit;
34
+ i0.ɵɵadvance(5);
35
+ i0.ɵɵtextInterpolate(project_r2.name);
36
+ } }
37
+ function ProjectSaveComponent_div_15_Template(rf, ctx) { if (rf & 1) {
38
+ i0.ɵɵelementStart(0, "div", 17);
39
+ i0.ɵɵtemplate(1, ProjectSaveComponent_div_15_div_1_Template, 9, 1, "div", 18);
40
+ i0.ɵɵpipe(2, "sort");
41
+ i0.ɵɵelementEnd();
42
+ } if (rf & 2) {
43
+ const ctx_r2 = i0.ɵɵnextContext();
44
+ i0.ɵɵadvance();
45
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(2, 1, ctx_r2.projects, "name"));
46
+ } }
47
+ export class ProjectSaveComponent {
48
+ constructor(bsModalRef, projectService, warningDialogService, configService) {
49
+ this.bsModalRef = bsModalRef;
50
+ this.projectService = projectService;
51
+ this.warningDialogService = warningDialogService;
52
+ this.configService = configService;
53
+ this.projects = [];
54
+ this.loading = true;
55
+ this.loadProjects();
56
+ if (this.projectService.project.name) {
57
+ this.projectName = this.projectService.project.name;
58
+ }
59
+ else {
60
+ this.projectName = 'New Project';
61
+ }
62
+ }
63
+ ngOnInit() { }
64
+ loadProjects() {
65
+ this.projectService.getAllProjects().subscribe((projects) => {
66
+ this.projects = projects;
67
+ this.loading = false;
68
+ });
69
+ }
70
+ cancel() {
71
+ this.bsModalRef.hide();
72
+ }
73
+ selectProject(project) {
74
+ this.projectService.project.name = project.name;
75
+ }
76
+ existingProject(uuid, name) {
77
+ for (const project of this.projects) {
78
+ if (project.name === name && project.uuid !== uuid) {
79
+ return true;
80
+ }
81
+ }
82
+ return false;
83
+ }
84
+ doSave() {
85
+ this.projectService.project.name = this.projectName;
86
+ this.projectService.save(this.projectService.project);
87
+ this.bsModalRef.hide();
88
+ }
89
+ saveProject() {
90
+ if (this.existingProject(this.projectService.project.uuid, this.projectName) && this.configService.uniqueProjectNames) {
91
+ this.warningDialogService
92
+ .show('designer.project.overwrite-warning')
93
+ .pipe(map((result) => {
94
+ if (result) {
95
+ this.doSave();
96
+ }
97
+ }))
98
+ .subscribe();
99
+ }
100
+ else {
101
+ this.doSave();
102
+ }
103
+ }
104
+ deleteProject(project) {
105
+ this.warningDialogService
106
+ .show('designer.project.delete-warning')
107
+ .pipe(map((result) => {
108
+ if (result) {
109
+ this.projectService.deleteProject(project).subscribe((projects) => {
110
+ this.loadProjects();
111
+ });
112
+ }
113
+ }))
114
+ .subscribe();
115
+ }
116
+ handleKeyboardEvent(event) {
117
+ this.saveProject();
118
+ }
119
+ static { this.ɵfac = function ProjectSaveComponent_Factory(t) { return new (t || ProjectSaveComponent)(i0.ɵɵdirectiveInject(i1.BsModalRef), i0.ɵɵdirectiveInject(i2.ProjectService), i0.ɵɵdirectiveInject(i3.WarningDialogService), i0.ɵɵdirectiveInject(i4.ConfigService)); }; }
120
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProjectSaveComponent, selectors: [["lib-project-save"]], hostBindings: function ProjectSaveComponent_HostBindings(rf, ctx) { if (rf & 1) {
121
+ i0.ɵɵlistener("keydown.enter", function ProjectSaveComponent_keydown_enter_HostBindingHandler($event) { return ctx.handleKeyboardEvent($event); }, false, i0.ɵɵresolveDocument);
122
+ } }, decls: 23, vars: 16, consts: [[1, "modal-header"], [1, "modal-title", "pull-left"], ["type", "button", "aria-label", "Close", 1, "close", "pull-right", 3, "click"], ["aria-hidden", "true"], [1, "modal-body", "p-0"], [1, "form-group", "row", "p-3", "mb-0"], [1, "col-lg-4", "col-form-label"], [1, "col-lg-8"], ["type", "text", 1, "form-control", 3, "ngModelChange", "ngModel"], ["class", "m-2 d-flex w-100", 4, "ngIf"], ["class", "list-group list-group-flush", "style", "max-height: 500px; overflow-y: scroll", 4, "ngIf"], [1, "modal-footer"], ["href", "#", "role", "button", 1, "mr-3", "my-auto", 3, "click"], ["type", "button", 1, "btn", "btn-primary", 3, "click", "disabled"], [1, "m-2", "d-flex", "w-100"], [1, "w-100", 2, "text-align", "center"], [1, "fa", "fa-spinner", "fa-pulse", "fa-fw"], [1, "list-group", "list-group-flush", 2, "max-height", "500px", "overflow-y", "scroll"], ["class", "list-group-item", 4, "ngFor", "ngForOf"], [1, "list-group-item"], [1, "row"], [1, "col-auto", "my-auto", "flex-grow"], ["href", "#", 3, "click"], [1, "mb-0", "w-100"], [1, "my-auto"], [1, "col-auto", "my-auto", "pl-0", "text-danger", "float-right", 2, "cursor", "pointer", 3, "click"], ["aria-hidden", "true", 1, "fa", "fa-trash-o"]], template: function ProjectSaveComponent_Template(rf, ctx) { if (rf & 1) {
123
+ i0.ɵɵelementStart(0, "div", 0)(1, "h4", 1);
124
+ i0.ɵɵtext(2);
125
+ i0.ɵɵpipe(3, "translate");
126
+ i0.ɵɵelementEnd();
127
+ i0.ɵɵelementStart(4, "button", 2);
128
+ i0.ɵɵlistener("click", function ProjectSaveComponent_Template_button_click_4_listener() { ctx.cancel(); return false; });
129
+ i0.ɵɵelementStart(5, "span", 3);
130
+ i0.ɵɵtext(6, "\u00D7");
131
+ i0.ɵɵelementEnd()()();
132
+ i0.ɵɵelementStart(7, "div", 4)(8, "div", 5)(9, "label", 6);
133
+ i0.ɵɵtext(10);
134
+ i0.ɵɵpipe(11, "translate");
135
+ i0.ɵɵelementEnd();
136
+ i0.ɵɵelementStart(12, "div", 7)(13, "input", 8);
137
+ i0.ɵɵlistener("ngModelChange", function ProjectSaveComponent_Template_input_ngModelChange_13_listener($event) { return ctx.projectName = $event; });
138
+ i0.ɵɵelementEnd()()();
139
+ i0.ɵɵtemplate(14, ProjectSaveComponent_div_14_Template, 3, 0, "div", 9)(15, ProjectSaveComponent_div_15_Template, 3, 4, "div", 10);
140
+ i0.ɵɵelementEnd();
141
+ i0.ɵɵelementStart(16, "div", 11)(17, "a", 12);
142
+ i0.ɵɵlistener("click", function ProjectSaveComponent_Template_a_click_17_listener() { ctx.cancel(); return false; });
143
+ i0.ɵɵtext(18);
144
+ i0.ɵɵpipe(19, "translate");
145
+ i0.ɵɵelementEnd();
146
+ i0.ɵɵelementStart(20, "button", 13);
147
+ i0.ɵɵlistener("click", function ProjectSaveComponent_Template_button_click_20_listener() { ctx.saveProject(); return false; });
148
+ i0.ɵɵtext(21);
149
+ i0.ɵɵpipe(22, "translate");
150
+ i0.ɵɵelementEnd()();
151
+ } if (rf & 2) {
152
+ i0.ɵɵadvance(2);
153
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "designer.project.save-title"));
154
+ i0.ɵɵadvance(8);
155
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 10, "designer.project.name"));
156
+ i0.ɵɵadvance(3);
157
+ i0.ɵɵproperty("ngModel", ctx.projectName);
158
+ i0.ɵɵadvance();
159
+ i0.ɵɵproperty("ngIf", ctx.loading);
160
+ i0.ɵɵadvance();
161
+ i0.ɵɵproperty("ngIf", !ctx.loading);
162
+ i0.ɵɵadvance(3);
163
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(19, 12, "designer.misc.cancel"), " ");
164
+ i0.ɵɵadvance(2);
165
+ i0.ɵɵproperty("disabled", ctx.loading || !ctx.projectName);
166
+ i0.ɵɵadvance();
167
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(22, 14, "designer.misc.ok"), " ");
168
+ } }, dependencies: [i5.NgForOf, i5.NgIf, i6.DefaultValueAccessor, i6.NgControlStatus, i6.NgModel, i7.TranslatePipe, i8.ArraySortPipe] }); }
169
+ }
170
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ProjectSaveComponent, [{
171
+ type: Component,
172
+ args: [{ selector: 'lib-project-save', template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{ 'designer.project.save-title' | translate }}</h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"cancel(); (false)\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n</div>\n<div class=\"modal-body p-0\">\n <!-- The name of the current project -->\n <div class=\"form-group row p-3 mb-0\">\n <label class=\"col-lg-4 col-form-label\">{{ 'designer.project.name' | translate }}</label>\n <div class=\"col-lg-8\">\n <input type=\"text\" class=\"form-control\" [ngModel]=\"projectName\" (ngModelChange)=\"projectName = $event\" />\n </div>\n </div>\n\n <!-- List existing projects -->\n <div *ngIf=\"loading\" class=\"m-2 d-flex w-100\">\n <p class=\"w-100\" style=\"text-align: center\"><i class=\"fa fa-spinner fa-pulse fa-fw\"></i></p>\n </div>\n <div *ngIf=\"!loading\" class=\"list-group list-group-flush\" style=\"max-height: 500px; overflow-y: scroll\">\n <div class=\"list-group-item\" *ngFor=\"let project of projects | sort: 'name'\">\n <div class=\"row\">\n <div class=\"col-auto my-auto flex-grow\">\n <a href=\"#\" (click)=\"selectProject(project); (false)\">\n <p class=\"mb-0 w-100\">{{ project.name }}</p>\n </a>\n </div>\n <div class=\"my-auto\">\n <div class=\"col-auto my-auto pl-0 text-danger float-right\" style=\"cursor: pointer\" (click)=\"deleteProject(project); (false)\">\n <i class=\"fa fa-trash-o\" aria-hidden=\"true\"></i>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"modal-footer\">\n <a class=\"mr-3 my-auto\" href=\"#\" role=\"button\" (click)=\"cancel(); (false)\">\n {{ 'designer.misc.cancel' | translate }}\n </a>\n <button [disabled]=\"loading || !projectName\" (click)=\"saveProject(); (false)\" type=\"button\" class=\"btn btn-primary\">\n {{ 'designer.misc.ok' | translate }}\n </button>\n</div>\n" }]
173
+ }], () => [{ type: i1.BsModalRef }, { type: i2.ProjectService }, { type: i3.WarningDialogService }, { type: i4.ConfigService }], { handleKeyboardEvent: [{
174
+ type: HostListener,
175
+ args: ['document:keydown.enter', ['$event']]
176
+ }] }); })();
177
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProjectSaveComponent, { className: "ProjectSaveComponent" }); })();
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1zYXZlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvcHJvamVjdC9wcm9qZWN0LXNhdmUvcHJvamVjdC1zYXZlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvcHJvamVjdC9wcm9qZWN0LXNhdmUvcHJvamVjdC1zYXZlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7Ozs7SUNXekUsQUFERiwrQkFBOEMsWUFDQTtJQUFBLHdCQUE0QztJQUMxRixBQUQwRixpQkFBSSxFQUN4Rjs7OztJQUtFLEFBREYsQUFERixBQURGLCtCQUE2RSxjQUMxRCxjQUN5QixZQUNnQjtJQUExQywwTEFBUyxnQ0FBc0Isd0JBQUcsS0FBSyxLQUFFO0lBQ25ELDZCQUFzQjtJQUFBLFlBQWtCO0lBRTVDLEFBREUsQUFEMEMsaUJBQUksRUFDMUMsRUFDQTtJQUVKLEFBREYsK0JBQXFCLGNBQzBHO0lBQTFDLDRMQUFTLGdDQUFzQix3QkFBRyxLQUFLLEtBQUU7SUFDMUgsd0JBQWdEO0lBSXhELEFBREUsQUFERSxBQURFLGlCQUFNLEVBQ0YsRUFDRixFQUNGOzs7SUFUd0IsZUFBa0I7SUFBbEIscUNB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L0MseUVBQStDO1lBUXhDLGVBQXlDO1lBQXpDLHFFQUF5QztZQUV0QyxlQUF1QjtZQUF2Qix5Q0FBdUI7WUFLN0QsY0FBYTtZQUFiLGtDQUFhO1lBR2IsY0FBYztZQUFkLG1DQUFjO1lBbUJsQixlQUNGO1lBREUsK0VBQ0Y7WUFDUSxlQUFvQztZQUFwQywwREFBb0M7WUFDMUMsY0FDRjtZQURFLDJFQUNGOzs7aUZEN0JXLG9CQUFvQjtjQUxoQyxTQUFTOzJCQUNFLGtCQUFrQjt1SUF3RjVCLG1CQUFtQjtrQkFEbEIsWUFBWTttQkFBQyx3QkFBd0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7a0ZBbkZ2QyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Byb2plY3QnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2plY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvamVjdC5zZXJ2aWNlJztcbmltcG9ydCB7IFdhcm5pbmdEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2FybmluZy1kaWFsb2cuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1wcm9qZWN0LXNhdmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvamVjdC1zYXZlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvamVjdC1zYXZlLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvamVjdFNhdmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm9qZWN0czogUHJvamVjdFtdID0gW107XG4gIGxvYWRpbmcgPSB0cnVlO1xuICBwcm9qZWN0TmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYnNNb2RhbFJlZjogQnNNb2RhbFJlZixcbiAgICBwcml2YXRlIHByb2plY3RTZXJ2aWNlOiBQcm9qZWN0U2VydmljZSxcbiAgICBwcml2YXRlIHdhcm5pbmdEaWFsb2dTZXJ2aWNlOiBXYXJuaW5nRGlhbG9nU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5sb2FkUHJvamVjdHMoKTtcbiAgICBpZiAodGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0Lm5hbWUpIHtcbiAgICAgIHRoaXMucHJvamVjdE5hbWUgPSB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3QubmFtZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm9qZWN0TmFtZSA9ICdOZXcgUHJvamVjdCc7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIHByaXZhdGUgbG9hZFByb2plY3RzKCkge1xuICAgIHRoaXMucHJvamVjdFNlcnZpY2UuZ2V0QWxsUHJvamVjdHMoKS5zdWJzY3JpYmUoKHByb2plY3RzKSA9PiB7XG4gICAgICB0aGlzLnByb2plY3RzID0gcHJvamVjdHM7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICB9XG5cbiAgc2VsZWN0UHJvamVjdChwcm9qZWN0OiBQcm9qZWN0KSB7XG4gICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0Lm5hbWUgPSBwcm9qZWN0Lm5hbWU7XG4gIH1cblxuICBwcml2YXRlIGV4aXN0aW5nUHJvamVjdCh1dWlkOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIGZvciAoY29uc3QgcHJvamVjdCBvZiB0aGlzLnByb2plY3RzKSB7XG4gICAgICBpZiAocHJvamVjdC5uYW1lID09PSBuYW1lICYmIHByb2plY3QudXVpZCAhPT0gdXVpZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBkb1NhdmUoKSB7XG4gICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0Lm5hbWUgPSB0aGlzLnByb2plY3ROYW1lO1xuICAgIHRoaXMucHJvamVjdFNlcnZpY2Uuc2F2ZSh0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3QpO1xuICAgIHRoaXMuYnNNb2RhbFJlZi5oaWRlKCk7XG4gIH1cblxuICBzYXZlUHJvamVjdCgpIHtcbiAgICBpZiAodGhpcy5leGlzdGluZ1Byb2plY3QodGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnV1aWQsIHRoaXMucHJvamVjdE5hbWUpICYmIHRoaXMuY29uZmlnU2VydmljZS51bmlxdWVQcm9qZWN0TmFtZXMpIHtcbiAgICAgIHRoaXMud2FybmluZ0RpYWxvZ1NlcnZpY2VcbiAgICAgICAgLnNob3coJ2Rlc2lnbmVyLnByb2plY3Qub3ZlcndyaXRlLXdhcm5pbmcnKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICB0aGlzLmRvU2F2ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRvU2F2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIGRlbGV0ZVByb2plY3QocHJvamVjdDogUHJvamVjdCkge1xuICAgIHRoaXMud2FybmluZ0RpYWxvZ1NlcnZpY2VcbiAgICAgIC5zaG93KCdkZXNpZ25lci5wcm9qZWN0LmRlbGV0ZS13YXJuaW5nJylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgIHRoaXMucHJvamVjdFNlcnZpY2UuZGVsZXRlUHJvamVjdChwcm9qZWN0KS5zdWJzY3JpYmUoKHByb2plY3RzKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubG9hZFByb2plY3RzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVudGVyJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogYW55KSB7XG4gICAgdGhpcy5zYXZlUHJvamVjdCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gIDxoNCBjbGFzcz1cIm1vZGFsLXRpdGxlIHB1bGwtbGVmdFwiPnt7ICdkZXNpZ25lci5wcm9qZWN0LnNhdmUtdGl0bGUnIHwgdHJhbnNsYXRlIH19PC9oND5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZSBwdWxsLXJpZ2h0XCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cImNhbmNlbCgpOyAoZmFsc2UpXCI+XG4gICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnRpbWVzOzwvc3Bhbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IHAtMFwiPlxuICA8IS0tIFRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IHByb2plY3QgLS0+XG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvdyBwLTMgbWItMFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1sZy00IGNvbC1mb3JtLWxhYmVsXCI+e3sgJ2Rlc2lnbmVyLnByb2plY3QubmFtZScgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctOFwiPlxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbbmdNb2RlbF09XCJwcm9qZWN0TmFtZVwiIChuZ01vZGVsQ2hhbmdlKT1cInByb2plY3ROYW1lID0gJGV2ZW50XCIgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBMaXN0IGV4aXN0aW5nIHByb2plY3RzIC0tPlxuICA8ZGl2ICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwibS0yIGQtZmxleCB3LTEwMFwiPlxuICAgIDxwIGNsYXNzPVwidy0xMDBcIiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPjxpIGNsYXNzPVwiZmEgZmEtc3Bpbm5lciBmYS1wdWxzZSBmYS1md1wiPjwvaT48L3A+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmdcIiBjbGFzcz1cImxpc3QtZ3JvdXAgbGlzdC1ncm91cC1mbHVzaFwiIHN0eWxlPVwibWF4LWhlaWdodDogNTAwcHg7IG92ZXJmbG93LXk6IHNjcm9sbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW1cIiAqbmdGb3I9XCJsZXQgcHJvamVjdCBvZiBwcm9qZWN0cyB8IHNvcnQ6ICduYW1lJ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG8gbXktYXV0byBmbGV4LWdyb3dcIj5cbiAgICAgICAgICA8YSBocmVmPVwiI1wiIChjbGljayk9XCJzZWxlY3RQcm9qZWN0KHByb2plY3QpOyAoZmFsc2UpXCI+XG4gICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTAgdy0xMDBcIj57eyBwcm9qZWN0Lm5hbWUgfX08L3A+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm15LWF1dG9cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG8gbXktYXV0byBwbC0wIHRleHQtZGFuZ2VyIGZsb2F0LXJpZ2h0XCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIiAoY2xpY2spPVwiZGVsZXRlUHJvamVjdChwcm9qZWN0KTsgKGZhbHNlKVwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10cmFzaC1vXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxuICA8YSBjbGFzcz1cIm1yLTMgbXktYXV0b1wiIGhyZWY9XCIjXCIgcm9sZT1cImJ1dHRvblwiIChjbGljayk9XCJjYW5jZWwoKTsgKGZhbHNlKVwiPlxuICAgIHt7ICdkZXNpZ25lci5taXNjLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9hPlxuICA8YnV0dG9uIFtkaXNhYmxlZF09XCJsb2FkaW5nIHx8ICFwcm9qZWN0TmFtZVwiIChjbGljayk9XCJzYXZlUHJvamVjdCgpOyAoZmFsc2UpXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+XG4gICAge3sgJ2Rlc2lnbmVyLm1pc2Mub2snIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,71 @@
1
+ import { Component, HostListener } from '@angular/core';
2
+ import { BsModalRef } from 'ngx-bootstrap/modal';
3
+ import { ProjectService } from '../../services/project.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "ngx-bootstrap/modal";
6
+ import * as i2 from "../../services/project.service";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "@ngx-translate/core";
9
+ export class ProjectShareComponent {
10
+ constructor(bsModalRef, projectService) {
11
+ this.bsModalRef = bsModalRef;
12
+ this.projectService = projectService;
13
+ }
14
+ ngOnInit() {
15
+ this.shareLink =
16
+ window.location.host + '/designer?id=' + this.projectService.project.id + '&token=' + this.projectService.project.shareToken;
17
+ }
18
+ ok() {
19
+ this.bsModalRef.hide();
20
+ }
21
+ cancel() {
22
+ this.bsModalRef.hide();
23
+ }
24
+ handleKeyboardEvent(event) {
25
+ this.ok();
26
+ }
27
+ static { this.ɵfac = function ProjectShareComponent_Factory(t) { return new (t || ProjectShareComponent)(i0.ɵɵdirectiveInject(i1.BsModalRef), i0.ɵɵdirectiveInject(i2.ProjectService)); }; }
28
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProjectShareComponent, selectors: [["lib-project-share"]], hostBindings: function ProjectShareComponent_HostBindings(rf, ctx) { if (rf & 1) {
29
+ i0.ɵɵlistener("keydown.enter", function ProjectShareComponent_keydown_enter_HostBindingHandler($event) { return ctx.handleKeyboardEvent($event); }, false, i0.ɵɵresolveDocument);
30
+ } }, decls: 18, vars: 10, consts: [[1, "modal-header"], [1, "modal-title", "pull-left"], ["type", "button", "aria-label", "Close", 1, "close", "pull-right", 3, "click"], ["aria-hidden", "true"], [1, "modal-body"], [1, "form-group", "row"], [1, "col-lg-4", "col-form-label"], [1, "col-lg-8", "d-flex"], ["type", "text", "readonly", "", 1, "form-control", 3, "ngModel"], [1, "modal-footer"], ["type", "button", 1, "btn", "btn-primary", 3, "click"]], template: function ProjectShareComponent_Template(rf, ctx) { if (rf & 1) {
31
+ i0.ɵɵelementStart(0, "div", 0)(1, "h4", 1);
32
+ i0.ɵɵtext(2);
33
+ i0.ɵɵpipe(3, "translate");
34
+ i0.ɵɵelementEnd();
35
+ i0.ɵɵelementStart(4, "button", 2);
36
+ i0.ɵɵlistener("click", function ProjectShareComponent_Template_button_click_4_listener() { return ctx.bsModalRef.hide(); });
37
+ i0.ɵɵelementStart(5, "span", 3);
38
+ i0.ɵɵtext(6, "\u00D7");
39
+ i0.ɵɵelementEnd()()();
40
+ i0.ɵɵelementStart(7, "div", 4)(8, "div", 5)(9, "label", 6);
41
+ i0.ɵɵtext(10);
42
+ i0.ɵɵpipe(11, "translate");
43
+ i0.ɵɵelementEnd();
44
+ i0.ɵɵelementStart(12, "div", 7);
45
+ i0.ɵɵelement(13, "input", 8);
46
+ i0.ɵɵelementEnd()()();
47
+ i0.ɵɵelementStart(14, "div", 9)(15, "button", 10);
48
+ i0.ɵɵlistener("click", function ProjectShareComponent_Template_button_click_15_listener() { return ctx.ok(); });
49
+ i0.ɵɵtext(16);
50
+ i0.ɵɵpipe(17, "translate");
51
+ i0.ɵɵelementEnd()();
52
+ } if (rf & 2) {
53
+ i0.ɵɵadvance(2);
54
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 4, "designer.project.share-title"));
55
+ i0.ɵɵadvance(8);
56
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 6, "designer.project.share-link"));
57
+ i0.ɵɵadvance(3);
58
+ i0.ɵɵproperty("ngModel", ctx.shareLink);
59
+ i0.ɵɵadvance(3);
60
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(17, 8, "designer.misc.ok"));
61
+ } }, dependencies: [i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgModel, i4.TranslatePipe] }); }
62
+ }
63
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ProjectShareComponent, [{
64
+ type: Component,
65
+ args: [{ selector: 'lib-project-share', template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{ 'designer.project.share-title' | translate }}</h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n</div>\n<div class=\"modal-body\">\n <div class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\">{{ 'designer.project.share-link' | translate }}</label>\n <div class=\"col-lg-8 d-flex\">\n <input type=\"text\" class=\"form-control\" [ngModel]=\"shareLink\" readonly />\n </div>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"ok()\">{{ 'designer.misc.ok' | translate }}</button>\n</div>\n" }]
66
+ }], () => [{ type: i1.BsModalRef }, { type: i2.ProjectService }], { handleKeyboardEvent: [{
67
+ type: HostListener,
68
+ args: ['document:keydown.enter', ['$event']]
69
+ }] }); })();
70
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProjectShareComponent, { className: "ProjectShareComponent" }); })();
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1zaGFyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL3Byb2plY3QvcHJvamVjdC1zaGFyZS9wcm9qZWN0LXNoYXJlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvcHJvamVjdC9wcm9qZWN0LXNoYXJlL3Byb2plY3Qtc2hhcmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7O0FBT2hFLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFBbUIsVUFBc0IsRUFBVSxjQUE4QjtRQUE5RCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQUcsQ0FBQztJQUVyRixRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVM7WUFDWixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDakksQ0FBQztJQUVELEVBQUU7UUFDQSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBR0QsbUJBQW1CLENBQUMsS0FBVTtRQUM1QixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDWixDQUFDO3NGQXJCVSxxQkFBcUI7b0VBQXJCLHFCQUFxQjtZQUFyQixnSEFBQSwrQkFBMkIsaUNBQU47O1lDUmhDLEFBREYsOEJBQTBCLFlBQ1U7WUFBQSxZQUFnRDs7WUFBQSxpQkFBSztZQUN2RixpQ0FBOEY7WUFBNUIsa0dBQVMscUJBQWlCLElBQUM7WUFDM0YsK0JBQXlCO1lBQUEsc0JBQU87WUFFcEMsQUFERSxBQURrQyxpQkFBTyxFQUNoQyxFQUNMO1lBR0YsQUFERixBQURGLDhCQUF3QixhQUNNLGVBQ2E7WUFBQSxhQUErQzs7WUFBQSxpQkFBUTtZQUM5RiwrQkFBNkI7WUFDM0IsNEJBQXlFO1lBRy9FLEFBREUsQUFERSxpQkFBTSxFQUNGLEVBQ0Y7WUFFSixBQURGLCtCQUEwQixrQkFDcUM7WUFBZixtR0FBUyxRQUFJLElBQUM7WUFBQyxhQUFvQzs7WUFDbkcsQUFEbUcsaUJBQVMsRUFDdEc7O1lBZjhCLGVBQWdEO1lBQWhELDBFQUFnRDtZQU96QyxlQUErQztZQUEvQywwRUFBK0M7WUFFNUMsZUFBcUI7WUFBckIsdUNBQXFCO1lBS0osZUFBb0M7WUFBcEMsK0RBQW9DOzs7aUZETnRGLHFCQUFxQjtjQUxqQyxTQUFTOzJCQUNFLG1CQUFtQjt3RUF1QjdCLG1CQUFtQjtrQkFEbEIsWUFBWTttQkFBQyx3QkFBd0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7a0ZBbEJ2QyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBQcm9qZWN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2plY3Quc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1wcm9qZWN0LXNoYXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2plY3Qtc2hhcmUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9qZWN0LXNoYXJlLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvamVjdFNoYXJlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgc2hhcmVMaW5rOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGJzTW9kYWxSZWY6IEJzTW9kYWxSZWYsIHByaXZhdGUgcHJvamVjdFNlcnZpY2U6IFByb2plY3RTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2hhcmVMaW5rID1cbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ob3N0ICsgJy9kZXNpZ25lcj9pZD0nICsgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LmlkICsgJyZ0b2tlbj0nICsgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnNoYXJlVG9rZW47XG4gIH1cblxuICBvaygpIHtcbiAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuYnNNb2RhbFJlZi5oaWRlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVudGVyJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogYW55KSB7XG4gICAgdGhpcy5vaygpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gIDxoNCBjbGFzcz1cIm1vZGFsLXRpdGxlIHB1bGwtbGVmdFwiPnt7ICdkZXNpZ25lci5wcm9qZWN0LnNoYXJlLXRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2UgcHVsbC1yaWdodFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJic01vZGFsUmVmLmhpZGUoKVwiPlxuICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJjb2wtbGctNCBjb2wtZm9ybS1sYWJlbFwiPnt7ICdkZXNpZ25lci5wcm9qZWN0LnNoYXJlLWxpbmsnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTggZC1mbGV4XCI+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtuZ01vZGVsXT1cInNoYXJlTGlua1wiIHJlYWRvbmx5IC8+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cIm9rKClcIj57eyAnZGVzaWduZXIubWlzYy5vaycgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,146 @@
1
+ import { Component, HostListener } from '@angular/core';
2
+ import { BsModalRef } from 'ngx-bootstrap/modal';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "ngx-bootstrap/modal";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "@ngx-translate/core";
7
+ export class SceneSettingsComponent {
8
+ constructor(bsModalRef) {
9
+ this.bsModalRef = bsModalRef;
10
+ }
11
+ ngOnInit() {
12
+ this.name = this.scene.name;
13
+ this.fadeInMillis = this.scene.fadeInMillis;
14
+ this.fadeOutMillis = this.scene.fadeOutMillis;
15
+ this.fadeInPre = this.scene.fadeInPre;
16
+ this.fadeOutPost = this.scene.fadeOutPost;
17
+ }
18
+ ok() {
19
+ this.scene.name = this.name;
20
+ if (!isNaN(this.fadeInMillis) && this.fadeInMillis >= 0) {
21
+ this.scene.fadeInMillis = +this.fadeInMillis;
22
+ }
23
+ if (!isNaN(this.fadeOutMillis) && this.fadeOutMillis >= 0) {
24
+ this.scene.fadeOutMillis = +this.fadeOutMillis;
25
+ }
26
+ this.scene.fadeInPre = this.fadeInPre;
27
+ this.scene.fadeOutPost = this.fadeOutPost;
28
+ this.bsModalRef.hide();
29
+ }
30
+ cancel() {
31
+ this.bsModalRef.hide();
32
+ }
33
+ handleKeyboardEvent(event) {
34
+ this.ok();
35
+ }
36
+ static { this.ɵfac = function SceneSettingsComponent_Factory(t) { return new (t || SceneSettingsComponent)(i0.ɵɵdirectiveInject(i1.BsModalRef)); }; }
37
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SceneSettingsComponent, selectors: [["lib-scene-settings"]], hostBindings: function SceneSettingsComponent_HostBindings(rf, ctx) { if (rf & 1) {
38
+ i0.ɵɵlistener("keydown.enter", function SceneSettingsComponent_keydown_enter_HostBindingHandler($event) { return ctx.handleKeyboardEvent($event); }, false, i0.ɵɵresolveDocument);
39
+ } }, decls: 56, vars: 33, consts: [[1, "modal-header"], [1, "modal-title", "pull-left"], ["type", "button", "aria-label", "Close", 1, "close", "pull-right", 3, "click"], ["aria-hidden", "true"], [1, "modal-body"], [1, "form-group", "row"], [1, "col-lg-4", "col-form-label"], [1, "col-lg-7"], ["type", "text", 1, "form-control", 3, "ngModelChange", "ngModel"], [1, "col-lg-1", "d-flex", "p-0"], [1, "my-auto"], [1, "col-lg-8", "d-flex"], [1, "form-check", "my-auto"], ["type", "checkbox", "id", "fadeInPre", 1, "form-check-input", 3, "ngModelChange", "ngModel"], ["for", "fadeInPre", 1, "form-check-label"], ["type", "checkbox", "id", "fadeOutPost", 1, "form-check-input", 3, "ngModelChange", "ngModel"], ["for", "fadeOutPost", 1, "form-check-label"], [1, "modal-footer"], ["href", "#", "role", "button", 1, "mr-3", "my-auto", 3, "click"], ["type", "button", 1, "btn", "btn-primary", 3, "click"]], template: function SceneSettingsComponent_Template(rf, ctx) { if (rf & 1) {
40
+ i0.ɵɵelementStart(0, "div", 0)(1, "h4", 1);
41
+ i0.ɵɵtext(2);
42
+ i0.ɵɵelementEnd();
43
+ i0.ɵɵelementStart(3, "button", 2);
44
+ i0.ɵɵlistener("click", function SceneSettingsComponent_Template_button_click_3_listener() { return ctx.bsModalRef.hide(); });
45
+ i0.ɵɵelementStart(4, "span", 3);
46
+ i0.ɵɵtext(5, "\u00D7");
47
+ i0.ɵɵelementEnd()()();
48
+ i0.ɵɵelementStart(6, "div", 4)(7, "div", 5)(8, "label", 6);
49
+ i0.ɵɵtext(9);
50
+ i0.ɵɵpipe(10, "translate");
51
+ i0.ɵɵelementEnd();
52
+ i0.ɵɵelementStart(11, "div", 7)(12, "input", 8);
53
+ i0.ɵɵlistener("ngModelChange", function SceneSettingsComponent_Template_input_ngModelChange_12_listener($event) { return ctx.name = $event; });
54
+ i0.ɵɵelementEnd()()();
55
+ i0.ɵɵelementStart(13, "div", 5)(14, "label", 6);
56
+ i0.ɵɵtext(15);
57
+ i0.ɵɵpipe(16, "translate");
58
+ i0.ɵɵelementEnd();
59
+ i0.ɵɵelementStart(17, "div", 7)(18, "input", 8);
60
+ i0.ɵɵlistener("ngModelChange", function SceneSettingsComponent_Template_input_ngModelChange_18_listener($event) { return ctx.fadeInMillis = $event; });
61
+ i0.ɵɵelementEnd()();
62
+ i0.ɵɵelementStart(19, "div", 9)(20, "div", 10);
63
+ i0.ɵɵtext(21);
64
+ i0.ɵɵpipe(22, "translate");
65
+ i0.ɵɵelementEnd()()();
66
+ i0.ɵɵelementStart(23, "div", 5);
67
+ i0.ɵɵelement(24, "label", 6);
68
+ i0.ɵɵelementStart(25, "div", 11)(26, "div", 12)(27, "input", 13);
69
+ i0.ɵɵlistener("ngModelChange", function SceneSettingsComponent_Template_input_ngModelChange_27_listener($event) { return ctx.fadeInPre = $event; });
70
+ i0.ɵɵelementEnd();
71
+ i0.ɵɵelementStart(28, "label", 14);
72
+ i0.ɵɵtext(29);
73
+ i0.ɵɵpipe(30, "translate");
74
+ i0.ɵɵelementEnd()()()();
75
+ i0.ɵɵelementStart(31, "div", 5)(32, "label", 6);
76
+ i0.ɵɵtext(33);
77
+ i0.ɵɵpipe(34, "translate");
78
+ i0.ɵɵelementEnd();
79
+ i0.ɵɵelementStart(35, "div", 7)(36, "input", 8);
80
+ i0.ɵɵlistener("ngModelChange", function SceneSettingsComponent_Template_input_ngModelChange_36_listener($event) { return ctx.fadeOutMillis = $event; });
81
+ i0.ɵɵelementEnd()();
82
+ i0.ɵɵelementStart(37, "div", 9)(38, "div", 10);
83
+ i0.ɵɵtext(39);
84
+ i0.ɵɵpipe(40, "translate");
85
+ i0.ɵɵelementEnd()()();
86
+ i0.ɵɵelementStart(41, "div", 5);
87
+ i0.ɵɵelement(42, "label", 6);
88
+ i0.ɵɵelementStart(43, "div", 11)(44, "div", 12)(45, "input", 15);
89
+ i0.ɵɵlistener("ngModelChange", function SceneSettingsComponent_Template_input_ngModelChange_45_listener($event) { return ctx.fadeOutPost = $event; });
90
+ i0.ɵɵelementEnd();
91
+ i0.ɵɵelementStart(46, "label", 16);
92
+ i0.ɵɵtext(47);
93
+ i0.ɵɵpipe(48, "translate");
94
+ i0.ɵɵelementEnd()()()()();
95
+ i0.ɵɵelementStart(49, "div", 17)(50, "a", 18);
96
+ i0.ɵɵlistener("click", function SceneSettingsComponent_Template_a_click_50_listener() { ctx.cancel(); return false; });
97
+ i0.ɵɵtext(51);
98
+ i0.ɵɵpipe(52, "translate");
99
+ i0.ɵɵelementEnd();
100
+ i0.ɵɵelementStart(53, "button", 19);
101
+ i0.ɵɵlistener("click", function SceneSettingsComponent_Template_button_click_53_listener() { return ctx.ok(); });
102
+ i0.ɵɵtext(54);
103
+ i0.ɵɵpipe(55, "translate");
104
+ i0.ɵɵelementEnd()();
105
+ } if (rf & 2) {
106
+ i0.ɵɵadvance(2);
107
+ i0.ɵɵtextInterpolate(ctx.name);
108
+ i0.ɵɵadvance(7);
109
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 15, "designer.preset.settings-name"));
110
+ i0.ɵɵadvance(3);
111
+ i0.ɵɵproperty("ngModel", ctx.name);
112
+ i0.ɵɵadvance(3);
113
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(16, 17, "designer.scene.settings-fade-in"));
114
+ i0.ɵɵadvance(3);
115
+ i0.ɵɵproperty("ngModel", ctx.fadeInMillis);
116
+ i0.ɵɵadvance(3);
117
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(22, 19, "designer.misc.ms"), " ");
118
+ i0.ɵɵadvance(6);
119
+ i0.ɵɵproperty("ngModel", ctx.fadeInPre);
120
+ i0.ɵɵadvance(2);
121
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(30, 21, "designer.scene.settings-fade-in-pre"), " ");
122
+ i0.ɵɵadvance(4);
123
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(34, 23, "designer.scene.settings-fade-out"));
124
+ i0.ɵɵadvance(3);
125
+ i0.ɵɵproperty("ngModel", ctx.fadeOutMillis);
126
+ i0.ɵɵadvance(3);
127
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(40, 25, "designer.misc.ms"), " ");
128
+ i0.ɵɵadvance(6);
129
+ i0.ɵɵproperty("ngModel", ctx.fadeOutPost);
130
+ i0.ɵɵadvance(2);
131
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(48, 27, "designer.scene.settings-fade-out-post"), " ");
132
+ i0.ɵɵadvance(4);
133
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(52, 29, "designer.misc.cancel"), " ");
134
+ i0.ɵɵadvance(3);
135
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(55, 31, "designer.misc.ok"));
136
+ } }, dependencies: [i2.DefaultValueAccessor, i2.CheckboxControlValueAccessor, i2.NgControlStatus, i2.NgModel, i3.TranslatePipe] }); }
137
+ }
138
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SceneSettingsComponent, [{
139
+ type: Component,
140
+ args: [{ selector: 'lib-scene-settings', template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{ name }}</h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n</div>\n<div class=\"modal-body\">\n <div class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\">{{ 'designer.preset.settings-name' | translate }}</label>\n <div class=\"col-lg-7\">\n <input type=\"text\" class=\"form-control\" [ngModel]=\"name\" (ngModelChange)=\"name = $event\" />\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\">{{ 'designer.scene.settings-fade-in' | translate }}</label>\n <div class=\"col-lg-7\">\n <input type=\"text\" class=\"form-control\" [ngModel]=\"fadeInMillis\" (ngModelChange)=\"fadeInMillis = $event\" />\n </div>\n <div class=\"col-lg-1 d-flex p-0\">\n <div class=\"my-auto\">\n {{ 'designer.misc.ms' | translate }}\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\"></label>\n <div class=\"col-lg-8 d-flex\">\n <div class=\"form-check my-auto\">\n <input type=\"checkbox\" [ngModel]=\"fadeInPre\" (ngModelChange)=\"fadeInPre = $event\" class=\"form-check-input\" id=\"fadeInPre\" />\n\n <label class=\"form-check-label\" for=\"fadeInPre\">\n {{ 'designer.scene.settings-fade-in-pre' | translate }}\n </label>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\">{{ 'designer.scene.settings-fade-out' | translate }}</label>\n <div class=\"col-lg-7\">\n <input type=\"text\" class=\"form-control\" [ngModel]=\"fadeOutMillis\" (ngModelChange)=\"fadeOutMillis = $event\" />\n </div>\n <div class=\"col-lg-1 d-flex p-0\">\n <div class=\"my-auto\">\n {{ 'designer.misc.ms' | translate }}\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\"></label>\n <div class=\"col-lg-8 d-flex\">\n <div class=\"form-check my-auto\">\n <input type=\"checkbox\" [ngModel]=\"fadeOutPost\" (ngModelChange)=\"fadeOutPost = $event\" class=\"form-check-input\" id=\"fadeOutPost\" />\n\n <label class=\"form-check-label\" for=\"fadeOutPost\">\n {{ 'designer.scene.settings-fade-out-post' | translate }}\n </label>\n </div>\n </div>\n </div>\n</div>\n<div class=\"modal-footer\">\n <a class=\"mr-3 my-auto\" href=\"#\" role=\"button\" (click)=\"cancel(); (false)\">\n {{ 'designer.misc.cancel' | translate }}\n </a>\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"ok()\">{{ 'designer.misc.ok' | translate }}</button>\n</div>\n" }]
141
+ }], () => [{ type: i1.BsModalRef }], { handleKeyboardEvent: [{
142
+ type: HostListener,
143
+ args: ['document:keydown.enter', ['$event']]
144
+ }] }); })();
145
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SceneSettingsComponent, { className: "SceneSettingsComponent" }); })();
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmUtc2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9zY2VuZS9zY2VuZS1zZXR0aW5ncy9zY2VuZS1zZXR0aW5ncy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL3NjZW5lL3NjZW5lLXNldHRpbmdzL3NjZW5lLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFRakQsTUFBTSxPQUFPLHNCQUFzQjtJQVNqQyxZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQUU3QyxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDOUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQzVDLENBQUM7SUFFRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUU1QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxJ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LDJFQUNGO1lBUXlCLGVBQXFCO1lBQXJCLHVDQUFxQjtZQUcxQyxlQUNGO1lBREUsOEZBQ0Y7WUFNbUMsZUFBb0Q7WUFBcEQsZ0ZBQW9EO1lBRWpELGVBQXlCO1lBQXpCLDJDQUF5QjtZQUkvRCxlQUNGO1lBREUsMkVBQ0Y7WUFReUIsZUFBdUI7WUFBdkIseUNBQXVCO1lBRzVDLGVBQ0Y7WUFERSxnR0FDRjtZQU9KLGVBQ0Y7WUFERSwrRUFDRjtZQUM2RCxlQUFvQztZQUFwQyxnRUFBb0M7OztpRkQzRHRGLHNCQUFzQjtjQUxsQyxTQUFTOzJCQUNFLG9CQUFvQjsyQ0E0QzlCLG1CQUFtQjtrQkFEbEIsWUFBWTttQkFBQyx3QkFBd0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7a0ZBdkN2QyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBTY2VuZSB9IGZyb20gJy4uLy4uL21vZGVscy9zY2VuZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zY2VuZS1zZXR0aW5ncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY2VuZS1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NjZW5lLXNldHRpbmdzLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2NlbmVTZXR0aW5nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHNjZW5lOiBTY2VuZTtcblxuICBuYW1lOiBzdHJpbmc7XG4gIGZhZGVJbk1pbGxpczogbnVtYmVyO1xuICBmYWRlT3V0TWlsbGlzOiBudW1iZXI7XG4gIGZhZGVJblByZTogYm9vbGVhbjtcbiAgZmFkZU91dFBvc3Q6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHVibGljIGJzTW9kYWxSZWY6IEJzTW9kYWxSZWYpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5uYW1lID0gdGhpcy5zY2VuZS5uYW1lO1xuICAgIHRoaXMuZmFkZUluTWlsbGlzID0gdGhpcy5zY2VuZS5mYWRlSW5NaWxsaXM7XG4gICAgdGhpcy5mYWRlT3V0TWlsbGlzID0gdGhpcy5zY2VuZS5mYWRlT3V0TWlsbGlzO1xuICAgIHRoaXMuZmFkZUluUHJlID0gdGhpcy5zY2VuZS5mYWRlSW5QcmU7XG4gICAgdGhpcy5mYWRlT3V0UG9zdCA9IHRoaXMuc2NlbmUuZmFkZU91dFBvc3Q7XG4gIH1cblxuICBvaygpIHtcbiAgICB0aGlzLnNjZW5lLm5hbWUgPSB0aGlzLm5hbWU7XG5cbiAgICBpZiAoIWlzTmFOKHRoaXMuZmFkZUluTWlsbGlzKSAmJiB0aGlzLmZhZGVJbk1pbGxpcyA+PSAwKSB7XG4gICAgICB0aGlzLnNjZW5lLmZhZGVJbk1pbGxpcyA9ICt0aGlzLmZhZGVJbk1pbGxpcztcbiAgICB9XG4gICAgaWYgKCFpc05hTih0aGlzLmZhZGVPdXRNaWxsaXMpICYmIHRoaXMuZmFkZU91dE1pbGxpcyA+PSAwKSB7XG4gICAgICB0aGlzLnNjZW5lLmZhZGVPdXRNaWxsaXMgPSArdGhpcy5mYWRlT3V0TWlsbGlzO1xuICAgIH1cblxuICAgIHRoaXMuc2NlbmUuZmFkZUluUHJlID0gdGhpcy5mYWRlSW5QcmU7XG4gICAgdGhpcy5zY2VuZS5mYWRlT3V0UG9zdCA9IHRoaXMuZmFkZU91dFBvc3Q7XG5cbiAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuYnNNb2RhbFJlZi5oaWRlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVudGVyJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogYW55KSB7XG4gICAgdGhpcy5vaygpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gIDxoNCBjbGFzcz1cIm1vZGFsLXRpdGxlIHB1bGwtbGVmdFwiPnt7IG5hbWUgfX08L2g0PlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNsb3NlIHB1bGwtcmlnaHRcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiAoY2xpY2spPVwiYnNNb2RhbFJlZi5oaWRlKClcIj5cbiAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mdGltZXM7PC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiY29sLWxnLTQgY29sLWZvcm0tbGFiZWxcIj57eyAnZGVzaWduZXIucHJlc2V0LnNldHRpbmdzLW5hbWUnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTdcIj5cbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW25nTW9kZWxdPVwibmFtZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm5hbWUgPSAkZXZlbnRcIiAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJjb2wtbGctNCBjb2wtZm9ybS1sYWJlbFwiPnt7ICdkZXNpZ25lci5zY2VuZS5zZXR0aW5ncy1mYWRlLWluJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy03XCI+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtuZ01vZGVsXT1cImZhZGVJbk1pbGxpc1wiIChuZ01vZGVsQ2hhbmdlKT1cImZhZGVJbk1pbGxpcyA9ICRldmVudFwiIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xIGQtZmxleCBwLTBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJteS1hdXRvXCI+XG4gICAgICAgIHt7ICdkZXNpZ25lci5taXNjLm1zJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1sZy00IGNvbC1mb3JtLWxhYmVsXCI+PC9sYWJlbD5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTggZC1mbGV4XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBteS1hdXRvXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbbmdNb2RlbF09XCJmYWRlSW5QcmVcIiAobmdNb2RlbENoYW5nZSk9XCJmYWRlSW5QcmUgPSAkZXZlbnRcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiBpZD1cImZhZGVJblByZVwiIC8+XG5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cImZhZGVJblByZVwiPlxuICAgICAgICAgIHt7ICdkZXNpZ25lci5zY2VuZS5zZXR0aW5ncy1mYWRlLWluLXByZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJjb2wtbGctNCBjb2wtZm9ybS1sYWJlbFwiPnt7ICdkZXNpZ25lci5zY2VuZS5zZXR0aW5ncy1mYWRlLW91dCcgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctN1wiPlxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbbmdNb2RlbF09XCJmYWRlT3V0TWlsbGlzXCIgKG5nTW9kZWxDaGFuZ2UpPVwiZmFkZU91dE1pbGxpcyA9ICRldmVudFwiIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xIGQtZmxleCBwLTBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJteS1hdXRvXCI+XG4gICAgICAgIHt7ICdkZXNpZ25lci5taXNjLm1zJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1sZy00IGNvbC1mb3JtLWxhYmVsXCI+PC9sYWJlbD5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTggZC1mbGV4XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBteS1hdXRvXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbbmdNb2RlbF09XCJmYWRlT3V0UG9zdFwiIChuZ01vZGVsQ2hhbmdlKT1cImZhZGVPdXRQb3N0ID0gJGV2ZW50XCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgaWQ9XCJmYWRlT3V0UG9zdFwiIC8+XG5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cImZhZGVPdXRQb3N0XCI+XG4gICAgICAgICAge3sgJ2Rlc2lnbmVyLnNjZW5lLnNldHRpbmdzLWZhZGUtb3V0LXBvc3QnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgPGEgY2xhc3M9XCJtci0zIG15LWF1dG9cIiBocmVmPVwiI1wiIHJvbGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2FuY2VsKCk7IChmYWxzZSlcIj5cbiAgICB7eyAnZGVzaWduZXIubWlzYy5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gIDwvYT5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwib2soKVwiPnt7ICdkZXNpZ25lci5taXNjLm9rJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,110 @@
1
+ import { Component } from '@angular/core';
2
+ import { BsModalService } from 'ngx-bootstrap/modal';
3
+ import { IntroService } from '../services/intro.service';
4
+ import { PresetService } from '../services/preset.service';
5
+ import { ProjectService } from '../services/project.service';
6
+ import { SceneService } from '../services/scene.service';
7
+ import { SceneSettingsComponent } from './scene-settings/scene-settings.component';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../services/scene.service";
10
+ import * as i2 from "../services/preset.service";
11
+ import * as i3 from "../services/project.service";
12
+ import * as i4 from "ngx-bootstrap/modal";
13
+ import * as i5 from "../services/intro.service";
14
+ import * as i6 from "@angular/common";
15
+ import * as i7 from "ngx-sortablejs-plus";
16
+ import * as i8 from "@ngx-translate/core";
17
+ function SceneComponent_div_14_Template(rf, ctx) { if (rf & 1) {
18
+ const _r1 = i0.ɵɵgetCurrentView();
19
+ i0.ɵɵelementStart(0, "div", 10)(1, "div", 11);
20
+ i0.ɵɵlistener("click", function SceneComponent_div_14_Template_div_click_1_listener($event) { const i_r2 = i0.ɵɵrestoreView(_r1).index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.selectScene($event, i_r2)); });
21
+ i0.ɵɵelementStart(2, "div", 12);
22
+ i0.ɵɵelement(3, "i", 13);
23
+ i0.ɵɵelementEnd();
24
+ i0.ɵɵelementStart(4, "div", 14);
25
+ i0.ɵɵtext(5);
26
+ i0.ɵɵelementEnd();
27
+ i0.ɵɵelementStart(6, "div", 15);
28
+ i0.ɵɵnamespaceSVG();
29
+ i0.ɵɵelementStart(7, "svg", 16);
30
+ i0.ɵɵelement(8, "circle", 17);
31
+ i0.ɵɵelementEnd()();
32
+ i0.ɵɵnamespaceHTML();
33
+ i0.ɵɵelementStart(9, "div", 18)(10, "button", 19);
34
+ i0.ɵɵlistener("click", function SceneComponent_div_14_Template_button_click_10_listener() { const scene_r4 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); ctx_r2.openSettings(scene_r4); return i0.ɵɵresetView(false); });
35
+ i0.ɵɵtext(11, "...");
36
+ i0.ɵɵelementEnd()()()();
37
+ } if (rf & 2) {
38
+ const scene_r4 = ctx.$implicit;
39
+ const ctx_r2 = i0.ɵɵnextContext();
40
+ i0.ɵɵclassProp("active-light", ctx_r2.projectService.project.previewPreset && ctx_r2.sceneService.sceneIsSelected(scene_r4))("active", !ctx_r2.projectService.project.previewPreset && ctx_r2.sceneService.sceneIsSelected(scene_r4));
41
+ i0.ɵɵadvance(5);
42
+ i0.ɵɵtextInterpolate1(" ", scene_r4.name, " ");
43
+ i0.ɵɵadvance(3);
44
+ i0.ɵɵattribute("fill", scene_r4.color);
45
+ } }
46
+ export class SceneComponent {
47
+ constructor(sceneService, presetService, projectService, modalService, introService) {
48
+ this.sceneService = sceneService;
49
+ this.presetService = presetService;
50
+ this.projectService = projectService;
51
+ this.modalService = modalService;
52
+ this.introService = introService;
53
+ }
54
+ ngOnInit() { }
55
+ selectScene(event, index) {
56
+ this.sceneService.selectScene(index);
57
+ }
58
+ removeScene() {
59
+ if (this.sceneService.selectedScenes.length === 0) {
60
+ return;
61
+ }
62
+ this.sceneService.removeScene(this.sceneService.selectedScenes[0]);
63
+ }
64
+ openSettings(scene) {
65
+ const bsModalRef = this.modalService.show(SceneSettingsComponent, {
66
+ keyboard: true,
67
+ ignoreBackdropClick: false,
68
+ class: '',
69
+ initialState: { scene },
70
+ });
71
+ }
72
+ static { this.ɵfac = function SceneComponent_Factory(t) { return new (t || SceneComponent)(i0.ɵɵdirectiveInject(i1.SceneService), i0.ɵɵdirectiveInject(i2.PresetService), i0.ɵɵdirectiveInject(i3.ProjectService), i0.ɵɵdirectiveInject(i4.BsModalService), i0.ɵɵdirectiveInject(i5.IntroService)); }; }
73
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SceneComponent, selectors: [["lib-app-scene"]], decls: 15, vars: 9, consts: [[1, "card", "border-secondary", "panel", "h-100"], [1, "card-header", "d-flex"], [1, "ml-auto"], ["href", "#", 1, "d-none", "d-md-inline-block", "btn", "btn-secondary", "m-0", "p-0", 3, "click"], ["aria-hidden", "true", 1, "fa", "fa-object-group", "fa-fw"], ["aria-hidden", "true", 1, "fa", "fa-minus-circle", "fa-fw"], ["aria-hidden", "true", 1, "fa", "fa-plus-circle", "fa-fw"], [1, "card-body", "border-secondary", "p-0"], [1, "list-group", 3, "sortablejs"], ["class", "list-group-item", 3, "active-light", "active", 4, "ngFor", "ngForOf"], [1, "list-group-item"], [1, "row", "d-flex", 2, "cursor", "pointer", 3, "click"], [1, "d-none", "d-md-block", "col-auto", "list-sort-handle", "my-auto", 2, "cursor", "move", "cursor", "-webkit-grabbing"], ["aria-hidden", "true", 1, "fa", "fa-bars"], [1, "my-auto"], [1, "my-auto", "ml-auto", "mr-2", "d-flex"], ["height", "20", "width", "20", 1, "my-auto"], ["cx", "10", "cy", "10", "r", "9", "stroke", "white", "stroke-width", "1"], [1, "d-none", "d-md-flex", "my-auto", "mr-2"], ["type", "button", 1, "btn", "btn-secondary", "btn-sm", "py-0", "px-1", 3, "click"]], template: function SceneComponent_Template(rf, ctx) { if (rf & 1) {
74
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div");
75
+ i0.ɵɵtext(3);
76
+ i0.ɵɵpipe(4, "translate");
77
+ i0.ɵɵelementEnd();
78
+ i0.ɵɵelementStart(5, "div", 2)(6, "a", 3);
79
+ i0.ɵɵlistener("click", function SceneComponent_Template_a_click_6_listener() { ctx.sceneService.multipleSelection = !ctx.sceneService.multipleSelection; return false; });
80
+ i0.ɵɵelement(7, "i", 4);
81
+ i0.ɵɵelementEnd();
82
+ i0.ɵɵelementStart(8, "a", 3);
83
+ i0.ɵɵlistener("click", function SceneComponent_Template_a_click_8_listener() { ctx.removeScene(); return false; });
84
+ i0.ɵɵelement(9, "i", 5);
85
+ i0.ɵɵelementEnd();
86
+ i0.ɵɵelementStart(10, "a", 3);
87
+ i0.ɵɵlistener("click", function SceneComponent_Template_a_click_10_listener() { ctx.sceneService.addScene(); return false; });
88
+ i0.ɵɵelement(11, "i", 6);
89
+ i0.ɵɵelementEnd()()();
90
+ i0.ɵɵelementStart(12, "div", 7)(13, "div", 8);
91
+ i0.ɵɵtemplate(14, SceneComponent_div_14_Template, 12, 6, "div", 9);
92
+ i0.ɵɵelementEnd()()();
93
+ } if (rf & 2) {
94
+ i0.ɵɵclassProp("card-intro-active", ctx.introService.showStep("scenes"));
95
+ i0.ɵɵadvance(3);
96
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 7, "designer.scene.title"), " ");
97
+ i0.ɵɵadvance(3);
98
+ i0.ɵɵclassProp("text-primary", ctx.sceneService.multipleSelection == true);
99
+ i0.ɵɵadvance(7);
100
+ i0.ɵɵproperty("sortablejs", ctx.projectService.project.scenes);
101
+ i0.ɵɵadvance();
102
+ i0.ɵɵproperty("ngForOf", ctx.projectService.project.scenes);
103
+ } }, dependencies: [i6.NgForOf, i7.SortablejsDirective, i8.TranslatePipe] }); }
104
+ }
105
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SceneComponent, [{
106
+ type: Component,
107
+ args: [{ selector: 'lib-app-scene', template: "<div class=\"card border-secondary panel h-100\" [class.card-intro-active]=\"introService.showStep('scenes')\">\n <div class=\"card-header d-flex\">\n <div>\n {{ 'designer.scene.title' | translate }}\n </div>\n <div class=\"ml-auto\">\n <a\n href=\"#\"\n class=\"d-none d-md-inline-block btn btn-secondary m-0 p-0\"\n [class.text-primary]=\"sceneService.multipleSelection == true\"\n (click)=\"sceneService.multipleSelection = !sceneService.multipleSelection; (false)\"\n ><i class=\"fa fa-object-group fa-fw\" aria-hidden=\"true\"></i\n ></a>\n <a href=\"#\" class=\"d-none d-md-inline-block btn btn-secondary m-0 p-0\" (click)=\"removeScene(); (false)\"\n ><i class=\"fa fa-minus-circle fa-fw\" aria-hidden=\"true\"></i\n ></a>\n <a href=\"#\" class=\"d-none d-md-inline-block btn btn-secondary m-0 p-0\" (click)=\"sceneService.addScene(); (false)\"\n ><i class=\"fa fa-plus-circle fa-fw\" aria-hidden=\"true\"></i\n ></a>\n </div>\n </div>\n <div class=\"card-body border-secondary p-0\">\n <!-- List of scenes -->\n <div class=\"list-group\" [sortablejs]=\"projectService.project.scenes\">\n <div\n *ngFor=\"let scene of projectService.project.scenes; let i = index\"\n class=\"list-group-item\"\n [class.active-light]=\"projectService.project.previewPreset && sceneService.sceneIsSelected(scene)\"\n [class.active]=\"!projectService.project.previewPreset && sceneService.sceneIsSelected(scene)\"\n >\n <div class=\"row d-flex\" (click)=\"selectScene($event, i)\" style=\"cursor: pointer\">\n <div class=\"d-none d-md-block col-auto list-sort-handle my-auto\" style=\"cursor: move; cursor: -webkit-grabbing\">\n <i class=\"fa fa-bars\" aria-hidden=\"true\"></i>\n </div>\n <div class=\"my-auto\">\n {{ scene.name }}\n </div>\n <div class=\"my-auto ml-auto mr-2 d-flex\">\n <svg class=\"my-auto\" height=\"20\" width=\"20\">\n <circle cx=\"10\" cy=\"10\" r=\"9\" stroke=\"white\" stroke-width=\"1\" [attr.fill]=\"scene.color\" />\n </svg>\n </div>\n <div class=\"d-none d-md-flex my-auto mr-2\">\n <button type=\"button\" class=\"btn btn-secondary btn-sm py-0 px-1\" (click)=\"openSettings(scene); (false)\">...</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
108
+ }], () => [{ type: i1.SceneService }, { type: i2.PresetService }, { type: i3.ProjectService }, { type: i4.BsModalService }, { type: i5.IntroService }], null); })();
109
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SceneComponent, { className: "SceneComponent" }); })();
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9zY2VuZS9zY2VuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL3NjZW5lL3NjZW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7Ozs7O0lDdUIzRSxBQU5GLCtCQUtDLGNBQ2tGO0lBQXpELGlNQUFTLGdDQUFzQixLQUFDO0lBQ3RELCtCQUFnSDtJQUM5Ryx3QkFBNkM7SUFDL0MsaUJBQU07SUFDTiwrQkFBcUI7SUFDbkIsWUFDRjtJQUFBLGlCQUFNO0lBQ04sK0JBQXlDOztJQUN2QywrQkFBNEM7SUFDMUMsNkJBQTBGO0lBRTlGLEFBREUsaUJBQU0sRUFDRjs7SUFFSixBQURGLCtCQUEyQyxrQkFDK0Q7SUFBdkMsaUxBQVMsNkJBQW1CLHdCQUFHLEtBQUssS0FBRTtJQUFDLG9CQUFHO0lBR2pILEFBREUsQUFERSxBQUQ2RyxpQkFBUyxFQUNoSCxFQUNGLEVBQ0Y7Ozs7SUFsQkosQUFEQSw0SEFBa0cseUdBQ0w7SUFPekYsZUFDRjtJQURFLDhDQUNGO0lBR2tFLGVBQXlCOzs7QUR6QnJHLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ1MsWUFBMEIsRUFDMUIsYUFBNEIsRUFDNUIsY0FBOEIsRUFDN0IsWUFBNEIsRUFDN0IsWUFBMEI7UUFKMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzdCLGlCQUFZLEdBQVosWUFBWSxDQUFnQjtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUNoQyxDQUFDO0lBRUosUUFBUSxLQUFJLENBQUM7SUFFYixXQUFXLENBQUMsS0FBVSxFQUFFLEtBQWE7UUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsRCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFZO1FBQ3ZCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ2hFLFFBQVEsRUFBRSxJQUFJO1lBQ2QsbUJBQW1CLEVBQUUsS0FBSztZQUMxQixLQUFLLEVBQUUsRUFBRTtZQUNULFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRTtTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDOytFQTlCVSxjQUFjO29FQUFkLGNBQWM7WUNadkIsQUFERixBQURGLDhCQUEyRyxhQUN6RSxVQUN6QjtZQUNILFlBQ0Y7O1lBQUEsaUJBQU07WUFFSixBQURGLDhCQUFxQixXQU1oQjtZQURELGdLQUE0RSxLQUFLLElBQUU7WUFDbEYsdUJBQ0Y7WUFBQSxpQkFBSTtZQUNMLDRCQUNHO1lBRG9FLCtFQUFTLGlCQUFhLFNBQUcsS0FBSyxJQUFFO1lBQ3BHLHVCQUNGO1lBQUEsaUJBQUk7WUFDTCw2QkFDRztZQURvRSxnRkFBUywyQkFBdUIsU0FBRyxLQUFLLElBQUU7WUFDOUcsd0JBQ0Y7WUFFTCxBQURFLEFBREcsaUJBQUksRUFDRCxFQUNGO1lBR0osQUFGRiwrQkFBNEMsY0FFMkI7WUFDbkUsa0VBS0M7WUFvQlAsQUFERSxBQURFLGlCQUFNLEVBQ0YsRUFDRjs7WUFqRHlDLHdFQUEyRDtZQUdwRyxlQUNGO1lBREUsNkVBQ0Y7WUFLSSxlQUE2RDtZQUE3RCwwRUFBNkQ7WUFjekMsZUFBNEM7WUFBNUMsOERBQTRDO1lBRTlDLGNBQWtDO1lBQWxDLDJEQUFrQzs7O2lGRFgvQyxjQUFjO2NBTDFCLFNBQVM7MkJBQ0UsZUFBZTs7a0ZBSWQsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCc01vZGFsU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgU2NlbmUgfSBmcm9tICcuLi9tb2RlbHMvc2NlbmUnO1xuaW1wb3J0IHsgSW50cm9TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaW50cm8uc2VydmljZSc7XG5pbXBvcnQgeyBQcmVzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcHJlc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvamVjdFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wcm9qZWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NlbmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc2NlbmUuc2VydmljZSc7XG5pbXBvcnQgeyBTY2VuZVNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9zY2VuZS1zZXR0aW5ncy9zY2VuZS1zZXR0aW5ncy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXBwLXNjZW5lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NjZW5lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2NlbmUuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTY2VuZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzY2VuZVNlcnZpY2U6IFNjZW5lU2VydmljZSxcbiAgICBwdWJsaWMgcHJlc2V0U2VydmljZTogUHJlc2V0U2VydmljZSxcbiAgICBwdWJsaWMgcHJvamVjdFNlcnZpY2U6IFByb2plY3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBCc01vZGFsU2VydmljZSxcbiAgICBwdWJsaWMgaW50cm9TZXJ2aWNlOiBJbnRyb1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICBzZWxlY3RTY2VuZShldmVudDogYW55LCBpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5zY2VuZVNlcnZpY2Uuc2VsZWN0U2NlbmUoaW5kZXgpO1xuICB9XG5cbiAgcmVtb3ZlU2NlbmUoKSB7XG4gICAgaWYgKHRoaXMuc2NlbmVTZXJ2aWNlLnNlbGVjdGVkU2NlbmVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2NlbmVTZXJ2aWNlLnJlbW92ZVNjZW5lKHRoaXMuc2NlbmVTZXJ2aWNlLnNlbGVjdGVkU2NlbmVzWzBdKTtcbiAgfVxuXG4gIG9wZW5TZXR0aW5ncyhzY2VuZTogU2NlbmUpIHtcbiAgICBjb25zdCBic01vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uuc2hvdyhTY2VuZVNldHRpbmdzQ29tcG9uZW50LCB7XG4gICAgICBrZXlib2FyZDogdHJ1ZSxcbiAgICAgIGlnbm9yZUJhY2tkcm9wQ2xpY2s6IGZhbHNlLFxuICAgICAgY2xhc3M6ICcnLFxuICAgICAgaW5pdGlhbFN0YXRlOiB7IHNjZW5lIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci1zZWNvbmRhcnkgcGFuZWwgaC0xMDBcIiBbY2xhc3MuY2FyZC1pbnRyby1hY3RpdmVdPVwiaW50cm9TZXJ2aWNlLnNob3dTdGVwKCdzY2VuZXMnKVwiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZC1mbGV4XCI+XG4gICAgPGRpdj5cbiAgICAgIHt7ICdkZXNpZ25lci5zY2VuZS50aXRsZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWwtYXV0b1wiPlxuICAgICAgPGFcbiAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICBjbGFzcz1cImQtbm9uZSBkLW1kLWlubGluZS1ibG9jayBidG4gYnRuLXNlY29uZGFyeSBtLTAgcC0wXCJcbiAgICAgICAgW2NsYXNzLnRleHQtcHJpbWFyeV09XCJzY2VuZVNlcnZpY2UubXVsdGlwbGVTZWxlY3Rpb24gPT0gdHJ1ZVwiXG4gICAgICAgIChjbGljayk9XCJzY2VuZVNlcnZpY2UubXVsdGlwbGVTZWxlY3Rpb24gPSAhc2NlbmVTZXJ2aWNlLm11bHRpcGxlU2VsZWN0aW9uOyAoZmFsc2UpXCJcbiAgICAgICAgPjxpIGNsYXNzPVwiZmEgZmEtb2JqZWN0LWdyb3VwIGZhLWZ3XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pXG4gICAgICA+PC9hPlxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImQtbm9uZSBkLW1kLWlubGluZS1ibG9jayBidG4gYnRuLXNlY29uZGFyeSBtLTAgcC0wXCIgKGNsaWNrKT1cInJlbW92ZVNjZW5lKCk7IChmYWxzZSlcIlxuICAgICAgICA+PGkgY2xhc3M9XCJmYSBmYS1taW51cy1jaXJjbGUgZmEtZndcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lcbiAgICAgID48L2E+XG4gICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZC1ub25lIGQtbWQtaW5saW5lLWJsb2NrIGJ0biBidG4tc2Vjb25kYXJ5IG0tMCBwLTBcIiAoY2xpY2spPVwic2NlbmVTZXJ2aWNlLmFkZFNjZW5lKCk7IChmYWxzZSlcIlxuICAgICAgICA+PGkgY2xhc3M9XCJmYSBmYS1wbHVzLWNpcmNsZSBmYS1md1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaVxuICAgICAgPjwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgYm9yZGVyLXNlY29uZGFyeSBwLTBcIj5cbiAgICA8IS0tIExpc3Qgb2Ygc2NlbmVzIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJsaXN0LWdyb3VwXCIgW3NvcnRhYmxlanNdPVwicHJvamVjdFNlcnZpY2UucHJvamVjdC5zY2VuZXNcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IHNjZW5lIG9mIHByb2plY3RTZXJ2aWNlLnByb2plY3Quc2NlbmVzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW1cIlxuICAgICAgICBbY2xhc3MuYWN0aXZlLWxpZ2h0XT1cInByb2plY3RTZXJ2aWNlLnByb2plY3QucHJldmlld1ByZXNldCAmJiBzY2VuZVNlcnZpY2Uuc2NlbmVJc1NlbGVjdGVkKHNjZW5lKVwiXG4gICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiIXByb2plY3RTZXJ2aWNlLnByb2plY3QucHJldmlld1ByZXNldCAmJiBzY2VuZVNlcnZpY2Uuc2NlbmVJc1NlbGVjdGVkKHNjZW5lKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZC1mbGV4XCIgKGNsaWNrKT1cInNlbGVjdFNjZW5lKCRldmVudCwgaSlcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLW5vbmUgZC1tZC1ibG9jayBjb2wtYXV0byBsaXN0LXNvcnQtaGFuZGxlIG15LWF1dG9cIiBzdHlsZT1cImN1cnNvcjogbW92ZTsgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWJhcnNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm15LWF1dG9cIj5cbiAgICAgICAgICAgIHt7IHNjZW5lLm5hbWUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktYXV0byBtbC1hdXRvIG1yLTIgZC1mbGV4XCI+XG4gICAgICAgICAgICA8c3ZnIGNsYXNzPVwibXktYXV0b1wiIGhlaWdodD1cIjIwXCIgd2lkdGg9XCIyMFwiPlxuICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTBcIiBjeT1cIjEwXCIgcj1cIjlcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjFcIiBbYXR0ci5maWxsXT1cInNjZW5lLmNvbG9yXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLW5vbmUgZC1tZC1mbGV4IG15LWF1dG8gbXItMlwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gcHktMCBweC0xXCIgKGNsaWNrKT1cIm9wZW5TZXR0aW5ncyhzY2VuZSk7IChmYWxzZSlcIj4uLi48L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AnimationService {
4
+ constructor() {
5
+ this.timeMillis = 0;
6
+ }
7
+ static { this.ɵfac = function AnimationService_Factory(t) { return new (t || AnimationService)(); }; }
8
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AnimationService, factory: AnimationService.ɵfac, providedIn: 'root' }); }
9
+ }
10
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnimationService, [{
11
+ type: Injectable,
12
+ args: [{
13
+ providedIn: 'root',
14
+ }]
15
+ }], () => [], null); })();
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL3NlcnZpY2VzL2FuaW1hdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0I7UUFGQSxlQUFVLEdBQUcsQ0FBQyxDQUFDO0lBRUEsQ0FBQztpRkFITCxnQkFBZ0I7dUVBQWhCLGdCQUFnQixXQUFoQixnQkFBZ0IsbUJBRmYsTUFBTTs7aUZBRVAsZ0JBQWdCO2NBSDVCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFuaW1hdGlvblNlcnZpY2Uge1xuICB0aW1lTWlsbGlzID0gMDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=