@rocketshow/designer 1.40.0 → 1.44.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 (191) hide show
  1. package/fesm2022/rocketshow-designer.mjs +1389 -1148
  2. package/fesm2022/rocketshow-designer.mjs.map +1 -1
  3. package/index.d.ts +1676 -5
  4. package/package.json +2 -4
  5. package/rocketshow-designer-1.44.0.tgz +0 -0
  6. package/esm2022/lib/array-sort-pipe.mjs +0 -30
  7. package/esm2022/lib/designer.component.mjs +0 -672
  8. package/esm2022/lib/designer.module.mjs +0 -186
  9. package/esm2022/lib/designer.service.mjs +0 -14
  10. package/esm2022/lib/dropzone/dropzone.component.mjs +0 -93
  11. package/esm2022/lib/effect/effect-curve/effect-curve.component.mjs +0 -577
  12. package/esm2022/lib/effect/effect-pan-tilt/effect-pan-tilt.component.mjs +0 -36
  13. package/esm2022/lib/effect/effect.component.mjs +0 -174
  14. package/esm2022/lib/error-dialog/error-dialog.component.mjs +0 -75
  15. package/esm2022/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.mjs +0 -370
  16. package/esm2022/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.mjs +0 -147
  17. package/esm2022/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.mjs +0 -213
  18. package/esm2022/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.mjs +0 -78
  19. package/esm2022/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.mjs +0 -119
  20. package/esm2022/lib/fixture/fixture-capability/fixture-capability.component.mjs +0 -191
  21. package/esm2022/lib/fixture/fixture-channel/fixture-channel.component.mjs +0 -162
  22. package/esm2022/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.mjs +0 -365
  23. package/esm2022/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.mjs +0 -151
  24. package/esm2022/lib/fixture/fixture-settings/fixture-settings.component.mjs +0 -46
  25. package/esm2022/lib/fixture/fixture.component.mjs +0 -148
  26. package/esm2022/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.mjs +0 -145
  27. package/esm2022/lib/fixture-pool/fixture-pool.component.mjs +0 -641
  28. package/esm2022/lib/intro/intro.component.mjs +0 -95
  29. package/esm2022/lib/master-dimmer/master-dimmer.component.mjs +0 -66
  30. package/esm2022/lib/models/cached-fixture-capability.mjs +0 -9
  31. package/esm2022/lib/models/cached-fixture-channel.mjs +0 -7
  32. package/esm2022/lib/models/cached-fixture.mjs +0 -6
  33. package/esm2022/lib/models/color.mjs +0 -8
  34. package/esm2022/lib/models/composition.mjs +0 -46
  35. package/esm2022/lib/models/effect-curve-profile-channel.mjs +0 -15
  36. package/esm2022/lib/models/effect-curve.mjs +0 -69
  37. package/esm2022/lib/models/effect-pan-tilt.mjs +0 -19
  38. package/esm2022/lib/models/effect.mjs +0 -12
  39. package/esm2022/lib/models/fixture-capability-value.mjs +0 -15
  40. package/esm2022/lib/models/fixture-capability.mjs +0 -127
  41. package/esm2022/lib/models/fixture-channel-value.mjs +0 -11
  42. package/esm2022/lib/models/fixture-channel.mjs +0 -24
  43. package/esm2022/lib/models/fixture-matrix-pixel-group-constraints.mjs +0 -27
  44. package/esm2022/lib/models/fixture-matrix-pixel-group.mjs +0 -12
  45. package/esm2022/lib/models/fixture-matrix.mjs +0 -25
  46. package/esm2022/lib/models/fixture-mode-channel.mjs +0 -26
  47. package/esm2022/lib/models/fixture-mode.mjs +0 -17
  48. package/esm2022/lib/models/fixture-physical.mjs +0 -14
  49. package/esm2022/lib/models/fixture-profile.mjs +0 -85
  50. package/esm2022/lib/models/fixture-wheel-slot.mjs +0 -26
  51. package/esm2022/lib/models/fixture-wheel.mjs +0 -15
  52. package/esm2022/lib/models/fixture.mjs +0 -40
  53. package/esm2022/lib/models/preset-fixture.mjs +0 -10
  54. package/esm2022/lib/models/preset-region-scene.mjs +0 -8
  55. package/esm2022/lib/models/preset.mjs +0 -65
  56. package/esm2022/lib/models/project.mjs +0 -78
  57. package/esm2022/lib/models/scene-playback-region.mjs +0 -11
  58. package/esm2022/lib/models/scene.mjs +0 -27
  59. package/esm2022/lib/preset/preset-settings/preset-settings.component.mjs +0 -194
  60. package/esm2022/lib/preset/preset.component.mjs +0 -131
  61. package/esm2022/lib/preview/models/color-changer-3d.mjs +0 -52
  62. package/esm2022/lib/preview/models/fixture-3d.mjs +0 -260
  63. package/esm2022/lib/preview/models/moving-head-3d.mjs +0 -115
  64. package/esm2022/lib/preview/preview.component.mjs +0 -216
  65. package/esm2022/lib/project/project-browser/project-browser.component.mjs +0 -143
  66. package/esm2022/lib/project/project-import/project-import.component.mjs +0 -107
  67. package/esm2022/lib/project/project-save/project-save.component.mjs +0 -178
  68. package/esm2022/lib/project/project-share/project-share.component.mjs +0 -71
  69. package/esm2022/lib/scene/scene-settings/scene-settings.component.mjs +0 -146
  70. package/esm2022/lib/scene/scene.component.mjs +0 -110
  71. package/esm2022/lib/services/animation.service.mjs +0 -16
  72. package/esm2022/lib/services/config.service.mjs +0 -28
  73. package/esm2022/lib/services/effect.service.mjs +0 -14
  74. package/esm2022/lib/services/error-dialog.service.mjs +0 -39
  75. package/esm2022/lib/services/fixture-pool.service.mjs +0 -30
  76. package/esm2022/lib/services/fixture.service.mjs +0 -699
  77. package/esm2022/lib/services/hotkey-target-exclude.service.mjs +0 -24
  78. package/esm2022/lib/services/intro.service.mjs +0 -140
  79. package/esm2022/lib/services/preset.service.mjs +0 -450
  80. package/esm2022/lib/services/preview-mesh.service.mjs +0 -57
  81. package/esm2022/lib/services/preview.service.mjs +0 -481
  82. package/esm2022/lib/services/project-load.service.mjs +0 -206
  83. package/esm2022/lib/services/project.service.mjs +0 -93
  84. package/esm2022/lib/services/scene.service.mjs +0 -164
  85. package/esm2022/lib/services/timeline.service.mjs +0 -726
  86. package/esm2022/lib/services/user-ensure-login.service.mjs +0 -38
  87. package/esm2022/lib/services/user.service.mjs +0 -89
  88. package/esm2022/lib/services/uuid.service.mjs +0 -23
  89. package/esm2022/lib/services/warning-dialog.service.mjs +0 -38
  90. package/esm2022/lib/timeline/composition-settings/composition-settings.component.mjs +0 -304
  91. package/esm2022/lib/timeline/timeline-grid/timeline-grid.component.mjs +0 -216
  92. package/esm2022/lib/timeline/timeline.component.mjs +0 -418
  93. package/esm2022/lib/user/user-login/user-login.component.mjs +0 -144
  94. package/esm2022/lib/user/user-register/user-register.component.mjs +0 -220
  95. package/esm2022/lib/wait-dialog/wait-dialog.component.mjs +0 -26
  96. package/esm2022/lib/warning-dialog/warning-dialog.component.mjs +0 -68
  97. package/esm2022/public_api.mjs +0 -7
  98. package/esm2022/rocketshow-designer.mjs +0 -5
  99. package/lib/array-sort-pipe.d.ts +0 -7
  100. package/lib/designer.component.d.ts +0 -73
  101. package/lib/designer.module.d.ts +0 -57
  102. package/lib/designer.service.d.ts +0 -6
  103. package/lib/dropzone/dropzone.component.d.ts +0 -24
  104. package/lib/effect/effect-curve/effect-curve.component.d.ts +0 -59
  105. package/lib/effect/effect-pan-tilt/effect-pan-tilt.component.d.ts +0 -15
  106. package/lib/effect/effect.component.d.ts +0 -22
  107. package/lib/error-dialog/error-dialog.component.d.ts +0 -17
  108. package/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.d.ts +0 -41
  109. package/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.d.ts +0 -26
  110. package/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.d.ts +0 -34
  111. package/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.d.ts +0 -15
  112. package/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.d.ts +0 -18
  113. package/lib/fixture/fixture-capability/fixture-capability.component.d.ts +0 -31
  114. package/lib/fixture/fixture-channel/fixture-channel.component.d.ts +0 -25
  115. package/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.d.ts +0 -32
  116. package/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.d.ts +0 -14
  117. package/lib/fixture/fixture-settings/fixture-settings.component.d.ts +0 -14
  118. package/lib/fixture/fixture.component.d.ts +0 -25
  119. package/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.d.ts +0 -28
  120. package/lib/fixture-pool/fixture-pool.component.d.ts +0 -62
  121. package/lib/intro/intro.component.d.ts +0 -11
  122. package/lib/master-dimmer/master-dimmer.component.d.ts +0 -15
  123. package/lib/models/cached-fixture-capability.d.ts +0 -11
  124. package/lib/models/cached-fixture-channel.d.ts +0 -11
  125. package/lib/models/cached-fixture.d.ts +0 -11
  126. package/lib/models/color.d.ts +0 -6
  127. package/lib/models/composition.d.ts +0 -19
  128. package/lib/models/effect-curve-profile-channel.d.ts +0 -5
  129. package/lib/models/effect-curve.d.ts +0 -15
  130. package/lib/models/effect-pan-tilt.d.ts +0 -6
  131. package/lib/models/effect.d.ts +0 -6
  132. package/lib/models/fixture-capability-value.d.ts +0 -10
  133. package/lib/models/fixture-capability.d.ts +0 -117
  134. package/lib/models/fixture-channel-value.d.ts +0 -6
  135. package/lib/models/fixture-channel.d.ts +0 -9
  136. package/lib/models/fixture-matrix-pixel-group-constraints.d.ts +0 -8
  137. package/lib/models/fixture-matrix-pixel-group.d.ts +0 -6
  138. package/lib/models/fixture-matrix.d.ts +0 -6
  139. package/lib/models/fixture-mode-channel.d.ts +0 -8
  140. package/lib/models/fixture-mode.d.ts +0 -8
  141. package/lib/models/fixture-physical.d.ts +0 -4
  142. package/lib/models/fixture-profile.d.ts +0 -39
  143. package/lib/models/fixture-wheel-slot.d.ts +0 -17
  144. package/lib/models/fixture-wheel.d.ts +0 -5
  145. package/lib/models/fixture.d.ts +0 -23
  146. package/lib/models/preset-fixture.d.ts +0 -5
  147. package/lib/models/preset-region-scene.d.ts +0 -9
  148. package/lib/models/preset.d.ts +0 -20
  149. package/lib/models/project.d.ts +0 -31
  150. package/lib/models/scene-playback-region.d.ts +0 -6
  151. package/lib/models/scene.d.ts +0 -11
  152. package/lib/preset/preset-settings/preset-settings.component.d.ts +0 -22
  153. package/lib/preset/preset.component.d.ts +0 -25
  154. package/lib/preview/models/color-changer-3d.d.ts +0 -16
  155. package/lib/preview/models/fixture-3d.d.ts +0 -38
  156. package/lib/preview/models/moving-head-3d.d.ts +0 -23
  157. package/lib/preview/preview.component.d.ts +0 -38
  158. package/lib/project/project-browser/project-browser.component.d.ts +0 -27
  159. package/lib/project/project-import/project-import.component.d.ts +0 -23
  160. package/lib/project/project-save/project-save.component.d.ts +0 -28
  161. package/lib/project/project-share/project-share.component.d.ts +0 -16
  162. package/lib/scene/scene-settings/scene-settings.component.d.ts +0 -20
  163. package/lib/scene/scene.component.d.ts +0 -22
  164. package/lib/services/animation.service.d.ts +0 -7
  165. package/lib/services/config.service.d.ts +0 -20
  166. package/lib/services/effect.service.d.ts +0 -8
  167. package/lib/services/error-dialog.service.d.ts +0 -12
  168. package/lib/services/fixture-pool.service.d.ts +0 -10
  169. package/lib/services/fixture.service.d.ts +0 -70
  170. package/lib/services/hotkey-target-exclude.service.d.ts +0 -7
  171. package/lib/services/intro.service.d.ts +0 -21
  172. package/lib/services/preset.service.d.ts +0 -64
  173. package/lib/services/preview-mesh.service.d.ts +0 -14
  174. package/lib/services/preview.service.d.ts +0 -42
  175. package/lib/services/project-load.service.d.ts +0 -36
  176. package/lib/services/project.service.d.ts +0 -26
  177. package/lib/services/scene.service.d.ts +0 -30
  178. package/lib/services/timeline.service.d.ts +0 -70
  179. package/lib/services/user-ensure-login.service.d.ts +0 -14
  180. package/lib/services/user.service.d.ts +0 -22
  181. package/lib/services/uuid.service.d.ts +0 -7
  182. package/lib/services/warning-dialog.service.d.ts +0 -12
  183. package/lib/timeline/composition-settings/composition-settings.component.d.ts +0 -48
  184. package/lib/timeline/timeline-grid/timeline-grid.component.d.ts +0 -22
  185. package/lib/timeline/timeline.component.d.ts +0 -50
  186. package/lib/user/user-login/user-login.component.d.ts +0 -21
  187. package/lib/user/user-register/user-register.component.d.ts +0 -26
  188. package/lib/wait-dialog/wait-dialog.component.d.ts +0 -8
  189. package/lib/warning-dialog/warning-dialog.component.d.ts +0 -16
  190. package/public_api.d.ts +0 -3
  191. package/rocketshow-designer-1.40.0.tgz +0 -0
