@rocketshow/designer 1.31.0 → 1.33.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 (339) hide show
  1. package/esm2022/lib/array-sort-pipe.mjs +30 -0
  2. package/esm2022/lib/designer.component.mjs +605 -0
  3. package/esm2022/lib/designer.module.mjs +183 -0
  4. package/esm2022/lib/designer.service.mjs +14 -0
  5. package/esm2022/lib/effect/effect-curve/effect-curve.component.mjs +569 -0
  6. package/esm2022/lib/effect/effect-pan-tilt/effect-pan-tilt.component.mjs +36 -0
  7. package/esm2022/lib/effect/effect.component.mjs +174 -0
  8. package/esm2022/lib/error-dialog/error-dialog.component.mjs +75 -0
  9. package/esm2022/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.mjs +222 -0
  10. package/esm2022/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.mjs +147 -0
  11. package/esm2022/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.mjs +213 -0
  12. package/esm2022/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.mjs +78 -0
  13. package/esm2022/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.mjs +119 -0
  14. package/esm2022/lib/fixture/fixture-capability/fixture-capability.component.mjs +169 -0
  15. package/esm2022/lib/fixture/fixture-channel/fixture-channel.component.mjs +160 -0
  16. package/esm2022/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.mjs +365 -0
  17. package/esm2022/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.mjs +151 -0
  18. package/esm2022/lib/fixture/fixture-settings/fixture-settings.component.mjs +46 -0
  19. package/esm2022/lib/fixture/fixture.component.mjs +138 -0
  20. package/esm2022/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.mjs +145 -0
  21. package/esm2022/lib/fixture-pool/fixture-pool.component.mjs +589 -0
  22. package/esm2022/lib/intro/intro.component.mjs +95 -0
  23. package/esm2022/lib/master-dimmer/master-dimmer.component.mjs +66 -0
  24. package/esm2022/lib/models/cached-fixture-capability.mjs +9 -0
  25. package/esm2022/lib/models/cached-fixture-channel.mjs +7 -0
  26. package/esm2022/lib/models/cached-fixture.mjs +6 -0
  27. package/esm2022/lib/models/color.mjs +8 -0
  28. package/esm2022/lib/models/composition.mjs +46 -0
  29. package/esm2022/lib/models/effect-curve-profile-channel.mjs +15 -0
  30. package/esm2022/lib/models/effect-curve.mjs +69 -0
  31. package/esm2022/lib/models/effect-pan-tilt.mjs +19 -0
  32. package/esm2022/lib/models/effect.mjs +12 -0
  33. package/esm2022/lib/models/fixture-capability-value.mjs +15 -0
  34. package/esm2022/lib/models/fixture-capability.mjs +84 -0
  35. package/esm2022/lib/models/fixture-channel-value.mjs +11 -0
  36. package/esm2022/lib/models/fixture-channel.mjs +24 -0
  37. package/esm2022/lib/models/fixture-mode.mjs +14 -0
  38. package/esm2022/lib/models/fixture-profile.mjs +70 -0
  39. package/esm2022/lib/models/fixture-wheel-slot.mjs +26 -0
  40. package/esm2022/lib/models/fixture-wheel.mjs +15 -0
  41. package/esm2022/lib/models/fixture.mjs +40 -0
  42. package/esm2022/lib/models/preset-region-scene.mjs +8 -0
  43. package/esm2022/lib/models/preset.mjs +56 -0
  44. package/esm2022/lib/models/project.mjs +68 -0
  45. package/esm2022/lib/models/scene-playback-region.mjs +11 -0
  46. package/esm2022/lib/models/scene.mjs +27 -0
  47. package/esm2022/lib/models/universe.mjs +11 -0
  48. package/esm2022/lib/preset/preset-settings/preset-settings.component.mjs +194 -0
  49. package/esm2022/lib/preset/preset.component.mjs +131 -0
  50. package/esm2022/lib/preview/models/color-changer-3d.mjs +167 -0
  51. package/esm2022/lib/preview/models/fixture-3d.mjs +150 -0
  52. package/esm2022/lib/preview/models/moving-head-3d.mjs +243 -0
  53. package/esm2022/lib/preview/preview.component.mjs +212 -0
  54. package/esm2022/lib/project/project-browser/project-browser.component.mjs +143 -0
  55. package/esm2022/lib/project/project-import/project-import.component.mjs +107 -0
  56. package/esm2022/lib/project/project-save/project-save.component.mjs +178 -0
  57. package/esm2022/lib/project/project-share/project-share.component.mjs +71 -0
  58. package/esm2022/lib/scene/scene-settings/scene-settings.component.mjs +146 -0
  59. package/esm2022/lib/scene/scene.component.mjs +110 -0
  60. package/esm2022/lib/services/animation.service.mjs +16 -0
  61. package/esm2022/lib/services/config.service.mjs +27 -0
  62. package/esm2022/lib/services/effect.service.mjs +14 -0
  63. package/esm2022/lib/services/error-dialog.service.mjs +39 -0
  64. package/esm2022/lib/services/fixture-pool.service.mjs +30 -0
  65. package/esm2022/lib/services/fixture.service.mjs +431 -0
  66. package/esm2022/lib/services/hotkey-target-exclude.service.mjs +24 -0
  67. package/esm2022/lib/services/intro.service.mjs +140 -0
  68. package/esm2022/lib/services/preset.service.mjs +400 -0
  69. package/esm2022/lib/services/preview-mesh.service.mjs +57 -0
  70. package/esm2022/lib/services/preview.service.mjs +496 -0
  71. package/esm2022/lib/services/project-load.service.mjs +149 -0
  72. package/esm2022/lib/services/project.service.mjs +97 -0
  73. package/esm2022/lib/services/scene.service.mjs +164 -0
  74. package/esm2022/lib/services/timeline.service.mjs +726 -0
  75. package/esm2022/lib/services/universe.service.mjs +23 -0
  76. package/esm2022/lib/services/user-ensure-login.service.mjs +38 -0
  77. package/esm2022/lib/services/user.service.mjs +89 -0
  78. package/esm2022/lib/services/uuid.service.mjs +23 -0
  79. package/esm2022/lib/services/warning-dialog.service.mjs +38 -0
  80. package/esm2022/lib/timeline/composition-settings/composition-settings.component.mjs +334 -0
  81. package/esm2022/lib/timeline/timeline-grid/timeline-grid.component.mjs +216 -0
  82. package/esm2022/lib/timeline/timeline.component.mjs +418 -0
  83. package/esm2022/lib/user/user-login/user-login.component.mjs +144 -0
  84. package/esm2022/lib/user/user-register/user-register.component.mjs +220 -0
  85. package/esm2022/lib/wait-dialog/wait-dialog.component.mjs +26 -0
  86. package/esm2022/lib/warning-dialog/warning-dialog.component.mjs +68 -0
  87. package/esm2022/public_api.mjs +7 -0
  88. package/esm2022/rocketshow-designer.mjs +5 -0
  89. package/fesm2022/rocketshow-designer.mjs +10626 -0
  90. package/fesm2022/rocketshow-designer.mjs.map +1 -0
  91. package/index.d.ts +5 -0
  92. package/lib/array-sort-pipe.d.ts +3 -0
  93. package/lib/designer.component.d.ts +15 -12
  94. package/lib/designer.module.d.ts +54 -0
  95. package/lib/designer.service.d.ts +3 -0
  96. package/lib/effect/effect-curve/effect-curve.component.d.ts +4 -1
  97. package/lib/effect/effect-pan-tilt/effect-pan-tilt.component.d.ts +3 -0
  98. package/lib/effect/effect.component.d.ts +3 -0
  99. package/lib/error-dialog/error-dialog.component.d.ts +3 -0
  100. package/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.d.ts +4 -1
  101. package/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.d.ts +3 -0
  102. package/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.d.ts +5 -2
  103. package/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.d.ts +3 -0
  104. package/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.d.ts +3 -0
  105. package/lib/fixture/fixture-capability/fixture-capability.component.d.ts +3 -0
  106. package/lib/fixture/fixture-channel/fixture-channel.component.d.ts +3 -0
  107. package/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.d.ts +3 -0
  108. package/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.d.ts +3 -0
  109. package/lib/fixture/fixture-settings/fixture-settings.component.d.ts +3 -0
  110. package/lib/fixture/fixture.component.d.ts +3 -0
  111. package/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.d.ts +3 -0
  112. package/lib/fixture-pool/fixture-pool.component.d.ts +3 -0
  113. package/lib/intro/intro.component.d.ts +3 -0
  114. package/lib/master-dimmer/master-dimmer.component.d.ts +3 -0
  115. package/lib/preset/preset-settings/preset-settings.component.d.ts +3 -0
  116. package/lib/preset/preset.component.d.ts +3 -0
  117. package/lib/preview/preview.component.d.ts +4 -4
  118. package/lib/project/project-browser/project-browser.component.d.ts +3 -0
  119. package/lib/project/project-import/project-import.component.d.ts +3 -0
  120. package/lib/project/project-save/project-save.component.d.ts +3 -0
  121. package/lib/project/project-share/project-share.component.d.ts +3 -0
  122. package/lib/scene/scene-settings/scene-settings.component.d.ts +3 -0
  123. package/lib/scene/scene.component.d.ts +3 -0
  124. package/lib/services/animation.service.d.ts +3 -0
  125. package/lib/services/config.service.d.ts +3 -0
  126. package/lib/services/effect.service.d.ts +3 -0
  127. package/lib/services/error-dialog.service.d.ts +3 -0
  128. package/lib/services/fixture-pool.service.d.ts +3 -0
  129. package/lib/services/fixture.service.d.ts +3 -0
  130. package/lib/services/hotkey-target-exclude.service.d.ts +3 -0
  131. package/lib/services/intro.service.d.ts +3 -0
  132. package/lib/services/preset.service.d.ts +3 -0
  133. package/lib/services/preview-mesh.service.d.ts +3 -0
  134. package/lib/services/preview.service.d.ts +4 -0
  135. package/lib/services/project-load.service.d.ts +3 -0
  136. package/lib/services/project.service.d.ts +3 -0
  137. package/lib/services/scene.service.d.ts +3 -0
  138. package/lib/services/timeline.service.d.ts +4 -1
  139. package/lib/services/universe.service.d.ts +3 -0
  140. package/lib/services/user-ensure-login.service.d.ts +3 -0
  141. package/lib/services/user.service.d.ts +3 -0
  142. package/lib/services/uuid.service.d.ts +3 -0
  143. package/lib/services/warning-dialog.service.d.ts +3 -0
  144. package/lib/timeline/composition-settings/composition-settings.component.d.ts +3 -0
  145. package/lib/timeline/timeline-grid/timeline-grid.component.d.ts +3 -0
  146. package/lib/timeline/timeline.component.d.ts +3 -0
  147. package/lib/user/user-login/user-login.component.d.ts +3 -0
  148. package/lib/user/user-register/user-register.component.d.ts +3 -0
  149. package/lib/wait-dialog/wait-dialog.component.d.ts +3 -0
  150. package/lib/warning-dialog/warning-dialog.component.d.ts +3 -0
  151. package/package.json +20 -22
  152. package/rocketshow-designer-1.33.0.tgz +0 -0
  153. package/bundles/rocketshow-designer.umd.js +0 -9947
  154. package/bundles/rocketshow-designer.umd.js.map +0 -1
  155. package/bundles/rocketshow-designer.umd.min.js +0 -17
  156. package/bundles/rocketshow-designer.umd.min.js.map +0 -1
  157. package/esm2015/lib/array-sort-pipe.js +0 -28
  158. package/esm2015/lib/designer.component.js +0 -411
  159. package/esm2015/lib/designer.module.js +0 -117
  160. package/esm2015/lib/designer.service.js +0 -16
  161. package/esm2015/lib/effect/effect-curve/effect-curve.component.js +0 -325
  162. package/esm2015/lib/effect/effect-pan-tilt/effect-pan-tilt.component.js +0 -30
  163. package/esm2015/lib/effect/effect.component.js +0 -73
  164. package/esm2015/lib/error-dialog/error-dialog.component.js +0 -42
  165. package/esm2015/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.js +0 -141
  166. package/esm2015/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.js +0 -128
  167. package/esm2015/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.js +0 -163
  168. package/esm2015/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.js +0 -60
  169. package/esm2015/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.js +0 -87
  170. package/esm2015/lib/fixture/fixture-capability/fixture-capability.component.js +0 -97
  171. package/esm2015/lib/fixture/fixture-channel/fixture-channel.component.js +0 -66
  172. package/esm2015/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.js +0 -200
  173. package/esm2015/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.js +0 -31
  174. package/esm2015/lib/fixture/fixture-settings/fixture-settings.component.js +0 -35
  175. package/esm2015/lib/fixture/fixture.component.js +0 -70
  176. package/esm2015/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.js +0 -128
  177. package/esm2015/lib/fixture-pool/fixture-pool.component.js +0 -331
  178. package/esm2015/lib/intro/intro.component.js +0 -25
  179. package/esm2015/lib/master-dimmer/master-dimmer.component.js +0 -41
  180. package/esm2015/lib/models/cached-fixture-capability.js +0 -9
  181. package/esm2015/lib/models/cached-fixture-channel.js +0 -7
  182. package/esm2015/lib/models/cached-fixture.js +0 -6
  183. package/esm2015/lib/models/color.js +0 -8
  184. package/esm2015/lib/models/composition.js +0 -46
  185. package/esm2015/lib/models/effect-curve-profile-channel.js +0 -15
  186. package/esm2015/lib/models/effect-curve.js +0 -69
  187. package/esm2015/lib/models/effect-pan-tilt.js +0 -19
  188. package/esm2015/lib/models/effect.js +0 -12
  189. package/esm2015/lib/models/fixture-capability-value.js +0 -15
  190. package/esm2015/lib/models/fixture-capability.js +0 -84
  191. package/esm2015/lib/models/fixture-channel-value.js +0 -11
  192. package/esm2015/lib/models/fixture-channel.js +0 -24
  193. package/esm2015/lib/models/fixture-mode.js +0 -14
  194. package/esm2015/lib/models/fixture-profile.js +0 -70
  195. package/esm2015/lib/models/fixture-wheel-slot.js +0 -26
  196. package/esm2015/lib/models/fixture-wheel.js +0 -15
  197. package/esm2015/lib/models/fixture.js +0 -40
  198. package/esm2015/lib/models/preset-region-scene.js +0 -8
  199. package/esm2015/lib/models/preset.js +0 -56
  200. package/esm2015/lib/models/project.js +0 -68
  201. package/esm2015/lib/models/scene-playback-region.js +0 -11
  202. package/esm2015/lib/models/scene.js +0 -27
  203. package/esm2015/lib/models/universe.js +0 -11
  204. package/esm2015/lib/preset/preset-settings/preset-settings.component.js +0 -66
  205. package/esm2015/lib/preset/preset.component.js +0 -85
  206. package/esm2015/lib/preview/models/color-changer-3d.js +0 -167
  207. package/esm2015/lib/preview/models/fixture-3d.js +0 -150
  208. package/esm2015/lib/preview/models/moving-head-3d.js +0 -233
  209. package/esm2015/lib/preview/preview.component.js +0 -242
  210. package/esm2015/lib/project/project-browser/project-browser.component.js +0 -73
  211. package/esm2015/lib/project/project-import/project-import.component.js +0 -89
  212. package/esm2015/lib/project/project-save/project-save.component.js +0 -105
  213. package/esm2015/lib/project/project-share/project-share.component.js +0 -43
  214. package/esm2015/lib/scene/scene-settings/scene-settings.component.js +0 -52
  215. package/esm2015/lib/scene/scene.component.js +0 -56
  216. package/esm2015/lib/services/animation.service.js +0 -17
  217. package/esm2015/lib/services/config.service.js +0 -28
  218. package/esm2015/lib/services/effect.service.js +0 -16
  219. package/esm2015/lib/services/error-dialog.service.js +0 -44
  220. package/esm2015/lib/services/fixture-pool.service.js +0 -34
  221. package/esm2015/lib/services/fixture.service.js +0 -443
  222. package/esm2015/lib/services/hotkey-target-exclude.service.js +0 -26
  223. package/esm2015/lib/services/intro.service.js +0 -144
  224. package/esm2015/lib/services/preset.service.js +0 -416
  225. package/esm2015/lib/services/preview-mesh.service.js +0 -58
  226. package/esm2015/lib/services/preview.service.js +0 -500
  227. package/esm2015/lib/services/project-load.service.js +0 -171
  228. package/esm2015/lib/services/project.service.js +0 -113
  229. package/esm2015/lib/services/scene.service.js +0 -174
  230. package/esm2015/lib/services/timeline.service.js +0 -738
  231. package/esm2015/lib/services/universe.service.js +0 -24
  232. package/esm2015/lib/services/user-ensure-login.service.js +0 -44
  233. package/esm2015/lib/services/user.service.js +0 -93
  234. package/esm2015/lib/services/uuid.service.js +0 -25
  235. package/esm2015/lib/services/warning-dialog.service.js +0 -43
  236. package/esm2015/lib/timeline/composition-settings/composition-settings.component.js +0 -197
  237. package/esm2015/lib/timeline/timeline-grid/timeline-grid.component.js +0 -55
  238. package/esm2015/lib/timeline/timeline.component.js +0 -239
  239. package/esm2015/lib/user/user-login/user-login.component.js +0 -64
  240. package/esm2015/lib/user/user-register/user-register.component.js +0 -89
  241. package/esm2015/lib/wait-dialog/wait-dialog.component.js +0 -16
  242. package/esm2015/lib/warning-dialog/warning-dialog.component.js +0 -42
  243. package/esm2015/public_api.js +0 -7
  244. package/esm2015/rocketshow-designer.js +0 -61
  245. package/esm5/lib/array-sort-pipe.js +0 -31
  246. package/esm5/lib/designer.component.js +0 -468
  247. package/esm5/lib/designer.module.js +0 -120
  248. package/esm5/lib/designer.service.js +0 -17
  249. package/esm5/lib/effect/effect-curve/effect-curve.component.js +0 -386
  250. package/esm5/lib/effect/effect-pan-tilt/effect-pan-tilt.component.js +0 -31
  251. package/esm5/lib/effect/effect.component.js +0 -75
  252. package/esm5/lib/error-dialog/error-dialog.component.js +0 -43
  253. package/esm5/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.js +0 -159
  254. package/esm5/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.js +0 -130
  255. package/esm5/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.js +0 -215
  256. package/esm5/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.js +0 -61
  257. package/esm5/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.js +0 -88
  258. package/esm5/lib/fixture/fixture-capability/fixture-capability.component.js +0 -130
  259. package/esm5/lib/fixture/fixture-channel/fixture-channel.component.js +0 -68
  260. package/esm5/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.js +0 -306
  261. package/esm5/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.js +0 -32
  262. package/esm5/lib/fixture/fixture-settings/fixture-settings.component.js +0 -36
  263. package/esm5/lib/fixture/fixture.component.js +0 -71
  264. package/esm5/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.js +0 -127
  265. package/esm5/lib/fixture-pool/fixture-pool.component.js +0 -430
  266. package/esm5/lib/intro/intro.component.js +0 -26
  267. package/esm5/lib/master-dimmer/master-dimmer.component.js +0 -42
  268. package/esm5/lib/models/cached-fixture-capability.js +0 -11
  269. package/esm5/lib/models/cached-fixture-channel.js +0 -9
  270. package/esm5/lib/models/cached-fixture.js +0 -8
  271. package/esm5/lib/models/color.js +0 -10
  272. package/esm5/lib/models/composition.js +0 -60
  273. package/esm5/lib/models/effect-curve-profile-channel.js +0 -29
  274. package/esm5/lib/models/effect-curve.js +0 -95
  275. package/esm5/lib/models/effect-pan-tilt.js +0 -24
  276. package/esm5/lib/models/effect.js +0 -14
  277. package/esm5/lib/models/fixture-capability-value.js +0 -17
  278. package/esm5/lib/models/fixture-capability.js +0 -86
  279. package/esm5/lib/models/fixture-channel-value.js +0 -13
  280. package/esm5/lib/models/fixture-channel.js +0 -38
  281. package/esm5/lib/models/fixture-mode.js +0 -16
  282. package/esm5/lib/models/fixture-profile.js +0 -114
  283. package/esm5/lib/models/fixture-wheel-slot.js +0 -28
  284. package/esm5/lib/models/fixture-wheel.js +0 -29
  285. package/esm5/lib/models/fixture.js +0 -42
  286. package/esm5/lib/models/preset-region-scene.js +0 -10
  287. package/esm5/lib/models/preset.js +0 -90
  288. package/esm5/lib/models/project.js +0 -122
  289. package/esm5/lib/models/scene-playback-region.js +0 -13
  290. package/esm5/lib/models/scene.js +0 -29
  291. package/esm5/lib/models/universe.js +0 -13
  292. package/esm5/lib/preset/preset-settings/preset-settings.component.js +0 -67
  293. package/esm5/lib/preset/preset.component.js +0 -86
  294. package/esm5/lib/preview/models/color-changer-3d.js +0 -194
  295. package/esm5/lib/preview/models/fixture-3d.js +0 -196
  296. package/esm5/lib/preview/models/moving-head-3d.js +0 -250
  297. package/esm5/lib/preview/preview.component.js +0 -280
  298. package/esm5/lib/project/project-browser/project-browser.component.js +0 -77
  299. package/esm5/lib/project/project-import/project-import.component.js +0 -88
  300. package/esm5/lib/project/project-save/project-save.component.js +0 -120
  301. package/esm5/lib/project/project-share/project-share.component.js +0 -44
  302. package/esm5/lib/scene/scene-settings/scene-settings.component.js +0 -53
  303. package/esm5/lib/scene/scene.component.js +0 -57
  304. package/esm5/lib/services/animation.service.js +0 -18
  305. package/esm5/lib/services/config.service.js +0 -29
  306. package/esm5/lib/services/effect.service.js +0 -17
  307. package/esm5/lib/services/error-dialog.service.js +0 -46
  308. package/esm5/lib/services/fixture-pool.service.js +0 -36
  309. package/esm5/lib/services/fixture.service.js +0 -643
  310. package/esm5/lib/services/hotkey-target-exclude.service.js +0 -27
  311. package/esm5/lib/services/intro.service.js +0 -145
  312. package/esm5/lib/services/preset.service.js +0 -637
  313. package/esm5/lib/services/preview-mesh.service.js +0 -61
  314. package/esm5/lib/services/preview.service.js +0 -754
  315. package/esm5/lib/services/project-load.service.js +0 -185
  316. package/esm5/lib/services/project.service.js +0 -127
  317. package/esm5/lib/services/scene.service.js +0 -251
  318. package/esm5/lib/services/timeline.service.js +0 -845
  319. package/esm5/lib/services/universe.service.js +0 -36
  320. package/esm5/lib/services/user-ensure-login.service.js +0 -45
  321. package/esm5/lib/services/user.service.js +0 -95
  322. package/esm5/lib/services/uuid.service.js +0 -26
  323. package/esm5/lib/services/warning-dialog.service.js +0 -45
  324. package/esm5/lib/timeline/composition-settings/composition-settings.component.js +0 -206
  325. package/esm5/lib/timeline/timeline-grid/timeline-grid.component.js +0 -56
  326. package/esm5/lib/timeline/timeline.component.js +0 -243
  327. package/esm5/lib/user/user-login/user-login.component.js +0 -66
  328. package/esm5/lib/user/user-register/user-register.component.js +0 -91
  329. package/esm5/lib/wait-dialog/wait-dialog.component.js +0 -18
  330. package/esm5/lib/warning-dialog/warning-dialog.component.js +0 -43
  331. package/esm5/public_api.js +0 -7
  332. package/esm5/rocketshow-designer.js +0 -61
  333. package/fesm2015/rocketshow-designer.js +0 -7945
  334. package/fesm2015/rocketshow-designer.js.map +0 -1
  335. package/fesm5/rocketshow-designer.js +0 -9690
  336. package/fesm5/rocketshow-designer.js.map +0 -1
  337. package/rocketshow-designer-1.31.0.tgz +0 -0
  338. package/rocketshow-designer.d.ts +0 -60
  339. package/rocketshow-designer.metadata.json +0 -1
