@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
@@ -1,215 +0,0 @@
1
- import { __decorate, __metadata, __values } from "tslib";
2
- import { ChangeDetectorRef, Component, Input, OnDestroy, OnInit } from '@angular/core';
3
- import { CachedFixtureChannel } from '../../../models/cached-fixture-channel';
4
- import { FixtureCapabilityType } from '../../../models/fixture-capability';
5
- import { FixtureProfile } from '../../../models/fixture-profile';
6
- import { FixtureService } from '../../../services/fixture.service';
7
- import { PresetService } from '../../../services/preset.service';
8
- var FixtureCapabilityColorWheelComponent = /** @class */ (function () {
9
- function FixtureCapabilityColorWheelComponent(presetService, changeDetectorRef, fixtureService) {
10
- this.presetService = presetService;
11
- this.changeDetectorRef = changeDetectorRef;
12
- this.fixtureService = fixtureService;
13
- this.showContainer = false;
14
- }
15
- Object.defineProperty(FixtureCapabilityColorWheelComponent.prototype, "profile", {
16
- set: function (value) {
17
- this._fixtureProfile = value;
18
- this.update();
19
- },
20
- enumerable: true,
21
- configurable: true
22
- });
23
- Object.defineProperty(FixtureCapabilityColorWheelComponent.prototype, "channel", {
24
- set: function (value) {
25
- this._channel = value;
26
- this.update();
27
- },
28
- enumerable: true,
29
- configurable: true
30
- });
31
- FixtureCapabilityColorWheelComponent.prototype.ngOnInit = function () {
32
- var _this = this;
33
- this.colorChangeSubscription = this.presetService.fixtureColorChanged.subscribe(function () {
34
- _this.changeDetectorRef.detectChanges();
35
- });
36
- };
37
- FixtureCapabilityColorWheelComponent.prototype.ngOnDestroy = function () {
38
- this.colorChangeSubscription.unsubscribe();
39
- };
40
- FixtureCapabilityColorWheelComponent.prototype.update = function () {
41
- var e_1, _a, e_2, _b;
42
- if (this._fixtureProfile && this._channel) {
43
- this.wheelName = undefined;
44
- this.slotCapabilities = [];
45
- try {
46
- // get the wheel name
47
- for (var _c = __values(this._channel.capabilities), _d = _c.next(); !_d.done; _d = _c.next()) {
48
- var capability = _d.value;
49
- if (capability.wheel) {
50
- this.wheelName = capability.wheelName;
51
- break;
52
- }
53
- }
54
- }
55
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
56
- finally {
57
- try {
58
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
59
- }
60
- finally { if (e_1) throw e_1.error; }
61
- }
62
- if (!this.wheelName) {
63
- this.wheelName = this._channel.name;
64
- }
65
- this.wheel = this.fixtureService.getWheelByName(this._fixtureProfile, this.wheelName);
66
- try {
67
- // calculate all available slots
68
- for (var _e = __values(this._channel.capabilities), _f = _e.next(); !_f.done; _f = _e.next()) {
69
- var capability = _f.value;
70
- if (capability.capability.type === FixtureCapabilityType.WheelSlot) {
71
- this.slotCapabilities.push(capability);
72
- }
73
- }
74
- }
75
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
76
- finally {
77
- try {
78
- if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
79
- }
80
- finally { if (e_2) throw e_2.error; }
81
- }
82
- }
83
- this.changeDetectorRef.detectChanges();
84
- };
85
- FixtureCapabilityColorWheelComponent.prototype.getCapabilityColorStyle = function (capability) {
86
- var e_3, _a, e_4, _b;
87
- var property = 'background-color';
88
- var value = 'black';
89
- var colors = [];
90
- if (capability.wheelSlots) {
91
- try {
92
- for (var _c = __values(capability.wheelSlots), _d = _c.next(); !_d.done; _d = _c.next()) {
93
- var slot = _d.value;
94
- // calculate the color based on the color wheel slot
95
- if (slot.colors.length > 0) {
96
- colors = colors.concat(slot.colors);
97
- }
98
- }
99
- }
100
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
101
- finally {
102
- try {
103
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
104
- }
105
- finally { if (e_3) throw e_3.error; }
106
- }
107
- }
108
- if (colors.length > 1) {
109
- // mixed colors -> gradient
110
- var colorString = void 0;
111
- try {
112
- for (var colors_1 = __values(colors), colors_1_1 = colors_1.next(); !colors_1_1.done; colors_1_1 = colors_1.next()) {
113
- var color = colors_1_1.value;
114
- if (colorString) {
115
- colorString += ', ';
116
- }
117
- else {
118
- colorString = '';
119
- }
120
- colorString += color;
121
- }
122
- }
123
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
124
- finally {
125
- try {
126
- if (colors_1_1 && !colors_1_1.done && (_b = colors_1.return)) _b.call(colors_1);
127
- }
128
- finally { if (e_4) throw e_4.error; }
129
- }
130
- property = 'background-image';
131
- value = 'linear-gradient(to bottom right, ' + colorString + ')';
132
- }
133
- else if (colors.length === 1) {
134
- value = colors[0];
135
- }
136
- else {
137
- value = '#fff';
138
- }
139
- var style = {};
140
- style[property] = value;
141
- return style;
142
- };
143
- FixtureCapabilityColorWheelComponent.prototype.getCurrentSlotNumber = function () {
144
- var capabilityValue = this.presetService.getCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.WheelSlot, undefined, this.wheelName, this._fixtureProfile.uuid);
145
- if (capabilityValue) {
146
- return capabilityValue.slotNumber;
147
- }
148
- return undefined;
149
- };
150
- FixtureCapabilityColorWheelComponent.prototype.slotCapabilityIsSelected = function (slotNumber) {
151
- var selectedSlotNumber = this.getCurrentSlotNumber();
152
- if (selectedSlotNumber >= 0) {
153
- // a slot is selected
154
- return selectedSlotNumber === slotNumber;
155
- }
156
- else {
157
- // no slot is selected and the capability is inactive
158
- // -> show the approx. color, if a color or a similar slot from a different wheel has been selected
159
- var approximatedCapability = this.presetService.getApproximatedColorWheelCapability(this.presetService.selectedPreset, this._channel);
160
- if (approximatedCapability) {
161
- return slotNumber === approximatedCapability.capability.slotNumber;
162
- }
163
- else {
164
- return false;
165
- }
166
- }
167
- };
168
- FixtureCapabilityColorWheelComponent.prototype.changeActive = function (active) {
169
- if (active) {
170
- this.presetService.setCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.WheelSlot, undefined, 1, undefined, this.wheelName, this._fixtureProfile.uuid);
171
- }
172
- else {
173
- this.presetService.deleteCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.WheelSlot, undefined, this.wheelName, this._fixtureProfile.uuid);
174
- }
175
- this.presetService.previewLive();
176
- };
177
- FixtureCapabilityColorWheelComponent.prototype.selectSlotNumber = function (slotNumber) {
178
- this.presetService.setCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.WheelSlot, undefined, slotNumber, undefined, this.wheelName, this._fixtureProfile.uuid);
179
- this.presetService.previewLive();
180
- };
181
- FixtureCapabilityColorWheelComponent.ctorParameters = function () { return [
182
- { type: PresetService },
183
- { type: ChangeDetectorRef },
184
- { type: FixtureService }
185
- ]; };
186
- __decorate([
187
- Input(),
188
- __metadata("design:type", FixtureProfile),
189
- __metadata("design:paramtypes", [FixtureProfile])
190
- ], FixtureCapabilityColorWheelComponent.prototype, "profile", null);
191
- __decorate([
192
- Input(),
193
- __metadata("design:type", CachedFixtureChannel),
194
- __metadata("design:paramtypes", [CachedFixtureChannel])
195
- ], FixtureCapabilityColorWheelComponent.prototype, "channel", null);
196
- __decorate([
197
- Input(),
198
- __metadata("design:type", Number)
199
- ], FixtureCapabilityColorWheelComponent.prototype, "wheelIndex", void 0);
200
- __decorate([
201
- Input(),
202
- __metadata("design:type", Object)
203
- ], FixtureCapabilityColorWheelComponent.prototype, "showContainer", void 0);
204
- FixtureCapabilityColorWheelComponent = __decorate([
205
- Component({
206
- selector: 'lib-app-fixture-capability-color-wheel',
207
- template: "<div class=\"card border-secondary h-100\" [class.capability-deactivated]=\"getCurrentSlotNumber() == undefined\" style=\"min-height: 200px\">\n <div class=\"card-header\">\n <div class=\"my-auto\">\n <div class=\"form-check\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n id=\"capabilityColorWheel{{ wheelIndex }}Active\"\n [ngModel]=\"getCurrentSlotNumber() != undefined\"\n (ngModelChange)=\"changeActive($event)\"\n />\n <label class=\"form-check-label\" for=\"capabilityColorWheel{{ wheelIndex }}Active\">\n {{ 'designer.fixture.capability-color' | translate }}\n </label>\n </div>\n </div>\n </div>\n\n <div class=\"card-body h-100\">\n <div *ngIf=\"showContainer\">{{ _fixtureProfile.name }} - {{ _channel.name }}</div>\n\n <div *ngIf=\"wheel\" class=\"d-flex\" style=\"max-width: 240px; flex-wrap: wrap\">\n <div\n *ngFor=\"let slot of slotCapabilities; let i = index\"\n (click)=\"selectSlotNumber(slot.capability.slotNumber)\"\n class=\"m-1 color\"\n [class.color-selected]=\"slotCapabilityIsSelected(slot.capability.slotNumber)\"\n [ngStyle]=\"getCapabilityColorStyle(slot)\"\n >\n <div\n *ngIf=\"slotCapabilityIsSelected(slot.capability.slotNumber)\"\n (click)=\"selectSlotNumber(slot.capability.slotNumber)\"\n class=\"color-selected-inner\"\n ></div>\n </div>\n </div>\n </div>\n</div>\n",
208
- styles: [".color{box-sizing:border-box;width:50px;height:50px;border:1px solid #ced4da;cursor:pointer}.color-selected{border-width:3px;border-color:#fff}.color-selected-inner{border:1px solid #000;height:100%;width:100%}"]
209
- }),
210
- __metadata("design:paramtypes", [PresetService, ChangeDetectorRef, FixtureService])
211
- ], FixtureCapabilityColorWheelComponent);
212
- return FixtureCapabilityColorWheelComponent;
213
- }());
214
- export { FixtureCapabilityColorWheelComponent };
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jYXBhYmlsaXR5LWNvbG9yLXdoZWVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Byb2NrZXRzaG93L2Rlc2lnbmVyLyIsInNvdXJjZXMiOlsibGliL2ZpeHR1cmUvZml4dHVyZS1jYXBhYmlsaXR5L2ZpeHR1cmUtY2FwYWJpbGl0eS1jb2xvci13aGVlbC9maXh0dXJlLWNhcGFiaWxpdHktY29sb3Itd2hlZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBT2pFO0lBMkJFLDhDQUFtQixhQUE0QixFQUFVLGlCQUFvQyxFQUFVLGNBQThCO1FBQWxILGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUZySSxrQkFBYSxHQUFHLEtBQUssQ0FBQztJQUVrSCxDQUFDO0lBakJ6SSxzQkFBSSx5REFBTzthQUFYLFVBQVksS0FBcUI7WUFDL0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDN0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUM7OztPQUFBO0lBR0Qsc0JBQUkseURBQU87YUFBWCxVQUFZLEtBQTJCO1lBQ3JDLElBQUksQ0FBQyxRQUFRLEdB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Z0JBQTBCLGNBQWM7O0lBakJySTtRQURDLEtBQUssRUFBRTtrQ0FDVyxjQUFjO3lDQUFkLGNBQWM7dUVBR2hDO0lBR0Q7UUFEQyxLQUFLLEVBQUU7a0NBQ1csb0JBQW9CO3lDQUFwQixvQkFBb0I7dUVBR3RDO0lBR0Q7UUFEQyxLQUFLLEVBQUU7OzRFQUNXO0lBR25CO1FBREMsS0FBSyxFQUFFOzsrRUFDYztJQXpCWCxvQ0FBb0M7UUFMaEQsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLHdDQUF3QztZQUNsRCwwL0NBQThEOztTQUUvRCxDQUFDO3lDQTRCa0MsYUFBYSxFQUE2QixpQkFBaUIsRUFBMEIsY0FBYztPQTNCMUgsb0NBQW9DLENBbUxoRDtJQUFELDJDQUFDO0NBQUEsQUFuTEQsSUFtTEM7U0FuTFksb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhY2hlZEZpeHR1cmVDYXBhYmlsaXR5IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NhY2hlZC1maXh0dXJlLWNhcGFiaWxpdHknO1xuaW1wb3J0IHsgQ2FjaGVkRml4dHVyZUNoYW5uZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY2FjaGVkLWZpeHR1cmUtY2hhbm5lbCc7XG5pbXBvcnQgeyBGaXh0dXJlQ2FwYWJpbGl0eVR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZml4dHVyZS1jYXBhYmlsaXR5JztcbmltcG9ydCB7IEZpeHR1cmVQcm9maWxlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZpeHR1cmUtcHJvZmlsZSc7XG5pbXBvcnQgeyBGaXh0dXJlV2hlZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZml4dHVyZS13aGVlbCc7XG5pbXBvcnQgeyBGaXh0dXJlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZpeHR1cmUuc2VydmljZSc7XG5pbXBvcnQgeyBQcmVzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJlc2V0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXBwLWZpeHR1cmUtY2FwYWJpbGl0eS1jb2xvci13aGVlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maXh0dXJlLWNhcGFiaWxpdHktY29sb3Itd2hlZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maXh0dXJlLWNhcGFiaWxpdHktY29sb3Itd2hlZWwuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaXh0dXJlQ2FwYWJpbGl0eUNvbG9yV2hlZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIF9maXh0dXJlUHJvZmlsZTogRml4dHVyZVByb2ZpbGU7XG4gIF9jaGFubmVsOiBDYWNoZWRGaXh0dXJlQ2hhbm5lbDtcbiAgd2hlZWxOYW1lOiBzdHJpbmc7XG4gIHdoZWVsOiBGaXh0dXJlV2hlZWw7XG4gIHNsb3RDYXBhYmlsaXRpZXM6IENhY2hlZEZpeHR1cmVDYXBhYmlsaXR5W107XG5cbiAgcHJpdmF0ZSBjb2xvckNoYW5nZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBwcm9maWxlKHZhbHVlOiBGaXh0dXJlUHJvZmlsZSkge1xuICAgIHRoaXMuX2ZpeHR1cmVQcm9maWxlID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBjaGFubmVsKHZhbHVlOiBDYWNoZWRGaXh0dXJlQ2hhbm5lbCkge1xuICAgIHRoaXMuX2NoYW5uZWwgPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgd2hlZWxJbmRleDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dDb250YWluZXIgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcHJlc2V0U2VydmljZTogUHJlc2V0U2VydmljZSwgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgZml4dHVyZVNlcnZpY2U6IEZpeHR1cmVTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29sb3JDaGFuZ2VTdWJzY3JpcHRpb24gPSB0aGlzLnByZXNldFNlcnZpY2UuZml4dHVyZUNvbG9yQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNvbG9yQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZSgpIHtcbiAgICBpZiAodGhpcy5fZml4dHVyZVByb2ZpbGUgJiYgdGhpcy5fY2hhbm5lbCkge1xuICAgICAgdGhpcy53aGVlbE5hbWUgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnNsb3RDYXBhYmlsaXRpZXMgPSBbXTtcblxuICAgICAgLy8gZ2V0IHRoZSB3aGVlbCBuYW1lXG4gICAgICBmb3IgKGNvbnN0IGNhcGFiaWxpdHkgb2YgdGhpcy5fY2hhbm5lbC5jYXBhYmlsaXRpZXMpIHtcbiAgICAgICAgaWYgKGNhcGFiaWxpdHkud2hlZWwpIHtcbiAgICAgICAgICB0aGlzLndoZWVsTmFtZSA9IGNhcGFiaWxpdHkud2hlZWxOYW1lO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMud2hlZWxOYW1lKSB7XG4gICAgICAgIHRoaXMud2hlZWxOYW1lID0gdGhpcy5fY2hhbm5lbC5uYW1lO1xuICAgICAgfVxuXG4gICAgICB0aGlzLndoZWVsID0gdGhpcy5maXh0dXJlU2VydmljZS5nZXRXaGVlbEJ5TmFtZSh0aGlzLl9maXh0dXJlUHJvZmlsZSwgdGhpcy53aGVlbE5hbWUpO1xuXG4gICAgICAvLyBjYWxjdWxhdGUgYWxsIGF2YWlsYWJsZSBzbG90c1xuICAgICAgZm9yIChjb25zdCBjYXBhYmlsaXR5IG9mIHRoaXMuX2NoYW5uZWwuY2FwYWJpbGl0aWVzKSB7XG4gICAgICAgIGlmIChjYXBhYmlsaXR5LmNhcGFiaWxpdHkudHlwZSA9PT0gRml4dHVyZUNhcGFiaWxpdHlUeXBlLldoZWVsU2xvdCkge1xuICAgICAgICAgIHRoaXMuc2xvdENhcGFiaWxpdGllcy5wdXNoKGNhcGFiaWxpdHkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBnZXRDYXBhYmlsaXR5Q29sb3JTdHlsZShjYXBhYmlsaXR5OiBDYWNoZWRGaXh0dXJlQ2FwYWJpbGl0eSk6IGFueSB7XG4gICAgbGV0IHByb3BlcnR5ID0gJ2JhY2tncm91bmQtY29sb3InO1xuICAgIGxldCB2YWx1ZSA9ICdibGFjayc7XG4gICAgbGV0IGNvbG9yczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmIChjYXBhYmlsaXR5LndoZWVsU2xvdHMpIHtcbiAgICAgIGZvciAoY29uc3Qgc2xvdCBvZiBjYXBhYmlsaXR5LndoZWVsU2xvdHMpIHtcbiAgICAgICAgLy8gY2FsY3VsYXRlIHRoZSBjb2xvciBiYXNlZCBvbiB0aGUgY29sb3Igd2hlZWwgc2xvdFxuICAgICAgICBpZiAoc2xvdC5jb2xvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbG9ycyA9IGNvbG9ycy5jb25jYXQoc2xvdC5jb2xvcnMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNvbG9ycy5sZW5ndGggPiAxKSB7XG4gICAgICAvLyBtaXhlZCBjb2xvcnMgLT4gZ3JhZGllbnRcbiAgICAgIGxldCBjb2xvclN0cmluZzogc3RyaW5nO1xuICAgICAgZm9yIChjb25zdCBjb2xvciBvZiBjb2xvcnMpIHtcbiAgICAgICAgaWYgKGNvbG9yU3RyaW5nKSB7XG4gICAgICAgICAgY29sb3JTdHJpbmcgKz0gJywgJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb2xvclN0cmluZyA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIGNvbG9yU3RyaW5nICs9IGNvbG9yO1xuICAgICAgfVxuICAgICAgcHJvcGVydHkgPSAnYmFja2dyb3VuZC1pbWFnZSc7XG4gICAgICB2YWx1ZSA9ICdsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCAnICsgY29sb3JTdHJpbmcgKyAnKSc7XG4gICAgfSBlbHNlIGlmIChjb2xvcnMubGVuZ3RoID09PSAxKSB7XG4gICAgICB2YWx1ZSA9IGNvbG9yc1swXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUgPSAnI2ZmZic7XG4gICAgfVxuXG4gICAgY29uc3Qgc3R5bGUgPSB7fTtcbiAgICBzdHlsZVtwcm9wZXJ0eV0gPSB2YWx1ZTtcbiAgICByZXR1cm4gc3R5bGU7XG4gIH1cblxuICBnZXRDdXJyZW50U2xvdE51bWJlcigpOiBudW1iZXIge1xuICAgIGNvbnN0IGNhcGFiaWxpdHlWYWx1ZSA9IHRoaXMucHJlc2V0U2VydmljZS5nZXRDYXBhYmlsaXR5VmFsdWUoXG4gICAgICB0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQsXG4gICAgICBGaXh0dXJlQ2FwYWJpbGl0eVR5cGUuV2hlZWxTbG90LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdGhpcy53aGVlbE5hbWUsXG4gICAgICB0aGlzLl9maXh0dXJlUHJvZmlsZS51dWlkXG4gICAgKTtcblxuICAgIGlmIChjYXBhYmlsaXR5VmFsdWUpIHtcbiAgICAgIHJldHVybiBjYXBhYmlsaXR5VmFsdWUuc2xvdE51bWJlcjtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHNsb3RDYXBhYmlsaXR5SXNTZWxlY3RlZChzbG90TnVtYmVyOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBjb25zdCBzZWxlY3RlZFNsb3ROdW1iZXIgPSB0aGlzLmdldEN1cnJlbnRTbG90TnVtYmVyKCk7XG5cbiAgICBpZiAoc2VsZWN0ZWRTbG90TnVtYmVyID49IDApIHtcbiAgICAgIC8vIGEgc2xvdCBpcyBzZWxlY3RlZFxuICAgICAgcmV0dXJuIHNlbGVjdGVkU2xvdE51bWJlciA9PT0gc2xvdE51bWJlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gbm8gc2xvdCBpcyBzZWxlY3RlZCBhbmQgdGhlIGNhcGFiaWxpdHkgaXMgaW5hY3RpdmVcbiAgICAgIC8vIC0+IHNob3cgdGhlIGFwcHJveC4gY29sb3IsIGlmIGEgY29sb3Igb3IgYSBzaW1pbGFyIHNsb3QgZnJvbSBhIGRpZmZlcmVudCB3aGVlbCBoYXMgYmVlbiBzZWxlY3RlZFxuICAgICAgY29uc3QgYXBwcm94aW1hdGVkQ2FwYWJpbGl0eSA9IHRoaXMucHJlc2V0U2VydmljZS5nZXRBcHByb3hpbWF0ZWRDb2xvcldoZWVsQ2FwYWJpbGl0eShcbiAgICAgICAgdGhpcy5wcmVzZXRTZXJ2aWNlLnNlbGVjdGVkUHJlc2V0LFxuICAgICAgICB0aGlzLl9jaGFubmVsXG4gICAgICApO1xuXG4gICAgICBpZiAoYXBwcm94aW1hdGVkQ2FwYWJpbGl0eSkge1xuICAgICAgICByZXR1cm4gc2xvdE51bWJlciA9PT0gYXBwcm94aW1hdGVkQ2FwYWJpbGl0eS5jYXBhYmlsaXR5LnNsb3ROdW1iZXI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlQWN0aXZlKGFjdGl2ZTogYm9vbGVhbikge1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIHRoaXMucHJlc2V0U2VydmljZS5zZXRDYXBhYmlsaXR5VmFsdWUoXG4gICAgICAgIHRoaXMucHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCxcbiAgICAgICAgRml4dHVyZUNhcGFiaWxpdHlUeXBlLldoZWVsU2xvdCxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAxLFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIHRoaXMud2hlZWxOYW1lLFxuICAgICAgICB0aGlzLl9maXh0dXJlUHJvZmlsZS51dWlkXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnByZXNldFNlcnZpY2UuZGVsZXRlQ2FwYWJpbGl0eVZhbHVlKFxuICAgICAgICB0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQsXG4gICAgICAgIEZpeHR1cmVDYXBhYmlsaXR5VHlwZS5XaGVlbFNsb3QsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgdGhpcy53aGVlbE5hbWUsXG4gICAgICAgIHRoaXMuX2ZpeHR1cmVQcm9maWxlLnV1aWRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5wcmVzZXRTZXJ2aWNlLnByZXZpZXdMaXZlKCk7XG4gIH1cblxuICBzZWxlY3RTbG90TnVtYmVyKHNsb3ROdW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMucHJlc2V0U2VydmljZS5zZXRDYXBhYmlsaXR5VmFsdWUoXG4gICAgICB0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQsXG4gICAgICBGaXh0dXJlQ2FwYWJpbGl0eVR5cGUuV2hlZWxTbG90LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgc2xvdE51bWJlcixcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHRoaXMud2hlZWxOYW1lLFxuICAgICAgdGhpcy5fZml4dHVyZVByb2ZpbGUudXVpZFxuICAgICk7XG4gICAgdGhpcy5wcmVzZXRTZXJ2aWNlLnByZXZpZXdMaXZlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,61 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
3
- import { FixtureCapabilityType } from '../../../models/fixture-capability';
4
- import { PresetService } from '../../../services/preset.service';
5
- var FixtureCapabilityDimmerComponent = /** @class */ (function () {
6
- function FixtureCapabilityDimmerComponent(presetService, changeDetectorRef) {
7
- this.presetService = presetService;
8
- this.changeDetectorRef = changeDetectorRef;
9
- }
10
- FixtureCapabilityDimmerComponent.prototype.ngOnInit = function () { };
11
- FixtureCapabilityDimmerComponent.prototype.getValue = function () {
12
- var capabilityValue = this.presetService.getCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Intensity);
13
- if (capabilityValue) {
14
- return capabilityValue.valuePercentage;
15
- }
16
- return undefined;
17
- };
18
- FixtureCapabilityDimmerComponent.prototype.getValueText = function () {
19
- var value = this.getValue();
20
- if (value >= 0) {
21
- return Math.round(value * 100 * 100) / 100;
22
- }
23
- return undefined;
24
- };
25
- FixtureCapabilityDimmerComponent.prototype.setValue = function (value) {
26
- if (isNaN(value)) {
27
- return;
28
- }
29
- if (value < 0 || value > 1) {
30
- return;
31
- }
32
- this.presetService.setCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Intensity, value);
33
- this.changeDetectorRef.detectChanges();
34
- this.presetService.previewLive();
35
- };
36
- FixtureCapabilityDimmerComponent.prototype.changeActive = function (active) {
37
- if (active) {
38
- this.setValue(1);
39
- }
40
- else {
41
- this.presetService.deleteCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Intensity);
42
- this.changeDetectorRef.detectChanges();
43
- }
44
- this.presetService.previewLive();
45
- };
46
- FixtureCapabilityDimmerComponent.ctorParameters = function () { return [
47
- { type: PresetService },
48
- { type: ChangeDetectorRef }
49
- ]; };
50
- FixtureCapabilityDimmerComponent = __decorate([
51
- Component({
52
- selector: 'lib-app-fixture-capability-dimmer',
53
- template: "<div class=\"card border-secondary h-100\" [class.capability-deactivated]=\"getValue() == undefined\" style=\"min-height: 200px\">\n <div class=\"card-header\">\n <div class=\"my-auto\">\n <div class=\"form-check\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n id=\"capabilityDimmerActive\"\n [ngModel]=\"getValue() != undefined\"\n (ngModelChange)=\"changeActive($event)\"\n />\n <label class=\"form-check-label\" for=\"capabilityDimmerActive\">\n <i class=\"icon-dimmer\"></i>\n </label>\n </div>\n </div>\n </div>\n\n <div class=\"card-body h-100 d-flex\" style=\"flex-direction: column\">\n <div class=\"mb-4 w-100 d-flex\">\n <input\n class=\"mx-auto\"\n type=\"text\"\n [ngModel]=\"getValueText() >= 0 ? getValueText() : 0\"\n (ngModelChange)=\"setValue($event / 100)\"\n style=\"width: 42px; height: 20px; text-align: center; font-size: 12px; font-family: monospace\"\n />\n </div>\n\n <div class=\"h-100 w-100 d-flex\">\n <mv-slider\n class=\"mx-auto\"\n [value]=\"getValue() >= 0 ? getValue() : 0\"\n (change)=\"setValue($event.newValue)\"\n [orientation]=\"'vertical'\"\n [reversed]=\"true\"\n style=\"height: 100%\"\n [tooltip]=\"'hide'\"\n [min]=\"0\"\n [max]=\"1\"\n [step]=\"0.001\"\n ></mv-slider>\n </div>\n </div>\n</div>\n",
54
- styles: [""]
55
- }),
56
- __metadata("design:paramtypes", [PresetService, ChangeDetectorRef])
57
- ], FixtureCapabilityDimmerComponent);
58
- return FixtureCapabilityDimmerComponent;
59
- }());
60
- export { FixtureCapabilityDimmerComponent };
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jYXBhYmlsaXR5LWRpbW1lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Acm9ja2V0c2hvdy9kZXNpZ25lci8iLCJzb3VyY2VzIjpbImxpYi9maXh0dXJlL2ZpeHR1cmUtY2FwYWJpbGl0eS9maXh0dXJlLWNhcGFiaWxpdHktZGltbWVyL2ZpeHR1cmUtY2FwYWJpbGl0eS1kaW1tZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFPakU7SUFDRSwwQ0FBb0IsYUFBNEIsRUFBVSxpQkFBb0M7UUFBMUUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQUcsQ0FBQztJQUVsRyxtREFBUSxHQUFSLGNBQVksQ0FBQztJQUViLG1EQUFRLEdBQVI7UUFDRSxJQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xJLElBQUksZUFBZSxFQUFFO1lBQ25CLE9BQU8sZUFBZSxDQUFDLGVBQWUsQ0FBQztTQUN4QztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCx1REFBWSxHQUFaO1FBQ0UsSUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlCLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztTQUM1QztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxtREFBUSxHQUFSLFVBQVMsS0FBVTtRQUNqQixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNoQixPQUFPO1NBQ1I7UUFFRCxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtZQUMxQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsdURBQVksR0FBWixVQUFhLE1BQWU7UUFDMUIsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2xCO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzdHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN4QztRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQzs7Z0JBMUNrQyxhQUFhO2dCQUE2QixpQkFBaUI7O0lBRG5GLGdDQUFnQztRQUw1QyxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsbUNBQW1DO1lBQzdDLGsrQ0FBeUQ7O1NBRTFELENBQUM7eUNBRW1DLGFBQWEsRUFBNkIsaUJBQWlCO09BRG5GLGdDQUFnQyxDQTRDNUM7SUFBRCx1Q0FBQztDQUFBLEFBNUNELElBNENDO1NBNUNZLGdDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRml4dHVyZUNhcGFiaWxpdHlUeXBlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZpeHR1cmUtY2FwYWJpbGl0eSc7XG5pbXBvcnQgeyBQcmVzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJlc2V0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXBwLWZpeHR1cmUtY2FwYWJpbGl0eS1kaW1tZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZml4dHVyZS1jYXBhYmlsaXR5LWRpbW1lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpeHR1cmUtY2FwYWJpbGl0eS1kaW1tZXIuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaXh0dXJlQ2FwYWJpbGl0eURpbW1lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJlc2V0U2VydmljZTogUHJlc2V0U2VydmljZSwgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGdldFZhbHVlKCk6IG51bWJlciB7XG4gICAgY29uc3QgY2FwYWJpbGl0eVZhbHVlID0gdGhpcy5wcmVzZXRTZXJ2aWNlLmdldENhcGFiaWxpdHlWYWx1ZSh0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQsIEZpeHR1cmVDYXBhYmlsaXR5VHlwZS5JbnRlbnNpdHkpO1xuICAgIGlmIChjYXBhYmlsaXR5VmFsdWUpIHtcbiAgICAgIHJldHVybiBjYXBhYmlsaXR5VmFsdWUudmFsdWVQZXJjZW50YWdlO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0VmFsdWVUZXh0KCk6IG51bWJlciB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgaWYgKHZhbHVlID49IDApIHtcbiAgICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlICogMTAwICogMTAwKSAvIDEwMDtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IDEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnByZXNldFNlcnZpY2Uuc2V0Q2FwYWJpbGl0eVZhbHVlKHRoaXMucHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCwgRml4dHVyZUNhcGFiaWxpdHlUeXBlLkludGVuc2l0eSwgdmFsdWUpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMucHJlc2V0U2VydmljZS5wcmV2aWV3TGl2ZSgpO1xuICB9XG5cbiAgY2hhbmdlQWN0aXZlKGFjdGl2ZTogYm9vbGVhbikge1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIHRoaXMuc2V0VmFsdWUoMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJlc2V0U2VydmljZS5kZWxldGVDYXBhYmlsaXR5VmFsdWUodGhpcy5wcmVzZXRTZXJ2aWNlLnNlbGVjdGVkUHJlc2V0LCBGaXh0dXJlQ2FwYWJpbGl0eVR5cGUuSW50ZW5zaXR5KTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICB0aGlzLnByZXNldFNlcnZpY2UucHJldmlld0xpdmUoKTtcbiAgfVxufVxuIl19
@@ -1,88 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
3
- import { FixtureCapabilityType } from '../../../models/fixture-capability';
4
- import { PresetService } from '../../../services/preset.service';
5
- var FixtureCapabilityPanTiltComponent = /** @class */ (function () {
6
- function FixtureCapabilityPanTiltComponent(presetService, changeDetectorRef) {
7
- this.presetService = presetService;
8
- this.changeDetectorRef = changeDetectorRef;
9
- }
10
- FixtureCapabilityPanTiltComponent.prototype.ngOnInit = function () { };
11
- FixtureCapabilityPanTiltComponent.prototype.getValuePan = function () {
12
- var capabilityValue = this.presetService.getCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Pan);
13
- if (capabilityValue) {
14
- return capabilityValue.valuePercentage;
15
- }
16
- return undefined;
17
- };
18
- FixtureCapabilityPanTiltComponent.prototype.getValueTextPan = function () {
19
- var value = this.getValuePan();
20
- if (value >= 0) {
21
- return Math.round(value * 100 * 100) / 100;
22
- }
23
- return undefined;
24
- };
25
- FixtureCapabilityPanTiltComponent.prototype.setValuePan = function (value) {
26
- if (isNaN(value)) {
27
- return;
28
- }
29
- if (value < 0 || value > 1) {
30
- return;
31
- }
32
- this.presetService.setCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Pan, value);
33
- this.changeDetectorRef.detectChanges();
34
- this.presetService.previewLive();
35
- };
36
- FixtureCapabilityPanTiltComponent.prototype.getValueTilt = function () {
37
- var capabilityValue = this.presetService.getCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Tilt);
38
- if (capabilityValue) {
39
- return capabilityValue.valuePercentage;
40
- }
41
- return undefined;
42
- };
43
- FixtureCapabilityPanTiltComponent.prototype.getValueTextTilt = function () {
44
- var value = this.getValueTilt();
45
- if (value >= 0) {
46
- return Math.round(value * 100 * 100) / 100;
47
- }
48
- return undefined;
49
- };
50
- FixtureCapabilityPanTiltComponent.prototype.setValueTilt = function (value) {
51
- if (isNaN(value)) {
52
- return;
53
- }
54
- if (value < 0 || value > 1) {
55
- return;
56
- }
57
- this.presetService.setCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Tilt, value);
58
- this.changeDetectorRef.detectChanges();
59
- this.presetService.previewLive();
60
- };
61
- FixtureCapabilityPanTiltComponent.prototype.changeActive = function (active) {
62
- if (active) {
63
- this.setValuePan(0.5);
64
- this.setValueTilt(0.5);
65
- }
66
- else {
67
- this.presetService.deleteCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Pan);
68
- this.presetService.deleteCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Tilt);
69
- this.changeDetectorRef.detectChanges();
70
- }
71
- this.presetService.previewLive();
72
- };
73
- FixtureCapabilityPanTiltComponent.ctorParameters = function () { return [
74
- { type: PresetService },
75
- { type: ChangeDetectorRef }
76
- ]; };
77
- FixtureCapabilityPanTiltComponent = __decorate([
78
- Component({
79
- selector: 'lib-app-fixture-capability-pan-tilt',
80
- template: "<div class=\"card border-secondary h-100\" [class.capability-deactivated]=\"getValuePan() == undefined && getValueTilt() == undefined\">\n <div class=\"card-header\">\n <div class=\"my-auto\">\n <div class=\"form-check\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n id=\"capabilityColorWheelActive\"\n [ngModel]=\"getValuePan() != undefined || getValueTilt() != undefined\"\n (ngModelChange)=\"changeActive($event)\"\n />\n <label class=\"form-check-label\" for=\"capabilityColorWheelActive\">{{ 'designer.fixture.capability-pan-tilt' | translate }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"card-body h-100 d-flex\" style=\"flex-direction: row\">\n <div class=\"d-flex h-100 mr-3\" style=\"flex-direction: column\">\n <div class=\"mb-4 w-100 d-flex\">\n <input\n class=\"mx-auto\"\n type=\"text\"\n [ngModel]=\"getValueTextPan() >= 0 ? getValueTextPan() : 0\"\n (ngModelChange)=\"setValuePan($event / 100)\"\n style=\"width: 42px; height: 20px; text-align: center; font-size: 12px; font-family: monospace\"\n />\n </div>\n\n <div class=\"h-100 w-100 d-flex\">\n <mv-slider\n class=\"mx-auto\"\n [value]=\"getValuePan() >= 0 ? getValuePan() : 0\"\n (change)=\"setValuePan($event.newValue)\"\n [orientation]=\"'vertical'\"\n [reversed]=\"true\"\n style=\"height: 100%\"\n [tooltip]=\"'hide'\"\n [min]=\"0\"\n [max]=\"1\"\n [step]=\"0.001\"\n ></mv-slider>\n </div>\n </div>\n\n <div class=\"d-flex h-100\" style=\"flex-direction: column\">\n <div class=\"mb-4 w-100 d-flex\">\n <input\n class=\"mx-auto\"\n type=\"text\"\n [ngModel]=\"getValueTextTilt() >= 0 ? getValueTextTilt() : 0\"\n (ngModelChange)=\"setValueTilt($event / 100)\"\n style=\"width: 42px; height: 20px; text-align: center; font-size: 12px; font-family: monospace\"\n />\n </div>\n\n <div class=\"h-100 w-100 d-flex\">\n <mv-slider\n class=\"mx-auto\"\n [value]=\"getValueTilt() >= 0 ? getValueTilt() : 0\"\n (change)=\"setValueTilt($event.newValue)\"\n [orientation]=\"'vertical'\"\n [reversed]=\"true\"\n style=\"height: 100%\"\n [tooltip]=\"'hide'\"\n [min]=\"0\"\n [max]=\"1\"\n [step]=\"0.001\"\n ></mv-slider>\n </div>\n </div>\n </div>\n</div>\n",
81
- styles: [""]
82
- }),
83
- __metadata("design:paramtypes", [PresetService, ChangeDetectorRef])
84
- ], FixtureCapabilityPanTiltComponent);
85
- return FixtureCapabilityPanTiltComponent;
86
- }());
87
- export { FixtureCapabilityPanTiltComponent };
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jYXBhYmlsaXR5LXBhbi10aWx0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Byb2NrZXRzaG93L2Rlc2lnbmVyLyIsInNvdXJjZXMiOlsibGliL2ZpeHR1cmUvZml4dHVyZS1jYXBhYmlsaXR5L2ZpeHR1cmUtY2FwYWJpbGl0eS1wYW4tdGlsdC9maXh0dXJlLWNhcGFiaWxpdHktcGFuLXRpbHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFPakU7SUFDRSwyQ0FBb0IsYUFBNEIsRUFBVSxpQkFBb0M7UUFBMUUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQUcsQ0FBQztJQUVsRyxvREFBUSxHQUFSLGNBQVksQ0FBQztJQUViLHVEQUFXLEdBQVg7UUFDRSxJQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVILElBQUksZUFBZSxFQUFFO1lBQ25CLE9BQU8sZUFBZSxDQUFDLGVBQWUsQ0FBQztTQUN4QztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCwyREFBZSxHQUFmO1FBQ0UsSUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcs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bmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaXh0dXJlQ2FwYWJpbGl0eVR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZml4dHVyZS1jYXBhYmlsaXR5JztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVzZXQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hcHAtZml4dHVyZS1jYXBhYmlsaXR5LXBhbi10aWx0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpeHR1cmUtY2FwYWJpbGl0eS1wYW4tdGlsdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpeHR1cmUtY2FwYWJpbGl0eS1wYW4tdGlsdC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZpeHR1cmVDYXBhYmlsaXR5UGFuVGlsdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJlc2V0U2VydmljZTogUHJlc2V0U2VydmljZSwgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGdldFZhbHVlUGFuKCk6IG51bWJlciB7XG4gICAgY29uc3QgY2FwYWJpbGl0eVZhbHVlID0gdGhpcy5wcmVzZXRTZXJ2aWNlLmdldENhcGFiaWxpdHlWYWx1ZSh0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQsIEZpeHR1cmVDYXBhYmlsaXR5VHlwZS5QYW4pO1xuICAgIGlmIChjYXBhYmlsaXR5VmFsdWUpIHtcbiAgICAgIHJldHVybiBjYXBhYmlsaXR5VmFsdWUudmFsdWVQZXJjZW50YWdlO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0VmFsdWVUZXh0UGFuKCk6IG51bWJlciB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFZhbHVlUGFuKCk7XG4gICAgaWYgKHZhbHVlID49IDApIHtcbiAgICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlICogMTAwICogMTAwKSAvIDEwMDtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHNldFZhbHVlUGFuKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IDEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnByZXNldFNlcnZpY2Uuc2V0Q2FwYWJpbGl0eVZhbHVlKHRoaXMucHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCwgRml4dHVyZUNhcGFiaWxpdHlUeXBlLlBhbiwgdmFsdWUpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMucHJlc2V0U2VydmljZS5wcmV2aWV3TGl2ZSgpO1xuICB9XG5cbiAgZ2V0VmFsdWVUaWx0KCk6IG51bWJlciB7XG4gICAgY29uc3QgY2FwYWJpbGl0eVZhbHVlID0gdGhpcy5wcmVzZXRTZXJ2aWNlLmdldENhcGFiaWxpdHlWYWx1ZSh0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQsIEZpeHR1cmVDYXBhYmlsaXR5VHlwZS5UaWx0KTtcbiAgICBpZiAoY2FwYWJpbGl0eVZhbHVlKSB7XG4gICAgICByZXR1cm4gY2FwYWJpbGl0eVZhbHVlLnZhbHVlUGVyY2VudGFnZTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldFZhbHVlVGV4dFRpbHQoKTogbnVtYmVyIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWVUaWx0KCk7XG4gICAgaWYgKHZhbHVlID49IDApIHtcbiAgICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlICogMTAwICogMTAwKSAvIDEwMDtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHNldFZhbHVlVGlsdCh2YWx1ZTogYW55KSB7XG4gICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA8IDAgfHwgdmFsdWUgPiAxKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wcmVzZXRTZXJ2aWNlLnNldENhcGFiaWxpdHlWYWx1ZSh0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQsIEZpeHR1cmVDYXBhYmlsaXR5VHlwZS5UaWx0LCB2YWx1ZSk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5wcmVzZXRTZXJ2aWNlLnByZXZpZXdMaXZlKCk7XG4gIH1cblxuICBjaGFuZ2VBY3RpdmUoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgaWYgKGFjdGl2ZSkge1xuICAgICAgdGhpcy5zZXRWYWx1ZVBhbigwLjUpO1xuICAgICAgdGhpcy5zZXRWYWx1ZVRpbHQoMC41KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcmVzZXRTZXJ2aWNlLmRlbGV0ZUNhcGFiaWxpdHlWYWx1ZSh0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQsIEZpeHR1cmVDYXBhYmlsaXR5VHlwZS5QYW4pO1xuICAgICAgdGhpcy5wcmVzZXRTZXJ2aWNlLmRlbGV0ZUNhcGFiaWxpdHlWYWx1ZSh0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQsIEZpeHR1cmVDYXBhYmlsaXR5VHlwZS5UaWx0KTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICB0aGlzLnByZXNldFNlcnZpY2UucHJldmlld0xpdmUoKTtcbiAgfVxufVxuIl19
@@ -1,130 +0,0 @@
1
- import { __decorate, __metadata, __values } from "tslib";
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
3
- import { FixtureWheelSlotType } from '../../models/fixture-wheel-slot';
4
- import { FixtureService } from '../../services/fixture.service';
5
- import { IntroService } from '../../services/intro.service';
6
- import { PresetService } from '../../services/preset.service';
7
- import { ProjectService } from '../../services/project.service';
8
- var FixtureCapabilityComponent = /** @class */ (function () {
9
- function FixtureCapabilityComponent(presetService, fixtureService, changeDetectorRef, projectService, introService) {
10
- var _this = this;
11
- this.presetService = presetService;
12
- this.fixtureService = fixtureService;
13
- this.changeDetectorRef = changeDetectorRef;
14
- this.projectService = projectService;
15
- this.introService = introService;
16
- // map containing the profile and the channel name containing the wheel
17
- this.colorWheelChannels = new Map();
18
- this.fixtureSelectionChangedSubscription = this.presetService.fixtureSelectionChanged.subscribe(function () {
19
- _this.update();
20
- });
21
- this.previewSelectionChangedSubscription = this.presetService.previewSelectionChanged.subscribe(function () {
22
- _this.update();
23
- });
24
- this.introService.stepChanged.subscribe(function () {
25
- _this.changeDetectorRef.detectChanges();
26
- });
27
- }
28
- FixtureCapabilityComponent.prototype.ngOnInit = function () { };
29
- FixtureCapabilityComponent.prototype.ngOnDestroy = function () {
30
- this.fixtureSelectionChangedSubscription.unsubscribe();
31
- this.previewSelectionChangedSubscription.unsubscribe();
32
- };
33
- FixtureCapabilityComponent.prototype.wheelInList = function (wheels, profile, channel) {
34
- wheels.forEach(function (existingChannel, existingProfile) {
35
- if (existingProfile.uuid === profile.uuid && existingChannel.name === channel.name) {
36
- return true;
37
- }
38
- });
39
- return false;
40
- };
41
- FixtureCapabilityComponent.prototype.updateColorWheels = function () {
42
- var e_1, _a, e_2, _b, e_3, _c;
43
- this.colorWheelChannels = new Map();
44
- if (!this.presetService.selectedPreset) {
45
- return;
46
- }
47
- try {
48
- for (var _d = __values(this.presetService.selectedPreset.fixtureUuids), _e = _d.next(); !_e.done; _e = _d.next()) {
49
- var fixtureUuid = _e.value;
50
- var fixture = this.fixtureService.getCachedFixtureByUuid(fixtureUuid);
51
- try {
52
- for (var _f = (e_2 = void 0, __values(fixture.channels)), _g = _f.next(); !_g.done; _g = _f.next()) {
53
- var channel = _g.value;
54
- try {
55
- for (var _h = (e_3 = void 0, __values(channel.capabilities)), _j = _h.next(); !_j.done; _j = _h.next()) {
56
- var capability = _j.value;
57
- if (capability.wheel && capability.wheelSlots && capability.wheelSlots.length > 0) {
58
- if (this.fixtureService.wheelHasSlotType(capability.wheel, FixtureWheelSlotType.Color)) {
59
- // color wheel
60
- if (!this.wheelInList(this.colorWheelChannels, fixture.profile, channel)) {
61
- this.colorWheelChannels.set(fixture.profile, channel);
62
- }
63
- }
64
- else if (this.fixtureService.wheelHasSlotType(capability.wheel, FixtureWheelSlotType.Gobo)) {
65
- // gobo wheel
66
- // TODO
67
- }
68
- }
69
- }
70
- }
71
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
72
- finally {
73
- try {
74
- if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
75
- }
76
- finally { if (e_3) throw e_3.error; }
77
- }
78
- }
79
- }
80
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
81
- finally {
82
- try {
83
- if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
84
- }
85
- finally { if (e_2) throw e_2.error; }
86
- }
87
- }
88
- }
89
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
90
- finally {
91
- try {
92
- if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
93
- }
94
- finally { if (e_1) throw e_1.error; }
95
- }
96
- };
97
- FixtureCapabilityComponent.prototype.update = function () {
98
- this.updateColorWheels();
99
- this.changeDetectorRef.detectChanges();
100
- };
101
- FixtureCapabilityComponent.prototype.isChrome = function () {
102
- if (navigator.appVersion.indexOf('Chrome/') !== -1) {
103
- return true;
104
- }
105
- return false;
106
- };
107
- FixtureCapabilityComponent.ctorParameters = function () { return [
108
- { type: PresetService },
109
- { type: FixtureService },
110
- { type: ChangeDetectorRef },
111
- { type: ProjectService },
112
- { type: IntroService }
113
- ]; };
114
- FixtureCapabilityComponent = __decorate([
115
- Component({
116
- selector: 'lib-app-fixture-capability',
117
- template: "<div class=\"card border-secondary panel h-100\" [class.card-intro-active]=\"introService.showStep('capabilities')\">\n <div class=\"card-body capability-container d-flex h-100\" style=\"overflow-y: hidden\">\n <!-- h-100 needs to be applied in chrome to avoid performance issues with many layouts (reflows)\n during sliding. But the class must not be applied e.g. in Safari, because the bottom margin is not correct\n anymore afterwards. -->\n <div *ngIf=\"presetService.selectedPreset\" class=\"row m-0 pl-3\" [class.h-100]=\"isChrome()\">\n <!-- Dimmer -->\n <!-- the height attribute is required to avoid performance issues with many layouts (reflows)\n in Chrome during sliding -->\n <div *ngIf=\"presetService.hasCapabilityDimmer()\" class=\"col col-auto p-0 my-3 mr-3\" style=\"height: calc(100% - 2rem)\">\n <lib-app-fixture-capability-dimmer></lib-app-fixture-capability-dimmer>\n </div>\n\n <!-- Color -->\n <!-- Also show for color wheel fixtures to approx. the color -->\n <div *ngIf=\"presetService.hasCapabilityColorOrColorWheel()\" class=\"col col-auto p-0 my-3 mr-3\" style=\"height: calc(100% - 2rem)\">\n <lib-app-fixture-capability-color></lib-app-fixture-capability-color>\n </div>\n\n <!-- Color wheels -->\n <div\n *ngFor=\"let entry of colorWheelChannels | keyvalue; let i = index\"\n class=\"col col-auto p-0 my-3 mr-3\"\n style=\"height: calc(100% - 2rem)\"\n >\n <lib-app-fixture-capability-color-wheel\n [profile]=\"entry.key\"\n [channel]=\"entry.value\"\n [wheelIndex]=\"i\"\n [showContainer]=\"colorWheelChannels.size > 1\"\n ></lib-app-fixture-capability-color-wheel>\n </div>\n\n <!-- Pan/Tilt -->\n <div *ngIf=\"presetService.hasCapabilityPanTilt()\" class=\"col col-auto p-0 my-3 mr-3\" style=\"height: calc(100% - 2rem)\">\n <lib-app-fixture-capability-pan-tilt></lib-app-fixture-capability-pan-tilt>\n </div>\n\n <!-- Fix spacing at the end -->\n <div class=\"col col-auto p-0 my-3 mr-3\">&nbsp;</div>\n </div>\n\n <div *ngIf=\"projectService.project.fixtures.length == 0\" class=\"m-auto\">\n <p class=\"m-auto\" style=\"color: #717171\">{{ 'designer.fixture.no-fixtures' | translate }}</p>\n </div>\n\n <div\n *ngIf=\"\n projectService.project.fixtures.length > 0 && presetService.selectedPreset && presetService.selectedPreset.fixtureUuids.length == 0\n \"\n class=\"m-auto\"\n >\n <p class=\"m-auto\" style=\"color: #717171\">{{ 'designer.fixture.no-fixtures-selected' | translate }}</p>\n </div>\n </div>\n</div>\n",
118
- changeDetection: ChangeDetectionStrategy.OnPush,
119
- styles: [""]
120
- }),
121
- __metadata("design:paramtypes", [PresetService,
122
- FixtureService,
123
- ChangeDetectorRef,
124
- ProjectService,
125
- IntroService])
126
- ], FixtureCapabilityComponent);
127
- return FixtureCapabilityComponent;
128
- }());
129
- export { FixtureCapabilityComponent };
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jYXBhYmlsaXR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Byb2NrZXRzaG93L2Rlc2lnbmVyLyIsInNvdXJjZXMiOlsibGliL2ZpeHR1cmUvZml4dHVyZS1jYXBhYmlsaXR5L2ZpeHR1cmUtY2FwYWJpbGl0eS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl6RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFRaEU7SUFPRSxvQ0FDUyxhQUE0QixFQUMzQixjQUE4QixFQUM5QixpQkFBb0MsRUFDckMsY0FBOEIsRUFDOUIsWUFBMEI7UUFMbkMsaUJBa0JDO1FBakJRLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzNCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3JDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVhuQyx1RUFBdUU7UUFDdkUsdUJBQWtCLEdBQThDLElBQUksR0FBRyxFQUF3QyxDQUFDO1FBWTlHLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQztZQUM5RixLQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7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LFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ2xELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O2dCQXpFdUIsYUFBYTtnQkFDWCxjQUFjO2dCQUNYLGlCQUFpQjtnQkFDckIsY0FBYztnQkFDaEIsWUFBWTs7SUFaeEIsMEJBQTBCO1FBTnRDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSw0QkFBNEI7WUFDdEMseXBGQUFrRDtZQUVsRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7U0FDaEQsQ0FBQzt5Q0FTd0IsYUFBYTtZQUNYLGNBQWM7WUFDWCxpQkFBaUI7WUFDckIsY0FBYztZQUNoQixZQUFZO09BWnhCLDBCQUEwQixDQWtGdEM7SUFBRCxpQ0FBQztDQUFBLEFBbEZELElBa0ZDO1NBbEZZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYWNoZWRGaXh0dXJlQ2hhbm5lbCB9IGZyb20gJy4uLy4uL21vZGVscy9jYWNoZWQtZml4dHVyZS1jaGFubmVsJztcbmltcG9ydCB7IEZpeHR1cmVQcm9maWxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpeHR1cmUtcHJvZmlsZSc7XG5pbXBvcnQgeyBGaXh0dXJlV2hlZWxTbG90VHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9maXh0dXJlLXdoZWVsLXNsb3QnO1xuaW1wb3J0IHsgRml4dHVyZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maXh0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW50cm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW50cm8uc2VydmljZSc7XG5pbXBvcnQgeyBQcmVzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJlc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvamVjdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcm9qZWN0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXBwLWZpeHR1cmUtY2FwYWJpbGl0eScsXG4gIHRlbXBsYXRlVXJsOiAnLi9maXh0dXJlLWNhcGFiaWxpdHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maXh0dXJlLWNhcGFiaWxpdHkuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRml4dHVyZUNhcGFiaWxpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8vIG1hcCBjb250YWluaW5nIHRoZSBwcm9maWxlIGFuZCB0aGUgY2hhbm5lbCBuYW1lIGNvbnRhaW5pbmcgdGhlIHdoZWVsXG4gIGNvbG9yV2hlZWxDaGFubmVsczogTWFwPEZpeHR1cmVQcm9maWxlLCBDYWNoZWRGaXh0dXJlQ2hhbm5lbD4gPSBuZXcgTWFwPEZpeHR1cmVQcm9maWxlLCBDYWNoZWRGaXh0dXJlQ2hhbm5lbD4oKTtcblxuICBwcml2YXRlIGZpeHR1cmVTZWxlY3Rpb25DaGFuZ2VkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcHJldmlld1NlbGVjdGlvbkNoYW5nZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcHJlc2V0U2VydmljZTogUHJlc2V0U2VydmljZSxcbiAgICBwcml2YXRlIGZpeHR1cmVTZXJ2aWNlOiBGaXh0dXJlU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgcHJvamVjdFNlcnZpY2U6IFByb2plY3RTZXJ2aWNlLFxuICAgIHB1YmxpYyBpbnRyb1NlcnZpY2U6IEludHJvU2VydmljZVxuICApIHtcbiAgICB0aGlzLmZpeHR1cmVTZWxlY3Rpb25DaGFuZ2VkU3Vic2NyaXB0aW9uID0gdGhpcy5wcmVzZXRTZXJ2aWNlLmZpeHR1cmVTZWxlY3Rpb25DaGFuZ2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5wcmV2aWV3U2VsZWN0aW9uQ2hhbmdlZFN1YnNjcmlwdGlvbiA9IHRoaXMucHJlc2V0U2VydmljZS5wcmV2aWV3U2VsZWN0aW9uQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGUoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuaW50cm9TZXJ2aWNlLnN0ZXBDaGFuZ2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge31cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmZpeHR1cmVTZWxlY3Rpb25DaGFuZ2VkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5wcmV2aWV3U2VsZWN0aW9uQ2hhbmdlZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB3aGVlbEluTGlzdCh3aGVlbHM6IE1hcDxGaXh0dXJlUHJvZmlsZSwgQ2FjaGVkRml4dHVyZUNoYW5uZWw+LCBwcm9maWxlOiBGaXh0dXJlUHJvZmlsZSwgY2hhbm5lbDogQ2FjaGVkRml4dHVyZUNoYW5uZWwpIHtcbiAgICB3aGVlbHMuZm9yRWFjaCgoZXhpc3RpbmdDaGFubmVsOiBDYWNoZWRGaXh0dXJlQ2hhbm5lbCwgZXhpc3RpbmdQcm9maWxlOiBGaXh0dXJlUHJvZmlsZSkgPT4ge1xuICAgICAgaWYgKGV4aXN0aW5nUHJvZmlsZS51dWlkID09PSBwcm9maWxlLnV1aWQgJiYgZXhpc3RpbmdDaGFubmVsLm5hbWUgPT09IGNoYW5uZWwubmFtZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29sb3JXaGVlbHMoKSB7XG4gICAgdGhpcy5jb2xvcldoZWVsQ2hhbm5lbHMgPSBuZXcgTWFwPEZpeHR1cmVQcm9maWxlLCBDYWNoZWRGaXh0dXJlQ2hhbm5lbD4oKTtcblxuICAgIGlmICghdGhpcy5wcmVzZXRTZXJ2aWNlLnNlbGVjdGVkUHJlc2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBmaXh0dXJlVXVpZCBvZiB0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQuZml4dHVyZVV1aWRzKSB7XG4gICAgICBjb25zdCBmaXh0dXJlID0gdGhpcy5maXh0dXJlU2VydmljZS5nZXRDYWNoZWRGaXh0dXJlQnlVdWlkKGZpeHR1cmVVdWlkKTtcbiAgICAgIGZvciAoY29uc3QgY2hhbm5lbCBvZiBmaXh0dXJlLmNoYW5uZWxzKSB7XG4gICAgICAgIGZvciAoY29uc3QgY2FwYWJpbGl0eSBvZiBjaGFubmVsLmNhcGFiaWxpdGllcykge1xuICAgICAgICAgIGlmIChjYXBhYmlsaXR5LndoZWVsICYmIGNhcGFiaWxpdHkud2hlZWxTbG90cyAmJiBjYXBhYmlsaXR5LndoZWVsU2xvdHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZml4dHVyZVNlcnZpY2Uud2hlZWxIYXNTbG90VHlwZShjYXBhYmlsaXR5LndoZWVsLCBGaXh0dXJlV2hlZWxTbG90VHlwZS5Db2xvcikpIHtcbiAgICAgICAgICAgICAgLy8gY29sb3Igd2hlZWxcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLndoZWVsSW5MaXN0KHRoaXMuY29sb3JXaGVlbENoYW5uZWxzLCBmaXh0dXJlLnByb2ZpbGUsIGNoYW5uZWwpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb2xvcldoZWVsQ2hhbm5lbHMuc2V0KGZpeHR1cmUucHJvZmlsZSwgY2hhbm5lbCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5maXh0dXJlU2VydmljZS53aGVlbEhhc1Nsb3RUeXBlKGNhcGFiaWxpdHkud2hlZWwsIEZpeHR1cmVXaGVlbFNsb3RUeXBlLkdvYm8pKSB7XG4gICAgICAgICAgICAgIC8vIGdvYm8gd2hlZWxcbiAgICAgICAgICAgICAgLy8gVE9ET1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlKCkge1xuICAgIHRoaXMudXBkYXRlQ29sb3JXaGVlbHMoKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGlzQ2hyb21lKCk6IGJvb2xlYW4ge1xuICAgIGlmIChuYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCdDaHJvbWUvJykgIT09IC0xKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=