@@ -1,213 +0,0 @@
1
- import { ChangeDetectorRef, Component, Input } from '@angular/core';
2
- import { CachedFixtureChannel } from '../../../models/cached-fixture-channel';
3
- import { FixtureCapabilityType } from '../../../models/fixture-capability';
4
- import { FixtureProfile } from '../../../models/fixture-profile';
5
- import { FixtureService } from '../../../services/fixture.service';
6
- import { PresetService } from '../../../services/preset.service';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../../../services/preset.service";
9
- import * as i2 from "../../../services/fixture.service";
10
- import * as i3 from "@angular/common";
11
- import * as i4 from "@angular/forms";
12
- import * as i5 from "@ngx-translate/core";
13
- function FixtureCapabilityColorWheelComponent_div_9_Template(rf, ctx) { if (rf & 1) {
14
- i0.ɵɵelementStart(0, "div");
15
- i0.ɵɵtext(1);
16
- i0.ɵɵelementEnd();
17
- } if (rf & 2) {
18
- const ctx_r0 = i0.ɵɵnextContext();
19
- i0.ɵɵadvance();
20
- i0.ɵɵtextInterpolate2("", ctx_r0._fixtureProfile.name, " - ", ctx_r0._channel.name, "");
21
- } }
22
- function FixtureCapabilityColorWheelComponent_div_10_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
23
- const _r4 = i0.ɵɵgetCurrentView();
24
- i0.ɵɵelementStart(0, "div", 13);
25
- i0.ɵɵlistener("click", function FixtureCapabilityColorWheelComponent_div_10_div_1_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r4); const slot_r3 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.selectSlotNumber(slot_r3.capability.slotNumber)); });
26
- i0.ɵɵelementEnd();
27
- } }
28
- function FixtureCapabilityColorWheelComponent_div_10_div_1_Template(rf, ctx) { if (rf & 1) {
29
- const _r2 = i0.ɵɵgetCurrentView();
30
- i0.ɵɵelementStart(0, "div", 11);
31
- i0.ɵɵlistener("click", function FixtureCapabilityColorWheelComponent_div_10_div_1_Template_div_click_0_listener() { const slot_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.selectSlotNumber(slot_r3.capability.slotNumber)); });
32
- i0.ɵɵtemplate(1, FixtureCapabilityColorWheelComponent_div_10_div_1_div_1_Template, 1, 0, "div", 12);
33
- i0.ɵɵelementEnd();
34
- } if (rf & 2) {
35
- const slot_r3 = ctx.$implicit;
36
- const ctx_r0 = i0.ɵɵnextContext(2);
37
- i0.ɵɵclassProp("color-selected", ctx_r0.slotCapabilityIsSelected(slot_r3.capability.slotNumber));
38
- i0.ɵɵproperty("ngStyle", ctx_r0.getCapabilityColorStyle(slot_r3));
39
- i0.ɵɵadvance();
40
- i0.ɵɵproperty("ngIf", ctx_r0.slotCapabilityIsSelected(slot_r3.capability.slotNumber));
41
- } }
42
- function FixtureCapabilityColorWheelComponent_div_10_Template(rf, ctx) { if (rf & 1) {
43
- i0.ɵɵelementStart(0, "div", 9);
44
- i0.ɵɵtemplate(1, FixtureCapabilityColorWheelComponent_div_10_div_1_Template, 2, 4, "div", 10);
45
- i0.ɵɵelementEnd();
46
- } if (rf & 2) {
47
- const ctx_r0 = i0.ɵɵnextContext();
48
- i0.ɵɵadvance();
49
- i0.ɵɵproperty("ngForOf", ctx_r0.slotCapabilities);
50
- } }
51
- export class FixtureCapabilityColorWheelComponent {
52
- set profile(value) {
53
- this._fixtureProfile = value;
54
- this.update();
55
- }
56
- set channel(value) {
57
- this._channel = value;
58
- this.update();
59
- }
60
- constructor(presetService, changeDetectorRef, fixtureService) {
61
- this.presetService = presetService;
62
- this.changeDetectorRef = changeDetectorRef;
63
- this.fixtureService = fixtureService;
64
- this.showContainer = false;
65
- }
66
- ngOnInit() {
67
- this.colorChangeSubscription = this.presetService.fixtureColorChanged.subscribe(() => {
68
- this.changeDetectorRef.detectChanges();
69
- });
70
- }
71
- ngOnDestroy() {
72
- this.colorChangeSubscription.unsubscribe();
73
- }
74
- update() {
75
- if (this._fixtureProfile && this._channel) {
76
- this.wheelName = undefined;
77
- this.slotCapabilities = [];
78
- // get the wheel name
79
- for (const capability of this._channel.capabilities) {
80
- if (capability.wheel) {
81
- this.wheelName = capability.wheelName;
82
- break;
83
- }
84
- }
85
- if (!this.wheelName) {
86
- this.wheelName = this._channel.name;
87
- }
88
- this.wheel = this.fixtureService.getWheelByName(this._fixtureProfile, this.wheelName);
89
- // calculate all available slots
90
- for (const capability of this._channel.capabilities) {
91
- if (capability.capability.type === FixtureCapabilityType.WheelSlot) {
92
- this.slotCapabilities.push(capability);
93
- }
94
- }
95
- }
96
- this.changeDetectorRef.detectChanges();
97
- }
98
- getCapabilityColorStyle(capability) {
99
- let property = 'background-color';
100
- let value = 'black';
101
- let colors = [];
102
- if (capability.wheelSlots) {
103
- for (const slot of capability.wheelSlots) {
104
- // calculate the color based on the color wheel slot
105
- if (slot.colors.length > 0) {
106
- colors = colors.concat(slot.colors);
107
- }
108
- }
109
- }
110
- if (colors.length > 1) {
111
- // mixed colors -> gradient
112
- let colorString;
113
- for (const color of colors) {
114
- if (colorString) {
115
- colorString += ', ';
116
- }
117
- else {
118
- colorString = '';
119
- }
120
- colorString += color;
121
- }
122
- property = 'background-image';
123
- value = 'linear-gradient(to bottom right, ' + colorString + ')';
124
- }
125
- else if (colors.length === 1) {
126
- value = colors[0];
127
- }
128
- else {
129
- value = '#fff';
130
- }
131
- const style = {};
132
- style[property] = value;
133
- return style;
134
- }
135
- getCurrentSlotNumber() {
136
- const capabilityValue = this.presetService.getCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.WheelSlot, undefined, this.wheelName, this._fixtureProfile.uuid);
137
- if (capabilityValue) {
138
- return capabilityValue.slotNumber;
139
- }
140
- return undefined;
141
- }
142
- slotCapabilityIsSelected(slotNumber) {
143
- const selectedSlotNumber = this.getCurrentSlotNumber();
144
- if (selectedSlotNumber >= 0) {
145
- // a slot is selected
146
- return selectedSlotNumber === slotNumber;
147
- }
148
- else {
149
- // no slot is selected and the capability is inactive
150
- // -> show the approx. color, if a color or a similar slot from a different wheel has been selected
151
- const approximatedCapability = this.presetService.getApproximatedColorWheelCapability(this.presetService.selectedPreset, this._channel);
152
- if (approximatedCapability) {
153
- return slotNumber === approximatedCapability.capability.slotNumber;
154
- }
155
- else {
156
- return false;
157
- }
158
- }
159
- }
160
- changeActive(active) {
161
- if (active) {
162
- this.presetService.setCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.WheelSlot, undefined, 1, undefined, this.wheelName, this._fixtureProfile.uuid);
163
- }
164
- else {
165
- this.presetService.deleteCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.WheelSlot, undefined, this.wheelName, this._fixtureProfile.uuid);
166
- }
167
- this.presetService.previewLive();
168
- }
169
- selectSlotNumber(slotNumber) {
170
- this.presetService.setCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.WheelSlot, undefined, slotNumber, undefined, this.wheelName, this._fixtureProfile.uuid);
171
- this.presetService.previewLive();
172
- }
173
- static { this.ɵfac = function FixtureCapabilityColorWheelComponent_Factory(t) { return new (t || FixtureCapabilityColorWheelComponent)(i0.ɵɵdirectiveInject(i1.PresetService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.FixtureService)); }; }
174
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FixtureCapabilityColorWheelComponent, selectors: [["lib-app-fixture-capability-color-wheel"]], inputs: { profile: "profile", channel: "channel", wheelIndex: "wheelIndex", showContainer: "showContainer" }, decls: 11, vars: 12, consts: [[1, "card", "border-secondary", "h-100", 2, "min-height", "200px"], [1, "card-header"], [1, "my-auto"], [1, "form-check"], ["type", "checkbox", 1, "form-check-input", 3, "ngModelChange", "id", "ngModel"], [1, "form-check-label", 3, "for"], [1, "card-body", "h-100"], [4, "ngIf"], ["class", "d-flex", "style", "max-width: 240px; flex-wrap: wrap", 4, "ngIf"], [1, "d-flex", 2, "max-width", "240px", "flex-wrap", "wrap"], ["class", "m-1 color", 3, "color-selected", "ngStyle", "click", 4, "ngFor", "ngForOf"], [1, "m-1", "color", 3, "click", "ngStyle"], ["class", "color-selected-inner", 3, "click", 4, "ngIf"], [1, "color-selected-inner", 3, "click"]], template: function FixtureCapabilityColorWheelComponent_Template(rf, ctx) { if (rf & 1) {
175
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "input", 4);
176
- i0.ɵɵlistener("ngModelChange", function FixtureCapabilityColorWheelComponent_Template_input_ngModelChange_4_listener($event) { return ctx.changeActive($event); });
177
- i0.ɵɵelementEnd();
178
- i0.ɵɵelementStart(5, "label", 5);
179
- i0.ɵɵtext(6);
180
- i0.ɵɵpipe(7, "translate");
181
- i0.ɵɵelementEnd()()()();
182
- i0.ɵɵelementStart(8, "div", 6);
183
- i0.ɵɵtemplate(9, FixtureCapabilityColorWheelComponent_div_9_Template, 2, 2, "div", 7)(10, FixtureCapabilityColorWheelComponent_div_10_Template, 2, 1, "div", 8);
184
- i0.ɵɵelementEnd()();
185
- } if (rf & 2) {
186
- i0.ɵɵclassProp("capability-deactivated", ctx.getCurrentSlotNumber() == undefined);
187
- i0.ɵɵadvance(4);
188
- i0.ɵɵpropertyInterpolate1("id", "capabilityColorWheel", ctx.wheelIndex, "Active");
189
- i0.ɵɵproperty("ngModel", ctx.getCurrentSlotNumber() != undefined);
190
- i0.ɵɵadvance();
191
- i0.ɵɵpropertyInterpolate1("for", "capabilityColorWheel", ctx.wheelIndex, "Active");
192
- i0.ɵɵadvance();
193
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 10, "designer.fixture.capability-color"), " ");
194
- i0.ɵɵadvance(3);
195
- i0.ɵɵproperty("ngIf", ctx.showContainer);
196
- i0.ɵɵadvance();
197
- i0.ɵɵproperty("ngIf", ctx.wheel);
198
- } }, dependencies: [i3.NgForOf, i3.NgIf, i3.NgStyle, i4.CheckboxControlValueAccessor, i4.NgControlStatus, i4.NgModel, i5.TranslatePipe], styles: [".color[_ngcontent-%COMP%]{box-sizing:border-box;width:50px;height:50px;border:solid 1px #ced4da;cursor:pointer}.color-selected[_ngcontent-%COMP%]{border-width:3px;border-color:#fff}.color-selected-inner[_ngcontent-%COMP%]{border:solid 1px black;height:100%;width:100%}"] }); }
199
- }
200
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FixtureCapabilityColorWheelComponent, [{
201
- type: Component,
202
- args: [{ selector: 'lib-app-fixture-capability-color-wheel', 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", styles: [".color{box-sizing:border-box;width:50px;height:50px;border:solid 1px #ced4da;cursor:pointer}.color-selected{border-width:3px;border-color:#fff}.color-selected-inner{border:solid 1px black;height:100%;width:100%}\n"] }]
203
- }], () => [{ type: i1.PresetService }, { type: i0.ChangeDetectorRef }, { type: i2.FixtureService }], { profile: [{
204
- type: Input
205
- }], channel: [{
206
- type: Input
207
- }], wheelIndex: [{
208
- type: Input
209
- }], showContainer: [{
210
- type: Input
211
- }] }); })();
212
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FixtureCapabilityColorWheelComponent, { className: "FixtureCapabilityColorWheelComponent" }); })();
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jYXBhYmlsaXR5LWNvbG9yLXdoZWVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvZml4dHVyZS9maXh0dXJlLWNhcGFiaWxpdHkvZml4dHVyZS1jYXBhYmlsaXR5LWNvbG9yLXdoZWVsL2ZpeHR1cmUtY2FwYWJpbGl0eS1jb2xvci13aGVlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL2ZpeHR1cmUvZml4dHVyZS1jYXBhYmlsaXR5L2ZpeHR1cmUtY2FwYWJpbGl0eS1jb2xvci13aGVlbC9maXh0dXJlLWNhcGFiaWxpdHktY29sb3Itd2hlZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBR3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7OztJQ1c3RCwyQkFBMkI7SUFBQSxZQUFnRDtJQUFBLGlCQUFNOzs7SUFBdEQsY0FBZ0Q7SUFBaEQsdUZBQWdEOzs7O0lBVXZFLCtCQUlDO0lBRkMseVBBQVMsc0RBQTRDLEtBQUM7SUFFdkQsaUJBQU07Ozs7SUFYVCwrQkFNQztJQUpDLCtOQUFTLHNEQUE0QyxLQUFDO0lBS3RELG1HQUlDO0lBQ0gsaUJBQU07Ozs7SUFSSixnR0FBNkU7SUFD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O2tGQXhCSyxvQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FjaGVkRml4dHVyZUNhcGFiaWxpdHkgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY2FjaGVkLWZpeHR1cmUtY2FwYWJpbGl0eSc7XG5pbXBvcnQgeyBDYWNoZWRGaXh0dXJlQ2hhbm5lbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jYWNoZWQtZml4dHVyZS1jaGFubmVsJztcbmltcG9ydCB7IEZpeHR1cmVDYXBhYmlsaXR5VHlwZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maXh0dXJlLWNhcGFiaWxpdHknO1xuaW1wb3J0IHsgRml4dHVyZVByb2ZpbGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZml4dHVyZS1wcm9maWxlJztcbmltcG9ydCB7IEZpeHR1cmVXaGVlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maXh0dXJlLXdoZWVsJztcbmltcG9ydCB7IEZpeHR1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZml4dHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVzZXQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hcHAtZml4dHVyZS1jYXBhYmlsaXR5LWNvbG9yLXdoZWVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpeHR1cmUtY2FwYWJpbGl0eS1jb2xvci13aGVlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpeHR1cmUtY2FwYWJpbGl0eS1jb2xvci13aGVlbC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZpeHR1cmVDYXBhYmlsaXR5Q29sb3JXaGVlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgX2ZpeHR1cmVQcm9maWxlOiBGaXh0dXJlUHJvZmlsZTtcbiAgX2NoYW5uZWw6IENhY2hlZEZpeHR1cmVDaGFubmVsO1xuICB3aGVlbE5hbWU6IHN0cmluZztcbiAgd2hlZWw6IEZpeHR1cmVXaGVlbDtcbiAgc2xvdENhcGFiaWxpdGllczogQ2FjaGVkRml4dHVyZUNhcGFiaWxpdHlbXTtcblxuICBwcml2YXRlIGNvbG9yQ2hhbmdlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgQElucHV0KClcbiAgc2V0IHByb2ZpbGUodmFsdWU6IEZpeHR1cmVQcm9maWxlKSB7XG4gICAgdGhpcy5fZml4dHVyZVByb2ZpbGUgPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGNoYW5uZWwodmFsdWU6IENhY2hlZEZpeHR1cmVDaGFubmVsKSB7XG4gICAgdGhpcy5fY2hhbm5lbCA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICB3aGVlbEluZGV4OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgc2hvd0NvbnRhaW5lciA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwcmVzZXRTZXJ2aWNlOiBQcmVzZXRTZXJ2aWNlLCBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBmaXh0dXJlU2VydmljZTogRml4dHVyZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb2xvckNoYW5nZVN1YnNjcmlwdGlvbiA9IHRoaXMucHJlc2V0U2VydmljZS5maXh0dXJlQ29sb3JDaGFuZ2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuY29sb3JDaGFuZ2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlKCkge1xuICAgIGlmICh0aGlzLl9maXh0dXJlUHJvZmlsZSAmJiB0aGlzLl9jaGFubmVsKSB7XG4gICAgICB0aGlzLndoZWVsTmFtZSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuc2xvdENhcGFiaWxpdGllcyA9IFtdO1xuXG4gICAgICAvLyBnZXQgdGhlIHdoZWVsIG5hbWVcbiAgICAgIGZvciAoY29uc3QgY2FwYWJpbGl0eSBvZiB0aGlzLl9jaGFubmVsLmNhcGFiaWxpdGllcykge1xuICAgICAgICBpZiAoY2FwYWJpbGl0eS53aGVlbCkge1xuICAgICAgICAgIHRoaXMud2hlZWxOYW1lID0gY2FwYWJpbGl0eS53aGVlbE5hbWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy53aGVlbE5hbWUpIHtcbiAgICAgICAgdGhpcy53aGVlbE5hbWUgPSB0aGlzLl9jaGFubmVsLm5hbWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMud2hlZWwgPSB0aGlzLmZpeHR1cmVTZXJ2aWNlLmdldFdoZWVsQnlOYW1lKHRoaXMuX2ZpeHR1cmVQcm9maWxlLCB0aGlzLndoZWVsTmFtZSk7XG5cbiAgICAgIC8vIGNhbGN1bGF0ZSBhbGwgYXZhaWxhYmxlIHNsb3RzXG4gICAgICBmb3IgKGNvbnN0IGNhcGFiaWxpdHkgb2YgdGhpcy5fY2hhbm5lbC5jYXBhYmlsaXRpZXMpIHtcbiAgICAgICAgaWYgKGNhcGFiaWxpdHkuY2FwYWJpbGl0eS50eXBlID09PSBGaXh0dXJlQ2FwYWJpbGl0eVR5cGUuV2hlZWxTbG90KSB7XG4gICAgICAgICAgdGhpcy5zbG90Q2FwYWJpbGl0aWVzLnB1c2goY2FwYWJpbGl0eSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGdldENhcGFiaWxpdHlDb2xvclN0eWxlKGNhcGFiaWxpdHk6IENhY2hlZEZpeHR1cmVDYXBhYmlsaXR5KTogYW55IHtcbiAgICBsZXQgcHJvcGVydHkgPSAnYmFja2dyb3VuZC1jb2xvcic7XG4gICAgbGV0IHZhbHVlID0gJ2JsYWNrJztcbiAgICBsZXQgY29sb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaWYgKGNhcGFiaWxpdHkud2hlZWxTbG90cykge1xuICAgICAgZm9yIChjb25zdCBzbG90IG9mIGNhcGFiaWxpdHkud2hlZWxTbG90cykge1xuICAgICAgICAvLyBjYWxjdWxhdGUgdGhlIGNvbG9yIGJhc2VkIG9uIHRoZSBjb2xvciB3aGVlbCBzbG90XG4gICAgICAgIGlmIChzbG90LmNvbG9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29sb3JzID0gY29sb3JzLmNvbmNhdChzbG90LmNvbG9ycyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29sb3JzLmxlbmd0aCA+IDEpIHtcbiAgICAgIC8vIG1peGVkIGNvbG9ycyAtPiBncmFkaWVudFxuICAgICAgbGV0IGNvbG9yU3RyaW5nOiBzdHJpbmc7XG4gICAgICBmb3IgKGNvbnN0IGNvbG9yIG9mIGNvbG9ycykge1xuICAgICAgICBpZiAoY29sb3JTdHJpbmcpIHtcbiAgICAgICAgICBjb2xvclN0cmluZyArPSAnLCAnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbG9yU3RyaW5nID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgY29sb3JTdHJpbmcgKz0gY29sb3I7XG4gICAgICB9XG4gICAgICBwcm9wZXJ0eSA9ICdiYWNrZ3JvdW5kLWltYWdlJztcbiAgICAgIHZhbHVlID0gJ2xpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsICcgKyBjb2xvclN0cmluZyArICcpJztcbiAgICB9IGVsc2UgaWYgKGNvbG9ycy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHZhbHVlID0gY29sb3JzWzBdO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9ICcjZmZmJztcbiAgICB9XG5cbiAgICBjb25zdCBzdHlsZSA9IHt9O1xuICAgIHN0eWxlW3Byb3BlcnR5XSA9IHZhbHVlO1xuICAgIHJldHVybiBzdHlsZTtcbiAgfVxuXG4gIGdldEN1cnJlbnRTbG90TnVtYmVyKCk6IG51bWJlciB7XG4gICAgY29uc3QgY2FwYWJpbGl0eVZhbHVlID0gdGhpcy5wcmVzZXRTZXJ2aWNlLmdldENhcGFiaWxpdHlWYWx1ZShcbiAgICAgIHRoaXMucHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCxcbiAgICAgIEZpeHR1cmVDYXBhYmlsaXR5VHlwZS5XaGVlbFNsb3QsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLndoZWVsTmFtZSxcbiAgICAgIHRoaXMuX2ZpeHR1cmVQcm9maWxlLnV1aWRcbiAgICApO1xuXG4gICAgaWYgKGNhcGFiaWxpdHlWYWx1ZSkge1xuICAgICAgcmV0dXJuIGNhcGFiaWxpdHlWYWx1ZS5zbG90TnVtYmVyO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgc2xvdENhcGFiaWxpdHlJc1NlbGVjdGVkKHNsb3ROdW1iZXI6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNlbGVjdGVkU2xvdE51bWJlciA9IHRoaXMuZ2V0Q3VycmVudFNsb3ROdW1iZXIoKTtcblxuICAgIGlmIChzZWxlY3RlZFNsb3ROdW1iZXIgPj0gMCkge1xuICAgICAgLy8gYSBzbG90IGlzIHNlbGVjdGVkXG4gICAgICByZXR1cm4gc2VsZWN0ZWRTbG90TnVtYmVyID09PSBzbG90TnVtYmVyO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBubyBzbG90IGlzIHNlbGVjdGVkIGFuZCB0aGUgY2FwYWJpbGl0eSBpcyBpbmFjdGl2ZVxuICAgICAgLy8gLT4gc2hvdyB0aGUgYXBwcm94LiBjb2xvciwgaWYgYSBjb2xvciBvciBhIHNpbWlsYXIgc2xvdCBmcm9tIGEgZGlmZmVyZW50IHdoZWVsIGhhcyBiZWVuIHNlbGVjdGVkXG4gICAgICBjb25zdCBhcHByb3hpbWF0ZWRDYXBhYmlsaXR5ID0gdGhpcy5wcmVzZXRTZXJ2aWNlLmdldEFwcHJveGltYXRlZENvbG9yV2hlZWxDYXBhYmlsaXR5KFxuICAgICAgICB0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQsXG4gICAgICAgIHRoaXMuX2NoYW5uZWxcbiAgICAgICk7XG5cbiAgICAgIGlmIChhcHByb3hpbWF0ZWRDYXBhYmlsaXR5KSB7XG4gICAgICAgIHJldHVybiBzbG90TnVtYmVyID09PSBhcHByb3hpbWF0ZWRDYXBhYmlsaXR5LmNhcGFiaWxpdHkuc2xvdE51bWJlcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjaGFuZ2VBY3RpdmUoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgaWYgKGFjdGl2ZSkge1xuICAgICAgdGhpcy5wcmVzZXRTZXJ2aWNlLnNldENhcGFiaWxpdHlWYWx1ZShcbiAgICAgICAgdGhpcy5wcmVzZXRTZXJ2aWNlLnNlbGVjdGVkUHJlc2V0LFxuICAgICAgICBGaXh0dXJlQ2FwYWJpbGl0eVR5cGUuV2hlZWxTbG90LFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIDEsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgdGhpcy53aGVlbE5hbWUsXG4gICAgICAgIHRoaXMuX2ZpeHR1cmVQcm9maWxlLnV1aWRcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJlc2V0U2VydmljZS5kZWxldGVDYXBhYmlsaXR5VmFsdWUoXG4gICAgICAgIHRoaXMucHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCxcbiAgICAgICAgRml4dHVyZUNhcGFiaWxpdHlUeXBlLldoZWVsU2xvdCxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICB0aGlzLndoZWVsTmFtZSxcbiAgICAgICAgdGhpcy5fZml4dHVyZVByb2ZpbGUudXVpZFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnByZXNldFNlcnZpY2UucHJldmlld0xpdmUoKTtcbiAgfVxuXG4gIHNlbGVjdFNsb3ROdW1iZXIoc2xvdE51bWJlcjogbnVtYmVyKSB7XG4gICAgdGhpcy5wcmVzZXRTZXJ2aWNlLnNldENhcGFiaWxpdHlWYWx1ZShcbiAgICAgIHRoaXMucHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCxcbiAgICAgIEZpeHR1cmVDYXBhYmlsaXR5VHlwZS5XaGVlbFNsb3QsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBzbG90TnVtYmVyLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdGhpcy53aGVlbE5hbWUsXG4gICAgICB0aGlzLl9maXh0dXJlUHJvZmlsZS51dWlkXG4gICAgKTtcbiAgICB0aGlzLnByZXNldFNlcnZpY2UucHJldmlld0xpdmUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNhcmQgYm9yZGVyLXNlY29uZGFyeSBoLTEwMFwiIFtjbGFzcy5jYXBhYmlsaXR5LWRlYWN0aXZhdGVkXT1cImdldEN1cnJlbnRTbG90TnVtYmVyKCkgPT0gdW5kZWZpbmVkXCIgc3R5bGU9XCJtaW4taGVpZ2h0OiAyMDBweFwiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibXktYXV0b1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxuICAgICAgICAgIGlkPVwiY2FwYWJpbGl0eUNvbG9yV2hlZWx7eyB3aGVlbEluZGV4IH19QWN0aXZlXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJnZXRDdXJyZW50U2xvdE51bWJlcigpICE9IHVuZGVmaW5lZFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlQWN0aXZlKCRldmVudClcIlxuICAgICAgICAvPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwiY2FwYWJpbGl0eUNvbG9yV2hlZWx7eyB3aGVlbEluZGV4IH19QWN0aXZlXCI+XG4gICAgICAgICAge3sgJ2Rlc2lnbmVyLmZpeHR1cmUuY2FwYWJpbGl0eS1jb2xvcicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGgtMTAwXCI+XG4gICAgPGRpdiAqbmdJZj1cInNob3dDb250YWluZXJcIj57eyBfZml4dHVyZVByb2ZpbGUubmFtZSB9fSAtIHt7IF9jaGFubmVsLm5hbWUgfX08L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJ3aGVlbFwiIGNsYXNzPVwiZC1mbGV4XCIgc3R5bGU9XCJtYXgtd2lkdGg6IDI0MHB4OyBmbGV4LXdyYXA6IHdyYXBcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IHNsb3Qgb2Ygc2xvdENhcGFiaWxpdGllczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RTbG90TnVtYmVyKHNsb3QuY2FwYWJpbGl0eS5zbG90TnVtYmVyKVwiXG4gICAgICAgIGNsYXNzPVwibS0xIGNvbG9yXCJcbiAgICAgICAgW2NsYXNzLmNvbG9yLXNlbGVjdGVkXT1cInNsb3RDYXBhYmlsaXR5SXNTZWxlY3RlZChzbG90LmNhcGFiaWxpdHkuc2xvdE51bWJlcilcIlxuICAgICAgICBbbmdTdHlsZV09XCJnZXRDYXBhYmlsaXR5Q29sb3JTdHlsZShzbG90KVwiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdJZj1cInNsb3RDYXBhYmlsaXR5SXNTZWxlY3RlZChzbG90LmNhcGFiaWxpdHkuc2xvdE51bWJlcilcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RTbG90TnVtYmVyKHNsb3QuY2FwYWJpbGl0eS5zbG90TnVtYmVyKVwiXG4gICAgICAgICAgY2xhc3M9XCJjb2xvci1zZWxlY3RlZC1pbm5lclwiXG4gICAgICAgID48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,78 +0,0 @@
1
- import { ChangeDetectorRef, Component } from '@angular/core';
2
- import { FixtureCapabilityType } from '../../../models/fixture-capability';
3
- import { PresetService } from '../../../services/preset.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../../services/preset.service";
6
- import * as i2 from "@angular/forms";
7
- import * as i3 from "ngx-bootstrap-slider";
8
- export class FixtureCapabilityDimmerComponent {
9
- constructor(presetService, changeDetectorRef) {
10
- this.presetService = presetService;
11
- this.changeDetectorRef = changeDetectorRef;
12
- }
13
- ngOnInit() { }
14
- getValue() {
15
- const capabilityValue = this.presetService.getCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Intensity);
16
- if (capabilityValue) {
17
- return capabilityValue.valuePercentage;
18
- }
19
- return undefined;
20
- }
21
- getValueText() {
22
- const value = this.getValue();
23
- if (value >= 0) {
24
- return Math.round(value * 100 * 100) / 100;
25
- }
26
- return undefined;
27
- }
28
- setValue(value) {
29
- if (isNaN(value)) {
30
- return;
31
- }
32
- if (value < 0 || value > 1) {
33
- return;
34
- }
35
- this.presetService.setCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Intensity, value);
36
- this.changeDetectorRef.detectChanges();
37
- this.presetService.previewLive();
38
- }
39
- changeActive(active) {
40
- if (active) {
41
- this.setValue(1);
42
- }
43
- else {
44
- this.presetService.deleteCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Intensity);
45
- this.changeDetectorRef.detectChanges();
46
- }
47
- this.presetService.previewLive();
48
- }
49
- static { this.ɵfac = function FixtureCapabilityDimmerComponent_Factory(t) { return new (t || FixtureCapabilityDimmerComponent)(i0.ɵɵdirectiveInject(i1.PresetService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
50
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FixtureCapabilityDimmerComponent, selectors: [["lib-app-fixture-capability-dimmer"]], decls: 12, vars: 11, consts: [[1, "card", "border-secondary", "h-100", 2, "min-height", "200px"], [1, "card-header"], [1, "my-auto"], [1, "form-check"], ["type", "checkbox", "id", "capabilityDimmerActive", 1, "form-check-input", 3, "ngModelChange", "ngModel"], ["for", "capabilityDimmerActive", 1, "form-check-label"], [1, "icon-dimmer"], [1, "card-body", "h-100", "d-flex", 2, "flex-direction", "column"], [1, "mb-4", "w-100", "d-flex"], ["type", "text", 1, "mx-auto", 2, "width", "42px", "height", "20px", "text-align", "center", "font-size", "12px", "font-family", "monospace", 3, "ngModelChange", "ngModel"], [1, "h-100", "w-100", "d-flex"], [1, "mx-auto", 2, "height", "100%", 3, "change", "value", "orientation", "reversed", "tooltip", "min", "max", "step"]], template: function FixtureCapabilityDimmerComponent_Template(rf, ctx) { if (rf & 1) {
51
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "input", 4);
52
- i0.ɵɵlistener("ngModelChange", function FixtureCapabilityDimmerComponent_Template_input_ngModelChange_4_listener($event) { return ctx.changeActive($event); });
53
- i0.ɵɵelementEnd();
54
- i0.ɵɵelementStart(5, "label", 5);
55
- i0.ɵɵelement(6, "i", 6);
56
- i0.ɵɵelementEnd()()()();
57
- i0.ɵɵelementStart(7, "div", 7)(8, "div", 8)(9, "input", 9);
58
- i0.ɵɵlistener("ngModelChange", function FixtureCapabilityDimmerComponent_Template_input_ngModelChange_9_listener($event) { return ctx.setValue($event / 100); });
59
- i0.ɵɵelementEnd()();
60
- i0.ɵɵelementStart(10, "div", 10)(11, "mv-slider", 11);
61
- i0.ɵɵlistener("change", function FixtureCapabilityDimmerComponent_Template_mv_slider_change_11_listener($event) { return ctx.setValue($event.newValue); });
62
- i0.ɵɵelementEnd()()()();
63
- } if (rf & 2) {
64
- i0.ɵɵclassProp("capability-deactivated", ctx.getValue() == undefined);
65
- i0.ɵɵadvance(4);
66
- i0.ɵɵproperty("ngModel", ctx.getValue() != undefined);
67
- i0.ɵɵadvance(5);
68
- i0.ɵɵproperty("ngModel", ctx.getValueText() >= 0 ? ctx.getValueText() : 0);
69
- i0.ɵɵadvance(2);
70
- i0.ɵɵproperty("value", ctx.getValue() >= 0 ? ctx.getValue() : 0)("orientation", "vertical")("reversed", true)("tooltip", "hide")("min", 0)("max", 1)("step", 0.001);
71
- } }, dependencies: [i2.DefaultValueAccessor, i2.CheckboxControlValueAccessor, i2.NgControlStatus, i2.NgModel, i3.SliderComponent] }); }
72
- }
73
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FixtureCapabilityDimmerComponent, [{
74
- type: Component,
75
- args: [{ selector: 'lib-app-fixture-capability-dimmer', 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" }]
76
- }], () => [{ type: i1.PresetService }, { type: i0.ChangeDetectorRef }], null); })();
77
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FixtureCapabilityDimmerComponent, { className: "FixtureCapabilityDimmerComponent" }); })();
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jYXBhYmlsaXR5LWRpbW1lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL2ZpeHR1cmUvZml4dHVyZS1jYXBhYmlsaXR5L2ZpeHR1cmUtY2FwYWJpbGl0eS1kaW1tZXIvZml4dHVyZS1jYXBhYmlsaXR5LWRpbW1lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL2ZpeHR1cmUvZml4dHVyZS1jYXBhYmlsaXR5L2ZpeHR1cmUtY2FwYWJpbGl0eS1kaW1tZXIvZml4dHVyZS1jYXBhYmlsaXR5LWRpbW1lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7QUFPakUsTUFBTSxPQUFPLGdDQUFnQztJQUMzQyxZQUFvQixhQUE0QixFQUFVLGlCQUFvQztRQUExRSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFVLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFBRyxDQUFDO0lBRWxHLFFBQVEsS0FBSSxDQUFDO0lBRWIsUUFBUTtRQUNOLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEksSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixPQUFPLGVBQWUsQ0FBQyxlQUFlLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlCLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQzdDLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNqQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQWU7UUFDMUIsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzdHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO2lHQTNDVSxnQ0FBZ0M7b0VBQWhDLGdDQUFnQztZQ0xyQyxBQURGLEFBREYsQUFERixBQURGLDhCQUE0SCxhQUNqRyxhQUNGLGFBQ0ssZUFPcEI7WUFEQSxrSUFBaUIsd0JBQW9CLElBQUM7WUFMeEMsaUJBTUU7WUFDRixnQ0FBNkQ7WUFDM0QsdUJBQTJCO1lBSW5DLEFBREUsQUFERSxBQURFLGlCQUFRLEVBQ0osRUFDRixFQUNGO1lBSUYsQUFERixBQURGLDhCQUFtRSxhQUNsQyxlQU8zQjtZQUZBLGtJQUFpQixzQkFBa0IsR0FBRyxDQUFDLElBQUM7WUFHNUMsQUFQRSxpQkFNRSxFQUNFO1lBR0osQUFERixnQ0FBZ0MscUJBWTdCO1lBUkMseUhBQVUsNkJBQXlCLElBQUM7WUFXNUMsQUFERSxBQURFLEFBREcsaUJBQVksRUFDVCxFQUNGLEVBQ0Y7O1lBNUNtQyxxRUFBd0Q7WUFRdkYsZUFBbUM7WUFBbkMscURBQW1DO1lBZXJDLGVBQW9EO1lBQXBELDBFQUFvRDtZQVNwRCxlQUEwQztZQVExQyxBQURBLEFBREEsQUFEQSxBQUZBLEFBREEsQUFGQSxnRUFBMEMsMkJBRWhCLGtCQUNULG1CQUVDLFVBQ1QsVUFDQSxlQUNLOzs7aUZEL0JULGdDQUFnQztjQUw1QyxTQUFTOzJCQUNFLG1DQUFtQzs7a0ZBSWxDLGdDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRml4dHVyZUNhcGFiaWxpdHlUeXBlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZpeHR1cmUtY2FwYWJpbGl0eSc7XG5pbXBvcnQgeyBQcmVzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJlc2V0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXBwLWZpeHR1cmUtY2FwYWJpbGl0eS1kaW1tZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZml4dHVyZS1jYXBhYmlsaXR5LWRpbW1lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpeHR1cmUtY2FwYWJpbGl0eS1kaW1tZXIuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaXh0dXJlQ2FwYWJpbGl0eURpbW1lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJlc2V0U2VydmljZTogUHJlc2V0U2VydmljZSwgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGdldFZhbHVlKCk6IG51bWJlciB7XG4gICAgY29uc3QgY2FwYWJpbGl0eVZhbHVlID0gdGhpcy5wcmVzZXRTZXJ2aWNlLmdldENhcGFiaWxpdHlWYWx1ZSh0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQsIEZpeHR1cmVDYXBhYmlsaXR5VHlwZS5JbnRlbnNpdHkpO1xuICAgIGlmIChjYXBhYmlsaXR5VmFsdWUpIHtcbiAgICAgIHJldHVybiBjYXBhYmlsaXR5VmFsdWUudmFsdWVQZXJjZW50YWdlO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0VmFsdWVUZXh0KCk6IG51bWJlciB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgaWYgKHZhbHVlID49IDApIHtcbiAgICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlICogMTAwICogMTAwKSAvIDEwMDtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IDEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnByZXNldFNlcnZpY2Uuc2V0Q2FwYWJpbGl0eVZhbHVlKHRoaXMucHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCwgRml4dHVyZUNhcGFiaWxpdHlUeXBlLkludGVuc2l0eSwgdmFsdWUpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMucHJlc2V0U2VydmljZS5wcmV2aWV3TGl2ZSgpO1xuICB9XG5cbiAgY2hhbmdlQWN0aXZlKGFjdGl2ZTogYm9vbGVhbikge1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIHRoaXMuc2V0VmFsdWUoMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJlc2V0U2VydmljZS5kZWxldGVDYXBhYmlsaXR5VmFsdWUodGhpcy5wcmVzZXRTZXJ2aWNlLnNlbGVjdGVkUHJlc2V0LCBGaXh0dXJlQ2FwYWJpbGl0eVR5cGUuSW50ZW5zaXR5KTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICB0aGlzLnByZXNldFNlcnZpY2UucHJldmlld0xpdmUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNhcmQgYm9yZGVyLXNlY29uZGFyeSBoLTEwMFwiIFtjbGFzcy5jYXBhYmlsaXR5LWRlYWN0aXZhdGVkXT1cImdldFZhbHVlKCkgPT0gdW5kZWZpbmVkXCIgc3R5bGU9XCJtaW4taGVpZ2h0OiAyMDBweFwiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibXktYXV0b1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxuICAgICAgICAgIGlkPVwiY2FwYWJpbGl0eURpbW1lckFjdGl2ZVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwiZ2V0VmFsdWUoKSAhPSB1bmRlZmluZWRcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZUFjdGl2ZSgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cImNhcGFiaWxpdHlEaW1tZXJBY3RpdmVcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImljb24tZGltbWVyXCI+PC9pPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgaC0xMDAgZC1mbGV4XCIgc3R5bGU9XCJmbGV4LWRpcmVjdGlvbjogY29sdW1uXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1iLTQgdy0xMDAgZC1mbGV4XCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgY2xhc3M9XCJteC1hdXRvXCJcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBbbmdNb2RlbF09XCJnZXRWYWx1ZVRleHQoKSA+PSAwID8gZ2V0VmFsdWVUZXh0KCkgOiAwXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0VmFsdWUoJGV2ZW50IC8gMTAwKVwiXG4gICAgICAgIHN0eWxlPVwid2lkdGg6IDQycHg7IGhlaWdodDogMjBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2VcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJoLTEwMCB3LTEwMCBkLWZsZXhcIj5cbiAgICAgIDxtdi1zbGlkZXJcbiAgICAgICAgY2xhc3M9XCJteC1hdXRvXCJcbiAgICAgICAgW3ZhbHVlXT1cImdldFZhbHVlKCkgPj0gMCA/IGdldFZhbHVlKCkgOiAwXCJcbiAgICAgICAgKGNoYW5nZSk9XCJzZXRWYWx1ZSgkZXZlbnQubmV3VmFsdWUpXCJcbiAgICAgICAgW29yaWVudGF0aW9uXT1cIid2ZXJ0aWNhbCdcIlxuICAgICAgICBbcmV2ZXJzZWRdPVwidHJ1ZVwiXG4gICAgICAgIHN0eWxlPVwiaGVpZ2h0OiAxMDAlXCJcbiAgICAgICAgW3Rvb2x0aXBdPVwiJ2hpZGUnXCJcbiAgICAgICAgW21pbl09XCIwXCJcbiAgICAgICAgW21heF09XCIxXCJcbiAgICAgICAgW3N0ZXBdPVwiMC4wMDFcIlxuICAgICAgPjwvbXYtc2xpZGVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,119 +0,0 @@
1
- import { ChangeDetectorRef, Component } from '@angular/core';
2
- import { FixtureCapabilityType } from '../../../models/fixture-capability';
3
- import { PresetService } from '../../../services/preset.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../../services/preset.service";
6
- import * as i2 from "@angular/forms";
7
- import * as i3 from "ngx-bootstrap-slider";
8
- import * as i4 from "@ngx-translate/core";
9
- export class FixtureCapabilityPanTiltComponent {
10
- constructor(presetService, changeDetectorRef) {
11
- this.presetService = presetService;
12
- this.changeDetectorRef = changeDetectorRef;
13
- }
14
- ngOnInit() { }
15
- getValuePan() {
16
- const capabilityValue = this.presetService.getCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Pan);
17
- if (capabilityValue) {
18
- return capabilityValue.valuePercentage;
19
- }
20
- return undefined;
21
- }
22
- getValueTextPan() {
23
- const value = this.getValuePan();
24
- if (value >= 0) {
25
- return Math.round(value * 100 * 100) / 100;
26
- }
27
- return undefined;
28
- }
29
- setValuePan(value) {
30
- if (isNaN(value)) {
31
- return;
32
- }
33
- if (value < 0 || value > 1) {
34
- return;
35
- }
36
- this.presetService.setCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Pan, value);
37
- this.changeDetectorRef.detectChanges();
38
- this.presetService.previewLive();
39
- }
40
- getValueTilt() {
41
- const capabilityValue = this.presetService.getCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Tilt);
42
- if (capabilityValue) {
43
- return capabilityValue.valuePercentage;
44
- }
45
- return undefined;
46
- }
47
- getValueTextTilt() {
48
- const value = this.getValueTilt();
49
- if (value >= 0) {
50
- return Math.round(value * 100 * 100) / 100;
51
- }
52
- return undefined;
53
- }
54
- setValueTilt(value) {
55
- if (isNaN(value)) {
56
- return;
57
- }
58
- if (value < 0 || value > 1) {
59
- return;
60
- }
61
- this.presetService.setCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Tilt, value);
62
- this.changeDetectorRef.detectChanges();
63
- this.presetService.previewLive();
64
- }
65
- changeActive(active) {
66
- if (active) {
67
- this.setValuePan(0.5);
68
- this.setValueTilt(0.5);
69
- }
70
- else {
71
- this.presetService.deleteCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Pan);
72
- this.presetService.deleteCapabilityValue(this.presetService.selectedPreset, FixtureCapabilityType.Tilt);
73
- this.changeDetectorRef.detectChanges();
74
- }
75
- this.presetService.previewLive();
76
- }
77
- static { this.ɵfac = function FixtureCapabilityPanTiltComponent_Factory(t) { return new (t || FixtureCapabilityPanTiltComponent)(i0.ɵɵdirectiveInject(i1.PresetService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
78
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FixtureCapabilityPanTiltComponent, selectors: [["lib-app-fixture-capability-pan-tilt"]], decls: 19, vars: 22, consts: [[1, "card", "border-secondary", "h-100"], [1, "card-header"], [1, "my-auto"], [1, "form-check"], ["type", "checkbox", "id", "capabilityColorWheelActive", 1, "form-check-input", 3, "ngModelChange", "ngModel"], ["for", "capabilityColorWheelActive", 1, "form-check-label"], [1, "card-body", "h-100", "d-flex", 2, "flex-direction", "row"], [1, "d-flex", "h-100", "mr-3", 2, "flex-direction", "column"], [1, "mb-4", "w-100", "d-flex"], ["type", "text", 1, "mx-auto", 2, "width", "42px", "height", "20px", "text-align", "center", "font-size", "12px", "font-family", "monospace", 3, "ngModelChange", "ngModel"], [1, "h-100", "w-100", "d-flex"], [1, "mx-auto", 2, "height", "100%", 3, "change", "value", "orientation", "reversed", "tooltip", "min", "max", "step"], [1, "d-flex", "h-100", 2, "flex-direction", "column"]], template: function FixtureCapabilityPanTiltComponent_Template(rf, ctx) { if (rf & 1) {
79
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "input", 4);
80
- i0.ɵɵlistener("ngModelChange", function FixtureCapabilityPanTiltComponent_Template_input_ngModelChange_4_listener($event) { return ctx.changeActive($event); });
81
- i0.ɵɵelementEnd();
82
- i0.ɵɵelementStart(5, "label", 5);
83
- i0.ɵɵtext(6);
84
- i0.ɵɵpipe(7, "translate");
85
- i0.ɵɵelementEnd()()()();
86
- i0.ɵɵelementStart(8, "div", 6)(9, "div", 7)(10, "div", 8)(11, "input", 9);
87
- i0.ɵɵlistener("ngModelChange", function FixtureCapabilityPanTiltComponent_Template_input_ngModelChange_11_listener($event) { return ctx.setValuePan($event / 100); });
88
- i0.ɵɵelementEnd()();
89
- i0.ɵɵelementStart(12, "div", 10)(13, "mv-slider", 11);
90
- i0.ɵɵlistener("change", function FixtureCapabilityPanTiltComponent_Template_mv_slider_change_13_listener($event) { return ctx.setValuePan($event.newValue); });
91
- i0.ɵɵelementEnd()()();
92
- i0.ɵɵelementStart(14, "div", 12)(15, "div", 8)(16, "input", 9);
93
- i0.ɵɵlistener("ngModelChange", function FixtureCapabilityPanTiltComponent_Template_input_ngModelChange_16_listener($event) { return ctx.setValueTilt($event / 100); });
94
- i0.ɵɵelementEnd()();
95
- i0.ɵɵelementStart(17, "div", 10)(18, "mv-slider", 11);
96
- i0.ɵɵlistener("change", function FixtureCapabilityPanTiltComponent_Template_mv_slider_change_18_listener($event) { return ctx.setValueTilt($event.newValue); });
97
- i0.ɵɵelementEnd()()()()();
98
- } if (rf & 2) {
99
- i0.ɵɵclassProp("capability-deactivated", ctx.getValuePan() == undefined && ctx.getValueTilt() == undefined);
100
- i0.ɵɵadvance(4);
101
- i0.ɵɵproperty("ngModel", ctx.getValuePan() != undefined || ctx.getValueTilt() != undefined);
102
- i0.ɵɵadvance(2);
103
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 20, "designer.fixture.capability-pan-tilt"));
104
- i0.ɵɵadvance(5);
105
- i0.ɵɵproperty("ngModel", ctx.getValueTextPan() >= 0 ? ctx.getValueTextPan() : 0);
106
- i0.ɵɵadvance(2);
107
- i0.ɵɵproperty("value", ctx.getValuePan() >= 0 ? ctx.getValuePan() : 0)("orientation", "vertical")("reversed", true)("tooltip", "hide")("min", 0)("max", 1)("step", 0.001);
108
- i0.ɵɵadvance(3);
109
- i0.ɵɵproperty("ngModel", ctx.getValueTextTilt() >= 0 ? ctx.getValueTextTilt() : 0);
110
- i0.ɵɵadvance(2);
111
- i0.ɵɵproperty("value", ctx.getValueTilt() >= 0 ? ctx.getValueTilt() : 0)("orientation", "vertical")("reversed", true)("tooltip", "hide")("min", 0)("max", 1)("step", 0.001);
112
- } }, dependencies: [i2.DefaultValueAccessor, i2.CheckboxControlValueAccessor, i2.NgControlStatus, i2.NgModel, i3.SliderComponent, i4.TranslatePipe] }); }
113
- }
114
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FixtureCapabilityPanTiltComponent, [{
115
- type: Component,
116
- args: [{ selector: 'lib-app-fixture-capability-pan-tilt', 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" }]
117
- }], () => [{ type: i1.PresetService }, { type: i0.ChangeDetectorRef }], null); })();
118
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FixtureCapabilityPanTiltComponent, { className: "FixtureCapabilityPanTiltComponent" }); })();
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jYXBhYmlsaXR5LXBhbi10aWx0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvZml4dHVyZS9maXh0dXJlLWNhcGFiaWxpdHkvZml4dHVyZS1jYXBhYmlsaXR5LXBhbi10aWx0L2ZpeHR1cmUtY2FwYWJpbGl0eS1wYW4tdGlsdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL2ZpeHR1cmUvZml4dHVyZS1jYXBhYmlsaXR5L2ZpeHR1cmUtY2FwYWJpbGl0eS1wYW4tdGlsdC9maXh0dXJlLWNhcGFiaWxpdHktcGFuLXRpbHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQU9qRSxNQUFNLE9BQU8saUNBQWlDO0lBQzVDLFlBQW9CLGFBQTRCLEVBQVUsaUJBQW9DO1FBQTFFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFHLENBQUM7SUFFbEcsUUFBUSxLQUFJLENBQUM7SUFFYixXQUFXO1FBQ1QsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1SCxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sZUFBZSxDQUFDLGVBQWUsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDN0MsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMzQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUscUJBQXFCLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3SCxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sZUFBZSxDQUFDLGVBQWUsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFlO1FBQzFCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZHLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pDLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7a0dBM0VVLGlDQUFpQztvRUFBakMsaUNBQWlDO1lDTHRDLEFBREYsQUFERixBQURGLEFBREYsOEJBQW9JLGFBQ3pHLGFBQ0YsYUFDSyxlQU9wQjtZQURBLG1JQUFpQix3QkFBb0IsSUFBQztZQUx4QyxpQkFNRTtZQUNGLGdDQUFpRTtZQUFBLFlBQXdEOztZQUcvSCxBQURFLEFBREUsQUFEMkgsaUJBQVEsRUFDN0gsRUFDRixFQUNGO1lBS0EsQUFERixBQURGLEFBREYsOEJBQWdFLGFBQ0EsY0FDN0IsZ0JBTzNCO1lBRkEsb0lBQWlCLHlCQUFxQixHQUFHLENBQUMsSUFBQztZQUcvQyxBQVBFLGlCQU1FLEVBQ0U7WUFHSixBQURGLGdDQUFnQyxxQkFZN0I7WUFSQywwSEFBVSxnQ0FBNEIsSUFBQztZQVU3QyxBQURFLEFBREcsaUJBQVksRUFDVCxFQUNGO1lBSUYsQUFERixBQURGLGdDQUF5RCxjQUN4QixnQkFPM0I7WUFGQSxvSUFBaUIsMEJBQXNCLEdBQUcsQ0FBQyxJQUFDO1lBR2hELEFBUEUsaUJBTUUsRUFDRTtZQUdKLEFBREYsZ0NBQWdDLHFCQVk3QjtZQVJDLDBIQUFVLGlDQUE2QixJQUFDO1lBWWxELEFBREUsQUFERSxBQURFLEFBREcsaUJBQVksRUFDVCxFQUNGLEVBQ0YsRUFDRjs7WUF2RW1DLDJHQUEwRjtZQVF6SCxlQUFxRTtZQUFyRSwyRkFBcUU7WUFHTixlQUF3RDtZQUF4RCxtRkFBd0Q7WUFXdkgsZUFBMEQ7WUFBMUQsZ0ZBQTBEO1lBUzFELGVBQWdEO1lBUWhELEFBREEsQUFEQSxBQURBLEFBRkEsQUFEQSxBQUZBLHNFQUFnRCwyQkFFdEIsa0JBQ1QsbUJBRUMsVUFDVCxVQUNBLGVBQ0s7WUFVZCxlQUE0RDtZQUE1RCxrRkFBNEQ7WUFTNUQsZUFBa0Q7WUFRbEQsQUFEQSxBQURBLEFBREEsQUFGQSxBQURBLEFBRkEsd0VBQWtELDJCQUV4QixrQkFDVCxtQkFFQyxVQUNULFVBQ0EsZUFDSzs7O2lGRHpEWCxpQ0FBaUM7Y0FMN0MsU0FBUzsyQkFDRSxxQ0FBcUM7O2tGQUlwQyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpeHR1cmVDYXBhYmlsaXR5VHlwZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maXh0dXJlLWNhcGFiaWxpdHknO1xuaW1wb3J0IHsgUHJlc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3ByZXNldC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFwcC1maXh0dXJlLWNhcGFiaWxpdHktcGFuLXRpbHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZml4dHVyZS1jYXBhYmlsaXR5LXBhbi10aWx0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZml4dHVyZS1jYXBhYmlsaXR5LXBhbi10aWx0LmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRml4dHVyZUNhcGFiaWxpdHlQYW5UaWx0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcmVzZXRTZXJ2aWNlOiBQcmVzZXRTZXJ2aWNlLCBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgZ2V0VmFsdWVQYW4oKTogbnVtYmVyIHtcbiAgICBjb25zdCBjYXBhYmlsaXR5VmFsdWUgPSB0aGlzLnByZXNldFNlcnZpY2UuZ2V0Q2FwYWJpbGl0eVZhbHVlKHRoaXMucHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCwgRml4dHVyZUNhcGFiaWxpdHlUeXBlLlBhbik7XG4gICAgaWYgKGNhcGFiaWxpdHlWYWx1ZSkge1xuICAgICAgcmV0dXJuIGNhcGFiaWxpdHlWYWx1ZS52YWx1ZVBlcmNlbnRhZ2U7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRWYWx1ZVRleHRQYW4oKTogbnVtYmVyIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWVQYW4oKTtcbiAgICBpZiAodmFsdWUgPj0gMCkge1xuICAgICAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUgKiAxMDAgKiAxMDApIC8gMTAwO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgc2V0VmFsdWVQYW4odmFsdWU6IGFueSkge1xuICAgIGlmIChpc05hTih2YWx1ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPCAwIHx8IHZhbHVlID4gMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucHJlc2V0U2VydmljZS5zZXRDYXBhYmlsaXR5VmFsdWUodGhpcy5wcmVzZXRTZXJ2aWNlLnNlbGVjdGVkUHJlc2V0LCBGaXh0dXJlQ2FwYWJpbGl0eVR5cGUuUGFuLCB2YWx1ZSk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5wcmVzZXRTZXJ2aWNlLnByZXZpZXdMaXZlKCk7XG4gIH1cblxuICBnZXRWYWx1ZVRpbHQoKTogbnVtYmVyIHtcbiAgICBjb25zdCBjYXBhYmlsaXR5VmFsdWUgPSB0aGlzLnByZXNldFNlcnZpY2UuZ2V0Q2FwYWJpbGl0eVZhbHVlKHRoaXMucHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCwgRml4dHVyZUNhcGFiaWxpdHlUeXBlLlRpbHQpO1xuICAgIGlmIChjYXBhYmlsaXR5VmFsdWUpIHtcbiAgICAgIHJldHVybiBjYXBhYmlsaXR5VmFsdWUudmFsdWVQZXJjZW50YWdlO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0VmFsdWVUZXh0VGlsdCgpOiBudW1iZXIge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRWYWx1ZVRpbHQoKTtcbiAgICBpZiAodmFsdWUgPj0gMCkge1xuICAgICAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUgKiAxMDAgKiAxMDApIC8gMTAwO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgc2V0VmFsdWVUaWx0KHZhbHVlOiBhbnkpIHtcbiAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IDEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnByZXNldFNlcnZpY2Uuc2V0Q2FwYWJpbGl0eVZhbHVlKHRoaXMucHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCwgRml4dHVyZUNhcGFiaWxpdHlUeXBlLlRpbHQsIHZhbHVlKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnByZXNldFNlcnZpY2UucHJldmlld0xpdmUoKTtcbiAgfVxuXG4gIGNoYW5nZUFjdGl2ZShhY3RpdmU6IGJvb2xlYW4pIHtcbiAgICBpZiAoYWN0aXZlKSB7XG4gICAgICB0aGlzLnNldFZhbHVlUGFuKDAuNSk7XG4gICAgICB0aGlzLnNldFZhbHVlVGlsdCgwLjUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnByZXNldFNlcnZpY2UuZGVsZXRlQ2FwYWJpbGl0eVZhbHVlKHRoaXMucHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCwgRml4dHVyZUNhcGFiaWxpdHlUeXBlLlBhbik7XG4gICAgICB0aGlzLnByZXNldFNlcnZpY2UuZGVsZXRlQ2FwYWJpbGl0eVZhbHVlKHRoaXMucHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCwgRml4dHVyZUNhcGFiaWxpdHlUeXBlLlRpbHQpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIHRoaXMucHJlc2V0U2VydmljZS5wcmV2aWV3TGl2ZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBib3JkZXItc2Vjb25kYXJ5IGgtMTAwXCIgW2NsYXNzLmNhcGFiaWxpdHktZGVhY3RpdmF0ZWRdPVwiZ2V0VmFsdWVQYW4oKSA9PSB1bmRlZmluZWQgJiYgZ2V0VmFsdWVUaWx0KCkgPT0gdW5kZWZpbmVkXCI+XG4gIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJteS1hdXRvXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXG4gICAgICAgICAgaWQ9XCJjYXBhYmlsaXR5Q29sb3JXaGVlbEFjdGl2ZVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwiZ2V0VmFsdWVQYW4oKSAhPSB1bmRlZmluZWQgfHwgZ2V0VmFsdWVUaWx0KCkgIT0gdW5kZWZpbmVkXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VBY3RpdmUoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJjYXBhYmlsaXR5Q29sb3JXaGVlbEFjdGl2ZVwiPnt7ICdkZXNpZ25lci5maXh0dXJlLmNhcGFiaWxpdHktcGFuLXRpbHQnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGgtMTAwIGQtZmxleFwiIHN0eWxlPVwiZmxleC1kaXJlY3Rpb246IHJvd1wiPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggaC0xMDAgbXItM1wiIHN0eWxlPVwiZmxleC1kaXJlY3Rpb246IGNvbHVtblwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1iLTQgdy0xMDAgZC1mbGV4XCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGNsYXNzPVwibXgtYXV0b1wiXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cImdldFZhbHVlVGV4dFBhbigpID49IDAgPyBnZXRWYWx1ZVRleHRQYW4oKSA6IDBcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldFZhbHVlUGFuKCRldmVudCAvIDEwMClcIlxuICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDQycHg7IGhlaWdodDogMjBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2VcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJoLTEwMCB3LTEwMCBkLWZsZXhcIj5cbiAgICAgICAgPG12LXNsaWRlclxuICAgICAgICAgIGNsYXNzPVwibXgtYXV0b1wiXG4gICAgICAgICAgW3ZhbHVlXT1cImdldFZhbHVlUGFuKCkgPj0gMCA/IGdldFZhbHVlUGFuKCkgOiAwXCJcbiAgICAgICAgICAoY2hhbmdlKT1cInNldFZhbHVlUGFuKCRldmVudC5uZXdWYWx1ZSlcIlxuICAgICAgICAgIFtvcmllbnRhdGlvbl09XCIndmVydGljYWwnXCJcbiAgICAgICAgICBbcmV2ZXJzZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIlxuICAgICAgICAgIFt0b29sdGlwXT1cIidoaWRlJ1wiXG4gICAgICAgICAgW21pbl09XCIwXCJcbiAgICAgICAgICBbbWF4XT1cIjFcIlxuICAgICAgICAgIFtzdGVwXT1cIjAuMDAxXCJcbiAgICAgICAgPjwvbXYtc2xpZGVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGgtMTAwXCIgc3R5bGU9XCJmbGV4LWRpcmVjdGlvbjogY29sdW1uXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWItNCB3LTEwMCBkLWZsZXhcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgY2xhc3M9XCJteC1hdXRvXCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgW25nTW9kZWxdPVwiZ2V0VmFsdWVUZXh0VGlsdCgpID49IDAgPyBnZXRWYWx1ZVRleHRUaWx0KCkgOiAwXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRWYWx1ZVRpbHQoJGV2ZW50IC8gMTAwKVwiXG4gICAgICAgICAgc3R5bGU9XCJ3aWR0aDogNDJweDsgaGVpZ2h0OiAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZVwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImgtMTAwIHctMTAwIGQtZmxleFwiPlxuICAgICAgICA8bXYtc2xpZGVyXG4gICAgICAgICAgY2xhc3M9XCJteC1hdXRvXCJcbiAgICAgICAgICBbdmFsdWVdPVwiZ2V0VmFsdWVUaWx0KCkgPj0gMCA/IGdldFZhbHVlVGlsdCgpIDogMFwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJzZXRWYWx1ZVRpbHQoJGV2ZW50Lm5ld1ZhbHVlKVwiXG4gICAgICAgICAgW29yaWVudGF0aW9uXT1cIid2ZXJ0aWNhbCdcIlxuICAgICAgICAgIFtyZXZlcnNlZF09XCJ0cnVlXCJcbiAgICAgICAgICBzdHlsZT1cImhlaWdodDogMTAwJVwiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ2hpZGUnXCJcbiAgICAgICAgICBbbWluXT1cIjBcIlxuICAgICAgICAgIFttYXhdPVwiMVwiXG4gICAgICAgICAgW3N0ZXBdPVwiMC4wMDFcIlxuICAgICAgICA+PC9tdi1zbGlkZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==