@@ -1,185 +0,0 @@
1
- import { __decorate, __metadata, __values } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { ActivatedRoute, Params, Router } from '@angular/router';
4
- import { BsModalService } from 'ngx-bootstrap/modal';
5
- import { finalize, map } from 'rxjs/operators';
6
- import { Preset } from '../models/preset';
7
- import { Project } from '../models/project';
8
- import { WaitDialogComponent } from '../wait-dialog/wait-dialog.component';
9
- import { FixtureService } from './fixture.service';
10
- import { PresetService } from './preset.service';
11
- import { PreviewService } from './preview.service';
12
- import { ProjectService } from './project.service';
13
- import { SceneService } from './scene.service';
14
- import { TimelineService } from './timeline.service';
15
- import { UuidService } from './uuid.service';
16
- import * as i0 from "@angular/core";
17
- import * as i1 from "./project.service";
18
- import * as i2 from "./preview.service";
19
- import * as i3 from "./fixture.service";
20
- import * as i4 from "./preset.service";
21
- import * as i5 from "./scene.service";
22
- import * as i6 from "ngx-bootstrap/modal";
23
- import * as i7 from "./uuid.service";
24
- import * as i8 from "./timeline.service";
25
- import * as i9 from "@angular/router";
26
- var ProjectLoadService = /** @class */ (function () {
27
- function ProjectLoadService(projectService, previewService, fixtureService, presetService, sceneService, modalService, uuidService, timelineService, router, activatedRoute) {
28
- this.projectService = projectService;
29
- this.previewService = previewService;
30
- this.fixtureService = fixtureService;
31
- this.presetService = presetService;
32
- this.sceneService = sceneService;
33
- this.modalService = modalService;
34
- this.uuidService = uuidService;
35
- this.timelineService = timelineService;
36
- this.router = router;
37
- this.activatedRoute = activatedRoute;
38
- }
39
- ProjectLoadService.prototype.afterLoad = function () {
40
- this.fixtureService.updateCachedFixtures();
41
- this.presetService.removeDeletedFixtures();
42
- this.previewService.updateFixtureSetup();
43
- this.presetService.fixtureSelectionChanged.next();
44
- this.presetService.autoOpenFirstEffect();
45
- this.previewService.updateStage();
46
- this.presetService.previewLive();
47
- this.sceneService.selectPresetFromSelectedScene();
48
- };
49
- ProjectLoadService.prototype.selectScenesPresetComposition = function () {
50
- var e_1, _a;
51
- this.presetService.selectedPreset = this.presetService.getPresetByUuid(this.projectService.project.selectedPresetUuid);
52
- this.sceneService.selectedScenes = [];
53
- if (this.projectService.project.selectedSceneUuids) {
54
- try {
55
- for (var _b = __values(this.projectService.project.selectedSceneUuids), _c = _b.next(); !_c.done; _c = _b.next()) {
56
- var uuid = _c.value;
57
- this.sceneService.selectedScenes.push(this.sceneService.getSceneByUuid(uuid));
58
- }
59
- }
60
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
61
- finally {
62
- try {
63
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
64
- }
65
- finally { if (e_1) throw e_1.error; }
66
- }
67
- }
68
- this.timelineService.selectedComposition = undefined;
69
- this.timelineService.selectedCompositionIndex = undefined;
70
- this.timelineService.destroyWaveSurfer();
71
- for (var i = 0; i < this.projectService.project.compositions.length; i++) {
72
- if (this.projectService.project.compositions[i].uuid === this.projectService.project.selectedCompositionUuid) {
73
- this.timelineService.selectCompositionIndex(i);
74
- break;
75
- }
76
- }
77
- };
78
- ProjectLoadService.prototype.load = function (id, name, shareToken) {
79
- var _this = this;
80
- var ref = this.modalService.show(WaitDialogComponent, { keyboard: false, ignoreBackdropClick: true });
81
- return this.projectService.getProject(id, name, shareToken).pipe(map(function (project) {
82
- _this.projectService.project = project;
83
- _this.selectScenesPresetComposition();
84
- _this.afterLoad();
85
- var queryParams = {
86
- id: id,
87
- token: project.shareToken,
88
- };
89
- _this.router.navigate([], {
90
- relativeTo: _this.activatedRoute,
91
- queryParams: queryParams,
92
- queryParamsHandling: 'merge',
93
- });
94
- }), finalize(function () {
95
- // hide the modal again because of:
96
- // https://github.com/valor-software/ngx-bootstrap/issues/3711
97
- setTimeout(function () {
98
- ref.hide();
99
- }, 250);
100
- setTimeout(function () {
101
- ref.hide();
102
- }, 500);
103
- setTimeout(function () {
104
- ref.hide();
105
- }, 1500);
106
- }));
107
- };
108
- ProjectLoadService.prototype.new = function () {
109
- // create an empty new project
110
- var project = new Project();
111
- project.uuid = this.uuidService.getUuid();
112
- this.projectService.project = project;
113
- this.projectService.project.shareToken = this.uuidService.getUuid();
114
- // Add a default scene and preset
115
- var preset = new Preset();
116
- preset.uuid = this.uuidService.getUuid();
117
- preset.name = 'New Preset';
118
- this.projectService.project.presets.push(preset);
119
- this.presetService.selectPreset(0);
120
- this.sceneService.addScene();
121
- this.projectService.project.scenes[0].presetUuids.push(preset.uuid);
122
- this.projectService.project.previewPreset = true;
123
- this.sceneService.selectedScenes = [this.projectService.project.scenes[0]];
124
- this.presetService.selectedPreset = this.projectService.project.presets[0];
125
- this.timelineService.selectedComposition = undefined;
126
- this.timelineService.selectedCompositionIndex = undefined;
127
- this.timelineService.destroyWaveSurfer();
128
- this.afterLoad();
129
- var queryParams = {
130
- id: '',
131
- token: '',
132
- };
133
- this.router.navigate([], {
134
- relativeTo: this.activatedRoute,
135
- queryParams: queryParams,
136
- queryParamsHandling: 'merge',
137
- });
138
- };
139
- ProjectLoadService.prototype.template = function () {
140
- var _this = this;
141
- // load the template project with id 1
142
- this.load(1, null).subscribe(function () {
143
- _this.projectService.project.id = undefined;
144
- });
145
- };
146
- ProjectLoadService.prototype.import = function (data) {
147
- // import a project from a string
148
- var project = new Project(JSON.parse(data));
149
- project.id = undefined;
150
- this.projectService.project = project;
151
- this.selectScenesPresetComposition();
152
- this.afterLoad();
153
- };
154
- ProjectLoadService.ctorParameters = function () { return [
155
- { type: ProjectService },
156
- { type: PreviewService },
157
- { type: FixtureService },
158
- { type: PresetService },
159
- { type: SceneService },
160
- { type: BsModalService },
161
- { type: UuidService },
162
- { type: TimelineService },
163
- { type: Router },
164
- { type: ActivatedRoute }
165
- ]; };
166
- ProjectLoadService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProjectLoadService_Factory() { return new ProjectLoadService(i0.ɵɵinject(i1.ProjectService), i0.ɵɵinject(i2.PreviewService), i0.ɵɵinject(i3.FixtureService), i0.ɵɵinject(i4.PresetService), i0.ɵɵinject(i5.SceneService), i0.ɵɵinject(i6.BsModalService), i0.ɵɵinject(i7.UuidService), i0.ɵɵinject(i8.TimelineService), i0.ɵɵinject(i9.Router), i0.ɵɵinject(i9.ActivatedRoute)); }, token: ProjectLoadService, providedIn: "root" });
167
- ProjectLoadService = __decorate([
168
- Injectable({
169
- providedIn: 'root',
170
- }),
171
- __metadata("design:paramtypes", [ProjectService,
172
- PreviewService,
173
- FixtureService,
174
- PresetService,
175
- SceneService,
176
- BsModalService,
177
- UuidService,
178
- TimelineService,
179
- Router,
180
- ActivatedRoute])
181
- ], ProjectLoadService);
182
- return ProjectLoadService;
183
- }());
184
- export { ProjectLoadService };
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1sb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Acm9ja2V0c2hvdy9kZXNpZ25lci8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9wcm9qZWN0LWxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFLN0M7SUFDRSw0QkFDVSxjQUE4QixFQUM5QixjQUE4QixFQUM5QixjQUE4QixFQUM5QixhQUE0QixFQUM1QixZQUEwQixFQUMxQixZQUE0QixFQUM1QixXQUF3QixF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O1lBQ2YsYUFBYTtZQUNkLFlBQVk7WUFDWixjQUFjO1lBQ2YsV0FBVztZQUNQLGVBQWU7WUFDeEIsTUFBTTtZQUNFLGNBQWM7T0FYN0Isa0JBQWtCLENBc0k5Qjs2QkF6SkQ7Q0F5SkMsQUF0SUQsSUFzSUM7U0F0SVksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcywgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUHJlc2V0IH0gZnJvbSAnLi4vbW9kZWxzL3ByZXNldCc7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vbW9kZWxzL3Byb2plY3QnO1xuaW1wb3J0IHsgV2FpdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3dhaXQtZGlhbG9nL3dhaXQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaXh0dXJlU2VydmljZSB9IGZyb20gJy4vZml4dHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuL3ByZXNldC5zZXJ2aWNlJztcbmltcG9ydCB7IFByZXZpZXdTZXJ2aWNlIH0gZnJvbSAnLi9wcmV2aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvamVjdFNlcnZpY2UgfSBmcm9tICcuL3Byb2plY3Quc2VydmljZSc7XG5pbXBvcnQgeyBTY2VuZVNlcnZpY2UgfSBmcm9tICcuL3NjZW5lLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGltZWxpbmVTZXJ2aWNlIH0gZnJvbSAnLi90aW1lbGluZS5zZXJ2aWNlJztcbmltcG9ydCB7IFV1aWRTZXJ2aWNlIH0gZnJvbSAnLi91dWlkLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvamVjdExvYWRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwcm9qZWN0U2VydmljZTogUHJvamVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcmV2aWV3U2VydmljZTogUHJldmlld1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBmaXh0dXJlU2VydmljZTogRml4dHVyZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcmVzZXRTZXJ2aWNlOiBQcmVzZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2NlbmVTZXJ2aWNlOiBTY2VuZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXVpZFNlcnZpY2U6IFV1aWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGltZWxpbmVTZXJ2aWNlOiBUaW1lbGluZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICApIHt9XG5cbiAgcHJpdmF0ZSBhZnRlckxvYWQoKSB7XG4gICAgdGhpcy5maXh0dXJlU2VydmljZS51cGRhdGVDYWNoZWRGaXh0dXJlcygpO1xuICAgIHRoaXMucHJlc2V0U2VydmljZS5yZW1vdmVEZWxldGVkRml4dHVyZXMoKTtcbiAgICB0aGlzLnByZXZpZXdTZXJ2aWNlLnVwZGF0ZUZpeHR1cmVTZXR1cCgpO1xuICAgIHRoaXMucHJlc2V0U2VydmljZS5maXh0dXJlU2VsZWN0aW9uQ2hhbmdlZC5uZXh0KCk7XG4gICAgdGhpcy5wcmVzZXRTZXJ2aWNlLmF1dG9PcGVuRmlyc3RFZmZlY3QoKTtcbiAgICB0aGlzLnByZXZpZXdTZXJ2aWNlLnVwZGF0ZVN0YWdlKCk7XG4gICAgdGhpcy5wcmVzZXRTZXJ2aWNlLnByZXZpZXdMaXZlKCk7XG4gICAgdGhpcy5zY2VuZVNlcnZpY2Uuc2VsZWN0UHJlc2V0RnJvbVNlbGVjdGVkU2NlbmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0U2NlbmVzUHJlc2V0Q29tcG9zaXRpb24oKSB7XG4gICAgdGhpcy5wcmVzZXRTZXJ2aWNlLnNlbGVjdGVkUHJlc2V0ID0gdGhpcy5wcmVzZXRTZXJ2aWNlLmdldFByZXNldEJ5VXVpZCh0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc2VsZWN0ZWRQcmVzZXRVdWlkKTtcbiAgICB0aGlzLnNjZW5lU2VydmljZS5zZWxlY3RlZFNjZW5lcyA9IFtdO1xuICAgIGlmICh0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc2VsZWN0ZWRTY2VuZVV1aWRzKSB7XG4gICAgICBmb3IgKGNvbnN0IHV1aWQgb2YgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnNlbGVjdGVkU2NlbmVVdWlkcykge1xuICAgICAgICB0aGlzLnNjZW5lU2VydmljZS5zZWxlY3RlZFNjZW5lcy5wdXNoKHRoaXMuc2NlbmVTZXJ2aWNlLmdldFNjZW5lQnlVdWlkKHV1aWQpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy50aW1lbGluZVNlcnZpY2Uuc2VsZWN0ZWRDb21wb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnRpbWVsaW5lU2VydmljZS5zZWxlY3RlZENvbXBvc2l0aW9uSW5kZXggPSB1bmRlZmluZWQ7XG4gICAgdGhpcy50aW1lbGluZVNlcnZpY2UuZGVzdHJveVdhdmVTdXJmZXIoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5jb21wb3NpdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICh0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3QuY29tcG9zaXRpb25zW2ldLnV1aWQgPT09IHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zZWxlY3RlZENvbXBvc2l0aW9uVXVpZCkge1xuICAgICAgICB0aGlzLnRpbWVsaW5lU2VydmljZS5zZWxlY3RDb21wb3NpdGlvbkluZGV4KGkpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsb2FkKGlkOiBudW1iZXIsIG5hbWU6IHN0cmluZywgc2hhcmVUb2tlbj86IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IHJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLnNob3coV2FpdERpYWxvZ0NvbXBvbmVudCwgeyBrZXlib2FyZDogZmFsc2UsIGlnbm9yZUJhY2tkcm9wQ2xpY2s6IHRydWUgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5wcm9qZWN0U2VydmljZS5nZXRQcm9qZWN0KGlkLCBuYW1lLCBzaGFyZVRva2VuKS5waXBlKFxuICAgICAgbWFwKChwcm9qZWN0KSA9PiB7XG4gICAgICAgIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdCA9IHByb2plY3Q7XG4gICAgICAgIHRoaXMuc2VsZWN0U2NlbmVzUHJlc2V0Q29tcG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy5hZnRlckxvYWQoKTtcblxuICAgICAgICBjb25zdCBxdWVyeVBhcmFtczogUGFyYW1zID0ge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIHRva2VuOiBwcm9qZWN0LnNoYXJlVG9rZW4sXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICBxdWVyeVBhcmFtcyxcbiAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLCAvLyByZW1vdmUgdG8gcmVwbGFjZSBhbGwgcXVlcnkgcGFyYW1zIGJ5IHByb3ZpZGVkXG4gICAgICAgIH0pO1xuICAgICAgfSksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgIC8vIGhpZGUgdGhlIG1vZGFsIGFnYWluIGJlY2F1c2Ugb2Y6XG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS92YWxvci1zb2Z0d2FyZS9uZ3gtYm9vdHN0cmFwL2lzc3Vlcy8zNzExXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHJlZi5oaWRlKCk7XG4gICAgICAgIH0sIDI1MCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHJlZi5oaWRlKCk7XG4gICAgICAgIH0sIDUwMCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHJlZi5oaWRlKCk7XG4gICAgICAgIH0sIDE1MDApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmV3KCkge1xuICAgIC8vIGNyZWF0ZSBhbiBlbXB0eSBuZXcgcHJvamVjdFxuICAgIGNvbnN0IHByb2plY3QgPSBuZXcgUHJvamVjdCgpO1xuICAgIHByb2plY3QudXVpZCA9IHRoaXMudXVpZFNlcnZpY2UuZ2V0VXVpZCgpO1xuICAgIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdCA9IHByb2plY3Q7XG4gICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnNoYXJlVG9rZW4gPSB0aGlzLnV1aWRTZXJ2aWNlLmdldFV1aWQoKTtcblxuICAgIC8vIEFkZCBhIGRlZmF1bHQgc2NlbmUgYW5kIHByZXNldFxuICAgIGNvbnN0IHByZXNldCA9IG5ldyBQcmVzZXQoKTtcbiAgICBwcmVzZXQudXVpZCA9IHRoaXMudXVpZFNlcnZpY2UuZ2V0VXVpZCgpO1xuICAgIHByZXNldC5uYW1lID0gJ05ldyBQcmVzZXQnO1xuICAgIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5wcmVzZXRzLnB1c2gocHJlc2V0KTtcbiAgICB0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0UHJlc2V0KDApO1xuXG4gICAgdGhpcy5zY2VuZVNlcnZpY2UuYWRkU2NlbmUoKTtcbiAgICB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc2NlbmVzWzBdLnByZXNldFV1aWRzLnB1c2gocHJlc2V0LnV1aWQpO1xuXG4gICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnByZXZpZXdQcmVzZXQgPSB0cnVlO1xuXG4gICAgdGhpcy5zY2VuZVNlcnZpY2Uuc2VsZWN0ZWRTY2VuZXMgPSBbdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnNjZW5lc1swXV07XG4gICAgdGhpcy5wcmVzZXRTZXJ2aWNlLnNlbGVjdGVkUHJlc2V0ID0gdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnByZXNldHNbMF07XG5cbiAgICB0aGlzLnRpbWVsaW5lU2VydmljZS5zZWxlY3RlZENvbXBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgIHRoaXMudGltZWxpbmVTZXJ2aWNlLnNlbGVjdGVkQ29tcG9zaXRpb25JbmRleCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnRpbWVsaW5lU2VydmljZS5kZXN0cm95V2F2ZVN1cmZlcigpO1xuXG4gICAgdGhpcy5hZnRlckxvYWQoKTtcblxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zOiBQYXJhbXMgPSB7XG4gICAgICBpZDogJycsXG4gICAgICB0b2tlbjogJycsXG4gICAgfTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSxcbiAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJywgLy8gcmVtb3ZlIHRvIHJlcGxhY2UgYWxsIHF1ZXJ5IHBhcmFtcyBieSBwcm92aWRlZFxuICAgIH0pO1xuICB9XG5cbiAgdGVtcGxhdGUoKSB7XG4gICAgLy8gbG9hZCB0aGUgdGVtcGxhdGUgcHJvamVjdCB3aXRoIGlkIDFcbiAgICB0aGlzLmxvYWQoMSwgbnVsbCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5pZCA9IHVuZGVmaW5lZDtcbiAgICB9KTtcbiAgfVxuXG4gIGltcG9ydChkYXRhOiBzdHJpbmcpIHtcbiAgICAvLyBpbXBvcnQgYSBwcm9qZWN0IGZyb20gYSBzdHJpbmdcbiAgICBjb25zdCBwcm9qZWN0ID0gbmV3IFByb2plY3QoSlNPTi5wYXJzZShkYXRhKSk7XG4gICAgcHJvamVjdC5pZCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3QgPSBwcm9qZWN0O1xuXG4gICAgdGhpcy5zZWxlY3RTY2VuZXNQcmVzZXRDb21wb3NpdGlvbigpO1xuICAgIHRoaXMuYWZ0ZXJMb2FkKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,127 +0,0 @@
1
- import { __decorate, __metadata, __values } from "tslib";
2
- import { HttpClient } from '@angular/common/http';
3
- import { Injectable } from '@angular/core';
4
- import { ActivatedRoute, Params, Router } from '@angular/router';
5
- import { TranslateService } from '@ngx-translate/core';
6
- import { ToastrService } from 'ngx-toastr';
7
- import { map } from 'rxjs/operators';
8
- import { Project } from '../models/project';
9
- import { UserService } from './user.service';
10
- import { UuidService } from './uuid.service';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "./uuid.service";
13
- import * as i2 from "@angular/common/http";
14
- import * as i3 from "./user.service";
15
- import * as i4 from "@angular/router";
16
- import * as i5 from "@ngx-translate/core";
17
- import * as i6 from "ngx-toastr";
18
- var ProjectService = /** @class */ (function () {
19
- function ProjectService(uuidService, http, userService, router, activatedRoute, translateService, toastrService) {
20
- this.uuidService = uuidService;
21
- this.http = http;
22
- this.userService = userService;
23
- this.router = router;
24
- this.activatedRoute = activatedRoute;
25
- this.translateService = translateService;
26
- this.toastrService = toastrService;
27
- this.project = new Project();
28
- this.project.uuid = this.uuidService.getUuid();
29
- this.project.name = 'New Project';
30
- }
31
- ProjectService.prototype.saveApi = function (project) {
32
- var _this = this;
33
- return this.http.post('project', JSON.stringify(project), { headers: this.userService.getHeaders() }).pipe(map(function (response) {
34
- if (response) {
35
- project.id = response.id;
36
- if (response.shareToken) {
37
- project.shareToken = response.shareToken;
38
- }
39
- var queryParams = {
40
- id: project.id,
41
- token: project.shareToken,
42
- };
43
- _this.router.navigate([], {
44
- relativeTo: _this.activatedRoute,
45
- queryParams: queryParams,
46
- queryParamsHandling: 'merge',
47
- });
48
- }
49
- return null;
50
- }));
51
- };
52
- ProjectService.prototype.save = function (project) {
53
- var _this = this;
54
- // tries to save the project and returns, whether it has been saved or not
55
- this.saveApi(project).subscribe(function () {
56
- var msg = 'designer.project.save-success';
57
- var title = 'designer.project.save-success-title';
58
- _this.translateService.get([msg, title]).subscribe(function (result) {
59
- _this.toastrService.success(result[msg], result[title]);
60
- });
61
- _this.userService.setAutoLoadProject(project);
62
- }, function (response) {
63
- var msg = 'designer.project.save-error';
64
- var title = 'designer.project.save-error-title';
65
- var error = response && response.error ? response.error.error : 'unknown';
66
- _this.translateService.get([msg, title]).subscribe(function (result) {
67
- _this.toastrService.error(result[msg] + ' (' + error + ')', result[title]);
68
- });
69
- });
70
- };
71
- ProjectService.prototype.getAllProjects = function () {
72
- return this.http.get('projects', { headers: this.userService.getHeaders() }).pipe(map(function (response) {
73
- var e_1, _a;
74
- var projects = [];
75
- try {
76
- for (var response_1 = __values(response), response_1_1 = response_1.next(); !response_1_1.done; response_1_1 = response_1.next()) {
77
- var project = response_1_1.value;
78
- var projectObject = new Project(project);
79
- projects.push(projectObject);
80
- }
81
- }
82
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
83
- finally {
84
- try {
85
- if (response_1_1 && !response_1_1.done && (_a = response_1.return)) _a.call(response_1);
86
- }
87
- finally { if (e_1) throw e_1.error; }
88
- }
89
- return projects;
90
- }));
91
- };
92
- ProjectService.prototype.deleteProject = function (project) {
93
- return this.http.delete('project?id=' + project.id + '&name=' + project.name, { headers: this.userService.getHeaders() });
94
- };
95
- ProjectService.prototype.getProject = function (id, name, shareToken) {
96
- return this.http.get('project?id=' + id + '&name=' + name + '&token=' + shareToken, { headers: this.userService.getHeaders() }).pipe(map(function (response) {
97
- var project = new Project(response);
98
- project.id = id;
99
- return project;
100
- }));
101
- };
102
- ProjectService.ctorParameters = function () { return [
103
- { type: UuidService },
104
- { type: HttpClient },
105
- { type: UserService },
106
- { type: Router },
107
- { type: ActivatedRoute },
108
- { type: TranslateService },
109
- { type: ToastrService }
110
- ]; };
111
- ProjectService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProjectService_Factory() { return new ProjectService(i0.ɵɵinject(i1.UuidService), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.UserService), i0.ɵɵinject(i4.Router), i0.ɵɵinject(i4.ActivatedRoute), i0.ɵɵinject(i5.TranslateService), i0.ɵɵinject(i6.ToastrService)); }, token: ProjectService, providedIn: "root" });
112
- ProjectService = __decorate([
113
- Injectable({
114
- providedIn: 'root',
115
- }),
116
- __metadata("design:paramtypes", [UuidService,
117
- HttpClient,
118
- UserService,
119
- Router,
120
- ActivatedRoute,
121
- TranslateService,
122
- ToastrService])
123
- ], ProjectService);
124
- return ProjectService;
125
- }());
126
- export { ProjectService };
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJvY2tldHNob3cvZGVzaWduZXIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvcHJvamVjdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFLN0M7SUFJRSx3QkFDVSxXQUF3QixFQUN4QixJQUFnQixFQUNoQixXQUF3QixFQUN4QixNQUFjLEVBQ2QsY0FBOEIsRUFDOUIsZ0JBQWtDLEVBQ2xDLGFBQTRCO1FBTjVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBRXBDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM3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LFdBQVc7Z0JBQ2xCLFVBQVU7Z0JBQ0gsV0FBVztnQkFDaEIsTUFBTTtnQkFDRSxjQUFjO2dCQUNaLGdCQUFnQjtnQkFDbkIsYUFBYTs7O0lBWDNCLGNBQWM7UUFIMUIsVUFBVSxDQUFDO1lBQ1YsVUFBVSxFQUFFLE1BQU07U0FDbkIsQ0FBQzt5Q0FNdUIsV0FBVztZQUNsQixVQUFVO1lBQ0gsV0FBVztZQUNoQixNQUFNO1lBQ0UsY0FBYztZQUNaLGdCQUFnQjtZQUNuQixhQUFhO09BWDNCLGNBQWMsQ0E2RjFCO3lCQTNHRDtDQTJHQyxBQTdGRCxJQTZGQztTQTdGWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vbW9kZWxzL3Byb2plY3QnO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuL3VzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBVdWlkU2VydmljZSB9IGZyb20gJy4vdXVpZC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2plY3RTZXJ2aWNlIHtcbiAgLy8gdGhlIGN1cnJlbnQgcHJvamVjdFxuICBwdWJsaWMgcHJvamVjdDogUHJvamVjdDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHV1aWRTZXJ2aWNlOiBVdWlkU2VydmljZSxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b2FzdHJTZXJ2aWNlOiBUb2FzdHJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMucHJvamVjdCA9IG5ldyBQcm9qZWN0KCk7XG4gICAgdGhpcy5wcm9qZWN0LnV1aWQgPSB0aGlzLnV1aWRTZXJ2aWNlLmdldFV1aWQoKTtcbiAgICB0aGlzLnByb2plY3QubmFtZSA9ICdOZXcgUHJvamVjdCc7XG4gIH1cblxuICBwcml2YXRlIHNhdmVBcGkocHJvamVjdDogUHJvamVjdCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KCdwcm9qZWN0JywgSlNPTi5zdHJpbmdpZnkocHJvamVjdCksIHsgaGVhZGVyczogdGhpcy51c2VyU2VydmljZS5nZXRIZWFkZXJzKCkgfSkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICBpZiAocmVzcG9uc2UpIHtcbiAgICAgICAgICBwcm9qZWN0LmlkID0gcmVzcG9uc2UuaWQ7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLnNoYXJlVG9rZW4pIHtcbiAgICAgICAgICAgIHByb2plY3Quc2hhcmVUb2tlbiA9IHJlc3BvbnNlLnNoYXJlVG9rZW47XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zOiBQYXJhbXMgPSB7XG4gICAgICAgICAgICBpZDogcHJvamVjdC5pZCxcbiAgICAgICAgICAgIHRva2VuOiBwcm9qZWN0LnNoYXJlVG9rZW4sXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJywgLy8gcmVtb3ZlIHRvIHJlcGxhY2UgYWxsIHF1ZXJ5IHBhcmFtcyBieSBwcm92aWRlZFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc2F2ZShwcm9qZWN0OiBQcm9qZWN0KSB7XG4gICAgLy8gdHJpZXMgdG8gc2F2ZSB0aGUgcHJvamVjdCBhbmQgcmV0dXJucywgd2hldGhlciBpdCBoYXMgYmVlbiBzYXZlZCBvciBub3RcbiAgICB0aGlzLnNhdmVBcGkocHJvamVjdCkuc3Vic2NyaWJlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCBtc2cgPSAnZGVzaWduZXIucHJvamVjdC5zYXZlLXN1Y2Nlc3MnO1xuICAgICAgICBjb25zdCB0aXRsZSA9ICdkZXNpZ25lci5wcm9qZWN0LnNhdmUtc3VjY2Vzcy10aXRsZSc7XG5cbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldChbbXNnLCB0aXRsZV0pLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3MocmVzdWx0W21zZ10sIHJlc3VsdFt0aXRsZV0pO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLnNldEF1dG9Mb2FkUHJvamVjdChwcm9qZWN0KTtcbiAgICAgIH0sXG4gICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgY29uc3QgbXNnID0gJ2Rlc2lnbmVyLnByb2plY3Quc2F2ZS1lcnJvcic7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gJ2Rlc2lnbmVyLnByb2plY3Quc2F2ZS1lcnJvci10aXRsZSc7XG4gICAgICAgIGNvbnN0IGVycm9yID0gcmVzcG9uc2UgJiYgcmVzcG9uc2UuZXJyb3IgPyByZXNwb25zZS5lcnJvci5lcnJvciA6ICd1bmtub3duJztcblxuICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KFttc2csIHRpdGxlXSkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgICB0aGlzLnRvYXN0clNlcnZpY2UuZXJyb3IocmVzdWx0W21zZ10gKyAnICgnICsgZXJyb3IgKyAnKScsIHJlc3VsdFt0aXRsZV0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgZ2V0QWxsUHJvamVjdHMoKTogT2JzZXJ2YWJsZTxQcm9qZWN0W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCgncHJvamVjdHMnLCB7IGhlYWRlcnM6IHRoaXMudXNlclNlcnZpY2UuZ2V0SGVhZGVycygpIH0pLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgcHJvamVjdHM6IFByb2plY3RbXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHByb2plY3Qgb2YgcmVzcG9uc2UpIHtcbiAgICAgICAgICBjb25zdCBwcm9qZWN0T2JqZWN0ID0gbmV3IFByb2plY3QocHJvamVjdCk7XG4gICAgICAgICAgcHJvamVjdHMucHVzaChwcm9qZWN0T2JqZWN0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHJvamVjdHM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBkZWxldGVQcm9qZWN0KHByb2plY3Q6IFByb2plY3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKCdwcm9qZWN0P2lkPScgKyBwcm9qZWN0LmlkICsgJyZuYW1lPScgKyBwcm9qZWN0Lm5hbWUsIHsgaGVhZGVyczogdGhpcy51c2VyU2VydmljZS5nZXRIZWFkZXJzKCkgfSk7XG4gIH1cblxuICBnZXRQcm9qZWN0KGlkOiBudW1iZXIsIG5hbWU6IHN0cmluZywgc2hhcmVUb2tlbj86IHN0cmluZyk6IE9ic2VydmFibGU8UHJvamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KCdwcm9qZWN0P2lkPScgKyBpZCArICcmbmFtZT0nICsgbmFtZSArICcmdG9rZW49JyArIHNoYXJlVG9rZW4sIHsgaGVhZGVyczogdGhpcy51c2VyU2VydmljZS5nZXRIZWFkZXJzKCkgfSkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBwcm9qZWN0ID0gbmV3IFByb2plY3QocmVzcG9uc2UpO1xuICAgICAgICBwcm9qZWN0LmlkID0gaWQ7XG5cbiAgICAgICAgcmV0dXJuIHByb2plY3Q7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,251 +0,0 @@
1
- import { __decorate, __metadata, __values } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { Subject } from 'rxjs';
4
- import { Scene } from '../models/scene';
5
- import { EffectService } from './effect.service';
6
- import { PresetService } from './preset.service';
7
- import { ProjectService } from './project.service';
8
- import { UuidService } from './uuid.service';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "./uuid.service";
11
- import * as i2 from "./effect.service";
12
- import * as i3 from "./preset.service";
13
- import * as i4 from "./project.service";
14
- var SceneService = /** @class */ (function () {
15
- function SceneService(uuidService, effectService, presetService, projectService) {
16
- this.uuidService = uuidService;
17
- this.effectService = effectService;
18
- this.presetService = presetService;
19
- this.projectService = projectService;
20
- this.selectedScenes = [];
21
- this.sceneColors = ['#945fda', '#61da5f', '#5fc3da', '#dad65f', '#da5f5f', '#246db7'];
22
- this.multipleSelection = false;
23
- this.sceneDeleted = new Subject();
24
- this.sceneSelected = new Subject();
25
- }
26
- SceneService.prototype.sceneIsSelected = function (scene) {
27
- var e_1, _a;
28
- try {
29
- for (var _b = __values(this.selectedScenes), _c = _b.next(); !_c.done; _c = _b.next()) {
30
- var selectedScene = _c.value;
31
- if (selectedScene.uuid === scene.uuid) {
32
- return true;
33
- }
34
- }
35
- }
36
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
37
- finally {
38
- try {
39
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
40
- }
41
- finally { if (e_1) throw e_1.error; }
42
- }
43
- return false;
44
- };
45
- SceneService.prototype.presetIsSelected = function (preset) {
46
- var e_2, _a;
47
- if (!this.selectedScenes || this.selectedScenes.length !== 1) {
48
- return false;
49
- }
50
- try {
51
- for (var _b = __values(this.selectedScenes[0].presetUuids), _c = _b.next(); !_c.done; _c = _b.next()) {
52
- var uuid = _c.value;
53
- if (preset.uuid === uuid) {
54
- return true;
55
- }
56
- }
57
- }
58
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
59
- finally {
60
- try {
61
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
62
- }
63
- finally { if (e_2) throw e_2.error; }
64
- }
65
- return false;
66
- };
67
- SceneService.prototype.switchSceneSelection = function (scene) {
68
- // Select a scene if not yet selected or unselect it otherwise
69
- if (this.sceneIsSelected(scene)) {
70
- for (var i = 0; i < this.selectedScenes.length; i++) {
71
- if (this.selectedScenes[i].uuid === scene.uuid) {
72
- this.selectedScenes.splice(i, 1);
73
- return;
74
- }
75
- }
76
- }
77
- else {
78
- this.selectedScenes.push(scene);
79
- }
80
- this.sceneSelected.next();
81
- };
82
- SceneService.prototype.selectPresetFromSelectedScene = function () {
83
- // select the first preset of the scene, if no preset of the current scene is already
84
- // selected to make sure, the user does not edit a preset which is not even
85
- // active in the current scene (and sees no change).
86
- var e_3, _a, e_4, _b;
87
- var firstPresetUuid;
88
- try {
89
- // check, whether a preset of the current scene is already selected and do nothing
90
- // in this case
91
- for (var _c = __values(this.selectedScenes), _d = _c.next(); !_d.done; _d = _c.next()) {
92
- var scene = _d.value;
93
- try {
94
- for (var _e = (e_4 = void 0, __values(scene.presetUuids)), _f = _e.next(); !_f.done; _f = _e.next()) {
95
- var presetUuid = _f.value;
96
- firstPresetUuid = presetUuid;
97
- if (presetUuid === this.presetService.selectedPreset.uuid) {
98
- // a preset of a currently selected scene is already selected -> do nothing
99
- return;
100
- }
101
- }
102
- }
103
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
104
- finally {
105
- try {
106
- if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
107
- }
108
- finally { if (e_4) throw e_4.error; }
109
- }
110
- }
111
- }
112
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
113
- finally {
114
- try {
115
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
116
- }
117
- finally { if (e_3) throw e_3.error; }
118
- }
119
- if (!firstPresetUuid) {
120
- return;
121
- }
122
- for (var i = 0; i < this.projectService.project.presets.length; i++) {
123
- if (this.projectService.project.presets[i].uuid === firstPresetUuid) {
124
- this.presetService.selectPreset(i);
125
- break;
126
- }
127
- }
128
- };
129
- SceneService.prototype.selectScene = function (index) {
130
- var e_5, _a;
131
- this.effectService.selectedEffect = undefined;
132
- if (index >= this.projectService.project.scenes.length) {
133
- this.selectedScenes = [];
134
- }
135
- else {
136
- if (this.multipleSelection) {
137
- this.switchSceneSelection(this.projectService.project.scenes[index]);
138
- }
139
- else {
140
- this.selectedScenes = [];
141
- this.selectedScenes.push(this.projectService.project.scenes[index]);
142
- }
143
- }
144
- this.selectPresetFromSelectedScene();
145
- // preview the complete scene
146
- this.projectService.project.previewPreset = false;
147
- this.projectService.project.selectedSceneUuids = [];
148
- try {
149
- for (var _b = __values(this.selectedScenes), _c = _b.next(); !_c.done; _c = _b.next()) {
150
- var scene = _c.value;
151
- this.projectService.project.selectedSceneUuids.push(scene.uuid);
152
- }
153
- }
154
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
155
- finally {
156
- try {
157
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
158
- }
159
- finally { if (e_5) throw e_5.error; }
160
- }
161
- this.presetService.previewSelectionChanged.next();
162
- this.presetService.previewLive();
163
- this.sceneSelected.next();
164
- };
165
- SceneService.prototype.addScene = function (name) {
166
- var scene = new Scene();
167
- scene.uuid = this.uuidService.getUuid();
168
- scene.name = name || 'New Scene';
169
- if (this.projectService.project.scenes.length < this.sceneColors.length) {
170
- scene.color = this.sceneColors[this.projectService.project.scenes.length];
171
- }
172
- else {
173
- scene.color = '#' + Math.random().toString(16).slice(2, 8).toUpperCase();
174
- }
175
- // Insert the new scene before the highest currently selected scene
176
- var highestSelectedSceneIndex = 0;
177
- for (var i = 0; i < this.projectService.project.scenes.length; i++) {
178
- if (this.sceneIsSelected(this.projectService.project.scenes[i])) {
179
- highestSelectedSceneIndex = i;
180
- break;
181
- }
182
- }
183
- this.projectService.project.scenes.splice(highestSelectedSceneIndex, 0, scene);
184
- this.selectScene(highestSelectedSceneIndex);
185
- };
186
- SceneService.prototype.removeScene = function (scene) {
187
- var e_6, _a;
188
- try {
189
- // remove all playback regions
190
- for (var _b = __values(this.projectService.project.compositions), _c = _b.next(); !_c.done; _c = _b.next()) {
191
- var composition = _c.value;
192
- for (var i = composition.scenePlaybackRegions.length - 1; i >= 0; i--) {
193
- var compositionPlaybackRegion = composition.scenePlaybackRegions[i];
194
- if (compositionPlaybackRegion.sceneUuid === scene.uuid) {
195
- composition.scenePlaybackRegions.splice(i, 1);
196
- }
197
- }
198
- }
199
- }
200
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
201
- finally {
202
- try {
203
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
204
- }
205
- finally { if (e_6) throw e_6.error; }
206
- }
207
- // remove the scene
208
- this.projectService.project.scenes.splice(this.projectService.project.scenes.indexOf(scene), 1);
209
- if (this.projectService.project.scenes.length > 0) {
210
- this.selectScene(0);
211
- }
212
- this.sceneDeleted.next();
213
- };
214
- SceneService.prototype.getSceneByUuid = function (uuid) {
215
- var e_7, _a;
216
- try {
217
- for (var _b = __values(this.projectService.project.scenes), _c = _b.next(); !_c.done; _c = _b.next()) {
218
- var scene = _c.value;
219
- if (scene.uuid === uuid) {
220
- return scene;
221
- }
222
- }
223
- }
224
- catch (e_7_1) { e_7 = { error: e_7_1 }; }
225
- finally {
226
- try {
227
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
228
- }
229
- finally { if (e_7) throw e_7.error; }
230
- }
231
- };
232
- SceneService.ctorParameters = function () { return [
233
- { type: UuidService },
234
- { type: EffectService },
235
- { type: PresetService },
236
- { type: ProjectService }
237
- ]; };
238
- SceneService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SceneService_Factory() { return new SceneService(i0.ɵɵinject(i1.UuidService), i0.ɵɵinject(i2.EffectService), i0.ɵɵinject(i3.PresetService), i0.ɵɵinject(i4.ProjectService)); }, token: SceneService, providedIn: "root" });
239
- SceneService = __decorate([
240
- Injectable({
241
- providedIn: 'root',
242
- }),
243
- __metadata("design:paramtypes", [UuidService,
244
- EffectService,
245
- PresetService,
246
- ProjectService])
247
- ], SceneService);
248
- return SceneService;
249
- }());
250
- export { SceneService };
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Byb2NrZXRzaG93L2Rlc2lnbmVyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3NjZW5lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFLN0M7SUFTRSxzQkFDVSxXQUF3QixFQUN4QixhQUE0QixFQUM1QixhQUE0QixFQUM1QixjQUE4QjtRQUg5QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFaeEMsbUJBQWMsR0FBWSxFQUFFLENBQUM7UUFDN0IsZ0JBQVcsR0FBYSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFM0Ysc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRTFCLGlCQUFZLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDbEQsa0JBQWEsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU9oRCxDQUFDO0lBRUosc0NBQWUsR0FBZixVQUFnQixLQUFZOzs7WUFDMUIsS0FBNEIsSUFBQSxLQUFBLFNB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QUFBLGdCQUFBLDRCQUFFO2dCQUFuRCxJQUFNLEtBQUssV0FBQTtnQkFDZCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFO29CQUN2QixPQUFPLEtBQUssQ0FBQztpQkFDZDthQUNGOzs7Ozs7Ozs7SUFDSCxDQUFDOztnQkE5SnNCLFdBQVc7Z0JBQ1QsYUFBYTtnQkFDYixhQUFhO2dCQUNaLGNBQWM7OztJQWI3QixZQUFZO1FBSHhCLFVBQVUsQ0FBQztZQUNWLFVBQVUsRUFBRSxNQUFNO1NBQ25CLENBQUM7eUNBV3VCLFdBQVc7WUFDVCxhQUFhO1lBQ2IsYUFBYTtZQUNaLGNBQWM7T0FiN0IsWUFBWSxDQXlLeEI7dUJBckxEO0NBcUxDLEFBektELElBeUtDO1NBektZLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcmVzZXQgfSBmcm9tICcuLi9tb2RlbHMvcHJlc2V0JztcbmltcG9ydCB7IFNjZW5lIH0gZnJvbSAnLi4vbW9kZWxzL3NjZW5lJztcbmltcG9ydCB7IEVmZmVjdFNlcnZpY2UgfSBmcm9tICcuL2VmZmVjdC5zZXJ2aWNlJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuL3ByZXNldC5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2plY3RTZXJ2aWNlIH0gZnJvbSAnLi9wcm9qZWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVXVpZFNlcnZpY2UgfSBmcm9tICcuL3V1aWQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY2VuZVNlcnZpY2Uge1xuICBzZWxlY3RlZFNjZW5lczogU2NlbmVbXSA9IFtdO1xuICBzY2VuZUNvbG9yczogc3RyaW5nW10gPSBbJyM5NDVmZGEnLCAnIzYxZGE1ZicsICcjNWZjM2RhJywgJyNkYWQ2NWYnLCAnI2RhNWY1ZicsICcjMjQ2ZGI3J107XG5cbiAgbXVsdGlwbGVTZWxlY3Rpb24gPSBmYWxzZTtcblxuICBzY2VuZURlbGV0ZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBzY2VuZVNlbGVjdGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHV1aWRTZXJ2aWNlOiBVdWlkU2VydmljZSxcbiAgICBwcml2YXRlIGVmZmVjdFNlcnZpY2U6IEVmZmVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcmVzZXRTZXJ2aWNlOiBQcmVzZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJvamVjdFNlcnZpY2U6IFByb2plY3RTZXJ2aWNlXG4gICkge31cblxuICBzY2VuZUlzU2VsZWN0ZWQoc2NlbmU6IFNjZW5lKTogYm9vbGVhbiB7XG4gICAgZm9yIChjb25zdCBzZWxlY3RlZFNjZW5lIG9mIHRoaXMuc2VsZWN0ZWRTY2VuZXMpIHtcbiAgICAgIGlmIChzZWxlY3RlZFNjZW5lLnV1aWQgPT09IHNjZW5lLnV1aWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJlc2V0SXNTZWxlY3RlZChwcmVzZXQ6IFByZXNldCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5zZWxlY3RlZFNjZW5lcyB8fCB0aGlzLnNlbGVjdGVkU2NlbmVzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgdXVpZCBvZiB0aGlzLnNlbGVjdGVkU2NlbmVzWzBdLnByZXNldFV1aWRzKSB7XG4gICAgICBpZiAocHJlc2V0LnV1aWQgPT09IHV1aWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3dpdGNoU2NlbmVTZWxlY3Rpb24oc2NlbmU6IFNjZW5lKSB7XG4gICAgLy8gU2VsZWN0IGEgc2NlbmUgaWYgbm90IHlldCBzZWxlY3RlZCBvciB1bnNlbGVjdCBpdCBvdGhlcndpc2VcbiAgICBpZiAodGhpcy5zY2VuZUlzU2VsZWN0ZWQoc2NlbmUpKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc2VsZWN0ZWRTY2VuZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRTY2VuZXNbaV0udXVpZCA9PT0gc2NlbmUudXVpZCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTY2VuZXMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkU2NlbmVzLnB1c2goc2NlbmUpO1xuICAgIH1cblxuICAgIHRoaXMuc2NlbmVTZWxlY3RlZC5uZXh0KCk7XG4gIH1cblxuICBzZWxlY3RQcmVzZXRGcm9tU2VsZWN0ZWRTY2VuZSgpIHtcbiAgICAvLyBzZWxlY3QgdGhlIGZpcnN0IHByZXNldCBvZiB0aGUgc2NlbmUsIGlmIG5vIHByZXNldCBvZiB0aGUgY3VycmVudCBzY2VuZSBpcyBhbHJlYWR5XG4gICAgLy8gc2VsZWN0ZWQgdG8gbWFrZSBzdXJlLCB0aGUgdXNlciBkb2VzIG5vdCBlZGl0IGEgcHJlc2V0IHdoaWNoIGlzIG5vdCBldmVuXG4gICAgLy8gYWN0aXZlIGluIHRoZSBjdXJyZW50IHNjZW5lIChhbmQgc2VlcyBubyBjaGFuZ2UpLlxuXG4gICAgbGV0IGZpcnN0UHJlc2V0VXVpZDtcblxuICAgIC8vIGNoZWNrLCB3aGV0aGVyIGEgcHJlc2V0IG9mIHRoZSBjdXJyZW50IHNjZW5lIGlzIGFscmVhZHkgc2VsZWN0ZWQgYW5kIGRvIG5vdGhpbmdcbiAgICAvLyBpbiB0aGlzIGNhc2VcbiAgICBmb3IgKGNvbnN0IHNjZW5lIG9mIHRoaXMuc2VsZWN0ZWRTY2VuZXMpIHtcbiAgICAgIGZvciAoY29uc3QgcHJlc2V0VXVpZCBvZiBzY2VuZS5wcmVzZXRVdWlkcykge1xuICAgICAgICBmaXJzdFByZXNldFV1aWQgPSBwcmVzZXRVdWlkO1xuXG4gICAgICAgIGlmIChwcmVzZXRVdWlkID09PSB0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQudXVpZCkge1xuICAgICAgICAgIC8vIGEgcHJlc2V0IG9mIGEgY3VycmVudGx5IHNlbGVjdGVkIHNjZW5lIGlzIGFscmVhZHkgc2VsZWN0ZWQgLT4gZG8gbm90aGluZ1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghZmlyc3RQcmVzZXRVdWlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3QucHJlc2V0cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5wcmVzZXRzW2ldLnV1aWQgPT09IGZpcnN0UHJlc2V0VXVpZCkge1xuICAgICAgICB0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0UHJlc2V0KGkpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZWxlY3RTY2VuZShpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5lZmZlY3RTZXJ2aWNlLnNlbGVjdGVkRWZmZWN0ID0gdW5kZWZpbmVkO1xuXG4gICAgaWYgKGluZGV4ID49IHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zY2VuZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkU2NlbmVzID0gW107XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlU2VsZWN0aW9uKSB7XG4gICAgICAgIHRoaXMuc3dpdGNoU2NlbmVTZWxlY3Rpb24odGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnNjZW5lc1tpbmRleF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNjZW5lcyA9IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkU2NlbmVzLnB1c2godGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnNjZW5lc1tpbmRleF0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0UHJlc2V0RnJvbVNlbGVjdGVkU2NlbmUoKTtcblxuICAgIC8vIHByZXZpZXcgdGhlIGNvbXBsZXRlIHNjZW5lXG4gICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnByZXZpZXdQcmVzZXQgPSBmYWxzZTtcblxuICAgIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zZWxlY3RlZFNjZW5lVXVpZHMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNjZW5lIG9mIHRoaXMuc2VsZWN0ZWRTY2VuZXMpIHtcbiAgICAgIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zZWxlY3RlZFNjZW5lVXVpZHMucHVzaChzY2VuZS51dWlkKTtcbiAgICB9XG4gICAgdGhpcy5wcmVzZXRTZXJ2aWNlLnByZXZpZXdTZWxlY3Rpb25DaGFuZ2VkLm5leHQoKTtcbiAgICB0aGlzLnByZXNldFNlcnZpY2UucHJldmlld0xpdmUoKTtcblxuICAgIHRoaXMuc2NlbmVTZWxlY3RlZC5uZXh0KCk7XG4gIH1cblxuICBhZGRTY2VuZShuYW1lPzogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc2NlbmU6IFNjZW5lID0gbmV3IFNjZW5lKCk7XG4gICAgc2NlbmUudXVpZCA9IHRoaXMudXVpZFNlcnZpY2UuZ2V0VXVpZCgpO1xuICAgIHNjZW5lLm5hbWUgPSBuYW1lIHx8ICdOZXcgU2NlbmUnO1xuXG4gICAgaWYgKHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zY2VuZXMubGVuZ3RoIDwgdGhpcy5zY2VuZUNvbG9ycy5sZW5ndGgpIHtcbiAgICAgIHNjZW5lLmNvbG9yID0gdGhpcy5zY2VuZUNvbG9yc1t0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc2NlbmVzLmxlbmd0aF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHNjZW5lLmNvbG9yID0gJyMnICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygxNikuc2xpY2UoMiwgOCkudG9VcHBlckNhc2UoKTtcbiAgICB9XG5cbiAgICAvLyBJbnNlcnQgdGhlIG5ldyBzY2VuZSBiZWZvcmUgdGhlIGhpZ2hlc3QgY3VycmVudGx5IHNlbGVjdGVkIHNjZW5lXG4gICAgbGV0IGhpZ2hlc3RTZWxlY3RlZFNjZW5lSW5kZXggPSAwO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc2NlbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodGhpcy5zY2VuZUlzU2VsZWN0ZWQodGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnNjZW5lc1tpXSkpIHtcbiAgICAgICAgaGlnaGVzdFNlbGVjdGVkU2NlbmVJbmRleCA9IGk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zY2VuZXMuc3BsaWNlKGhpZ2hlc3RTZWxlY3RlZFNjZW5lSW5kZXgsIDAsIHNjZW5lKTtcbiAgICB0aGlzLnNlbGVjdFNjZW5lKGhpZ2hlc3RTZWxlY3RlZFNjZW5lSW5kZXgpO1xuICB9XG5cbiAgcmVtb3ZlU2NlbmUoc2NlbmU6IFNjZW5lKTogdm9pZCB7XG4gICAgLy8gcmVtb3ZlIGFsbCBwbGF5YmFjayByZWdpb25zXG4gICAgZm9yIChjb25zdCBjb21wb3NpdGlvbiBvZiB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3QuY29tcG9zaXRpb25zKSB7XG4gICAgICBmb3IgKGxldCBpID0gY29tcG9zaXRpb24uc2NlbmVQbGF5YmFja1JlZ2lvbnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgY29uc3QgY29tcG9zaXRpb25QbGF5YmFja1JlZ2lvbiA9IGNvbXBvc2l0aW9uLnNjZW5lUGxheWJhY2tSZWdpb25zW2ldO1xuICAgICAgICBpZiAoY29tcG9zaXRpb25QbGF5YmFja1JlZ2lvbi5zY2VuZVV1aWQgPT09IHNjZW5lLnV1aWQpIHtcbiAgICAgICAgICBjb21wb3NpdGlvbi5zY2VuZVBsYXliYWNrUmVnaW9ucy5zcGxpY2UoaSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyByZW1vdmUgdGhlIHNjZW5lXG4gICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnNjZW5lcy5zcGxpY2UodGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnNjZW5lcy5pbmRleE9mKHNjZW5lKSwgMSk7XG4gICAgaWYgKHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zY2VuZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZWxlY3RTY2VuZSgwKTtcbiAgICB9XG5cbiAgICB0aGlzLnNjZW5lRGVsZXRlZC5uZXh0KCk7XG4gIH1cblxuICBnZXRTY2VuZUJ5VXVpZCh1dWlkOiBzdHJpbmcpOiBTY2VuZSB7XG4gICAgZm9yIChjb25zdCBzY2VuZSBvZiB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc2NlbmVzKSB7XG4gICAgICBpZiAoc2NlbmUudXVpZCA9PT0gdXVpZCkge1xuICAgICAgICByZXR1cm4gc2NlbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=