@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.
- package/fesm2022/rocketshow-designer.mjs +1389 -1148
- package/fesm2022/rocketshow-designer.mjs.map +1 -1
- package/index.d.ts +1676 -5
- package/package.json +2 -4
- package/rocketshow-designer-1.44.0.tgz +0 -0
- package/esm2022/lib/array-sort-pipe.mjs +0 -30
- package/esm2022/lib/designer.component.mjs +0 -672
- package/esm2022/lib/designer.module.mjs +0 -186
- package/esm2022/lib/designer.service.mjs +0 -14
- package/esm2022/lib/dropzone/dropzone.component.mjs +0 -93
- package/esm2022/lib/effect/effect-curve/effect-curve.component.mjs +0 -577
- package/esm2022/lib/effect/effect-pan-tilt/effect-pan-tilt.component.mjs +0 -36
- package/esm2022/lib/effect/effect.component.mjs +0 -174
- package/esm2022/lib/error-dialog/error-dialog.component.mjs +0 -75
- package/esm2022/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.mjs +0 -370
- package/esm2022/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.mjs +0 -147
- package/esm2022/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.mjs +0 -213
- package/esm2022/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.mjs +0 -78
- package/esm2022/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.mjs +0 -119
- package/esm2022/lib/fixture/fixture-capability/fixture-capability.component.mjs +0 -191
- package/esm2022/lib/fixture/fixture-channel/fixture-channel.component.mjs +0 -162
- package/esm2022/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.mjs +0 -365
- package/esm2022/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.mjs +0 -151
- package/esm2022/lib/fixture/fixture-settings/fixture-settings.component.mjs +0 -46
- package/esm2022/lib/fixture/fixture.component.mjs +0 -148
- package/esm2022/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.mjs +0 -145
- package/esm2022/lib/fixture-pool/fixture-pool.component.mjs +0 -641
- package/esm2022/lib/intro/intro.component.mjs +0 -95
- package/esm2022/lib/master-dimmer/master-dimmer.component.mjs +0 -66
- package/esm2022/lib/models/cached-fixture-capability.mjs +0 -9
- package/esm2022/lib/models/cached-fixture-channel.mjs +0 -7
- package/esm2022/lib/models/cached-fixture.mjs +0 -6
- package/esm2022/lib/models/color.mjs +0 -8
- package/esm2022/lib/models/composition.mjs +0 -46
- package/esm2022/lib/models/effect-curve-profile-channel.mjs +0 -15
- package/esm2022/lib/models/effect-curve.mjs +0 -69
- package/esm2022/lib/models/effect-pan-tilt.mjs +0 -19
- package/esm2022/lib/models/effect.mjs +0 -12
- package/esm2022/lib/models/fixture-capability-value.mjs +0 -15
- package/esm2022/lib/models/fixture-capability.mjs +0 -127
- package/esm2022/lib/models/fixture-channel-value.mjs +0 -11
- package/esm2022/lib/models/fixture-channel.mjs +0 -24
- package/esm2022/lib/models/fixture-matrix-pixel-group-constraints.mjs +0 -27
- package/esm2022/lib/models/fixture-matrix-pixel-group.mjs +0 -12
- package/esm2022/lib/models/fixture-matrix.mjs +0 -25
- package/esm2022/lib/models/fixture-mode-channel.mjs +0 -26
- package/esm2022/lib/models/fixture-mode.mjs +0 -17
- package/esm2022/lib/models/fixture-physical.mjs +0 -14
- package/esm2022/lib/models/fixture-profile.mjs +0 -85
- package/esm2022/lib/models/fixture-wheel-slot.mjs +0 -26
- package/esm2022/lib/models/fixture-wheel.mjs +0 -15
- package/esm2022/lib/models/fixture.mjs +0 -40
- package/esm2022/lib/models/preset-fixture.mjs +0 -10
- package/esm2022/lib/models/preset-region-scene.mjs +0 -8
- package/esm2022/lib/models/preset.mjs +0 -65
- package/esm2022/lib/models/project.mjs +0 -78
- package/esm2022/lib/models/scene-playback-region.mjs +0 -11
- package/esm2022/lib/models/scene.mjs +0 -27
- package/esm2022/lib/preset/preset-settings/preset-settings.component.mjs +0 -194
- package/esm2022/lib/preset/preset.component.mjs +0 -131
- package/esm2022/lib/preview/models/color-changer-3d.mjs +0 -52
- package/esm2022/lib/preview/models/fixture-3d.mjs +0 -260
- package/esm2022/lib/preview/models/moving-head-3d.mjs +0 -115
- package/esm2022/lib/preview/preview.component.mjs +0 -216
- package/esm2022/lib/project/project-browser/project-browser.component.mjs +0 -143
- package/esm2022/lib/project/project-import/project-import.component.mjs +0 -107
- package/esm2022/lib/project/project-save/project-save.component.mjs +0 -178
- package/esm2022/lib/project/project-share/project-share.component.mjs +0 -71
- package/esm2022/lib/scene/scene-settings/scene-settings.component.mjs +0 -146
- package/esm2022/lib/scene/scene.component.mjs +0 -110
- package/esm2022/lib/services/animation.service.mjs +0 -16
- package/esm2022/lib/services/config.service.mjs +0 -28
- package/esm2022/lib/services/effect.service.mjs +0 -14
- package/esm2022/lib/services/error-dialog.service.mjs +0 -39
- package/esm2022/lib/services/fixture-pool.service.mjs +0 -30
- package/esm2022/lib/services/fixture.service.mjs +0 -699
- package/esm2022/lib/services/hotkey-target-exclude.service.mjs +0 -24
- package/esm2022/lib/services/intro.service.mjs +0 -140
- package/esm2022/lib/services/preset.service.mjs +0 -450
- package/esm2022/lib/services/preview-mesh.service.mjs +0 -57
- package/esm2022/lib/services/preview.service.mjs +0 -481
- package/esm2022/lib/services/project-load.service.mjs +0 -206
- package/esm2022/lib/services/project.service.mjs +0 -93
- package/esm2022/lib/services/scene.service.mjs +0 -164
- package/esm2022/lib/services/timeline.service.mjs +0 -726
- package/esm2022/lib/services/user-ensure-login.service.mjs +0 -38
- package/esm2022/lib/services/user.service.mjs +0 -89
- package/esm2022/lib/services/uuid.service.mjs +0 -23
- package/esm2022/lib/services/warning-dialog.service.mjs +0 -38
- package/esm2022/lib/timeline/composition-settings/composition-settings.component.mjs +0 -304
- package/esm2022/lib/timeline/timeline-grid/timeline-grid.component.mjs +0 -216
- package/esm2022/lib/timeline/timeline.component.mjs +0 -418
- package/esm2022/lib/user/user-login/user-login.component.mjs +0 -144
- package/esm2022/lib/user/user-register/user-register.component.mjs +0 -220
- package/esm2022/lib/wait-dialog/wait-dialog.component.mjs +0 -26
- package/esm2022/lib/warning-dialog/warning-dialog.component.mjs +0 -68
- package/esm2022/public_api.mjs +0 -7
- package/esm2022/rocketshow-designer.mjs +0 -5
- package/lib/array-sort-pipe.d.ts +0 -7
- package/lib/designer.component.d.ts +0 -73
- package/lib/designer.module.d.ts +0 -57
- package/lib/designer.service.d.ts +0 -6
- package/lib/dropzone/dropzone.component.d.ts +0 -24
- package/lib/effect/effect-curve/effect-curve.component.d.ts +0 -59
- package/lib/effect/effect-pan-tilt/effect-pan-tilt.component.d.ts +0 -15
- package/lib/effect/effect.component.d.ts +0 -22
- package/lib/error-dialog/error-dialog.component.d.ts +0 -17
- package/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.d.ts +0 -41
- package/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.d.ts +0 -26
- package/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.d.ts +0 -34
- package/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.d.ts +0 -15
- package/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.d.ts +0 -18
- package/lib/fixture/fixture-capability/fixture-capability.component.d.ts +0 -31
- package/lib/fixture/fixture-channel/fixture-channel.component.d.ts +0 -25
- package/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.d.ts +0 -32
- package/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.d.ts +0 -14
- package/lib/fixture/fixture-settings/fixture-settings.component.d.ts +0 -14
- package/lib/fixture/fixture.component.d.ts +0 -25
- package/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.d.ts +0 -28
- package/lib/fixture-pool/fixture-pool.component.d.ts +0 -62
- package/lib/intro/intro.component.d.ts +0 -11
- package/lib/master-dimmer/master-dimmer.component.d.ts +0 -15
- package/lib/models/cached-fixture-capability.d.ts +0 -11
- package/lib/models/cached-fixture-channel.d.ts +0 -11
- package/lib/models/cached-fixture.d.ts +0 -11
- package/lib/models/color.d.ts +0 -6
- package/lib/models/composition.d.ts +0 -19
- package/lib/models/effect-curve-profile-channel.d.ts +0 -5
- package/lib/models/effect-curve.d.ts +0 -15
- package/lib/models/effect-pan-tilt.d.ts +0 -6
- package/lib/models/effect.d.ts +0 -6
- package/lib/models/fixture-capability-value.d.ts +0 -10
- package/lib/models/fixture-capability.d.ts +0 -117
- package/lib/models/fixture-channel-value.d.ts +0 -6
- package/lib/models/fixture-channel.d.ts +0 -9
- package/lib/models/fixture-matrix-pixel-group-constraints.d.ts +0 -8
- package/lib/models/fixture-matrix-pixel-group.d.ts +0 -6
- package/lib/models/fixture-matrix.d.ts +0 -6
- package/lib/models/fixture-mode-channel.d.ts +0 -8
- package/lib/models/fixture-mode.d.ts +0 -8
- package/lib/models/fixture-physical.d.ts +0 -4
- package/lib/models/fixture-profile.d.ts +0 -39
- package/lib/models/fixture-wheel-slot.d.ts +0 -17
- package/lib/models/fixture-wheel.d.ts +0 -5
- package/lib/models/fixture.d.ts +0 -23
- package/lib/models/preset-fixture.d.ts +0 -5
- package/lib/models/preset-region-scene.d.ts +0 -9
- package/lib/models/preset.d.ts +0 -20
- package/lib/models/project.d.ts +0 -31
- package/lib/models/scene-playback-region.d.ts +0 -6
- package/lib/models/scene.d.ts +0 -11
- package/lib/preset/preset-settings/preset-settings.component.d.ts +0 -22
- package/lib/preset/preset.component.d.ts +0 -25
- package/lib/preview/models/color-changer-3d.d.ts +0 -16
- package/lib/preview/models/fixture-3d.d.ts +0 -38
- package/lib/preview/models/moving-head-3d.d.ts +0 -23
- package/lib/preview/preview.component.d.ts +0 -38
- package/lib/project/project-browser/project-browser.component.d.ts +0 -27
- package/lib/project/project-import/project-import.component.d.ts +0 -23
- package/lib/project/project-save/project-save.component.d.ts +0 -28
- package/lib/project/project-share/project-share.component.d.ts +0 -16
- package/lib/scene/scene-settings/scene-settings.component.d.ts +0 -20
- package/lib/scene/scene.component.d.ts +0 -22
- package/lib/services/animation.service.d.ts +0 -7
- package/lib/services/config.service.d.ts +0 -20
- package/lib/services/effect.service.d.ts +0 -8
- package/lib/services/error-dialog.service.d.ts +0 -12
- package/lib/services/fixture-pool.service.d.ts +0 -10
- package/lib/services/fixture.service.d.ts +0 -70
- package/lib/services/hotkey-target-exclude.service.d.ts +0 -7
- package/lib/services/intro.service.d.ts +0 -21
- package/lib/services/preset.service.d.ts +0 -64
- package/lib/services/preview-mesh.service.d.ts +0 -14
- package/lib/services/preview.service.d.ts +0 -42
- package/lib/services/project-load.service.d.ts +0 -36
- package/lib/services/project.service.d.ts +0 -26
- package/lib/services/scene.service.d.ts +0 -30
- package/lib/services/timeline.service.d.ts +0 -70
- package/lib/services/user-ensure-login.service.d.ts +0 -14
- package/lib/services/user.service.d.ts +0 -22
- package/lib/services/uuid.service.d.ts +0 -7
- package/lib/services/warning-dialog.service.d.ts +0 -12
- package/lib/timeline/composition-settings/composition-settings.component.d.ts +0 -48
- package/lib/timeline/timeline-grid/timeline-grid.component.d.ts +0 -22
- package/lib/timeline/timeline.component.d.ts +0 -50
- package/lib/user/user-login/user-login.component.d.ts +0 -21
- package/lib/user/user-register/user-register.component.d.ts +0 -26
- package/lib/wait-dialog/wait-dialog.component.d.ts +0 -8
- package/lib/warning-dialog/warning-dialog.component.d.ts +0 -16
- package/public_api.d.ts +0 -3
- package/rocketshow-designer-1.40.0.tgz +0 -0
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
|
|
2
|
-
import { FixtureWheelSlotType } from '../../models/fixture-wheel-slot';
|
|
3
|
-
import { FixtureService } from '../../services/fixture.service';
|
|
4
|
-
import { IntroService } from '../../services/intro.service';
|
|
5
|
-
import { PresetService } from '../../services/preset.service';
|
|
6
|
-
import { ProjectService } from '../../services/project.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 "../../services/project.service";
|
|
11
|
-
import * as i4 from "../../services/intro.service";
|
|
12
|
-
import * as i5 from "@angular/common";
|
|
13
|
-
import * as i6 from "./fixture-capability-color/fixture-capability-color.component";
|
|
14
|
-
import * as i7 from "./fixture-capability-dimmer/fixture-capability-dimmer.component";
|
|
15
|
-
import * as i8 from "./fixture-capability-pan-tilt/fixture-capability-pan-tilt.component";
|
|
16
|
-
import * as i9 from "./fixture-capability-color-wheel/fixture-capability-color-wheel.component";
|
|
17
|
-
import * as i10 from "@ngx-translate/core";
|
|
18
|
-
function FixtureCapabilityComponent_div_2_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
-
i0.ɵɵelementStart(0, "div", 8);
|
|
20
|
-
i0.ɵɵelement(1, "lib-app-fixture-capability-dimmer");
|
|
21
|
-
i0.ɵɵelementEnd();
|
|
22
|
-
} }
|
|
23
|
-
function FixtureCapabilityComponent_div_2_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
-
i0.ɵɵelementStart(0, "div", 8);
|
|
25
|
-
i0.ɵɵelement(1, "lib-app-fixture-capability-color");
|
|
26
|
-
i0.ɵɵelementEnd();
|
|
27
|
-
} }
|
|
28
|
-
function FixtureCapabilityComponent_div_2_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
29
|
-
i0.ɵɵelementStart(0, "div", 8);
|
|
30
|
-
i0.ɵɵelement(1, "lib-app-fixture-capability-color-wheel", 9);
|
|
31
|
-
i0.ɵɵelementEnd();
|
|
32
|
-
} if (rf & 2) {
|
|
33
|
-
const entry_r1 = ctx.$implicit;
|
|
34
|
-
const i_r2 = ctx.index;
|
|
35
|
-
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
36
|
-
i0.ɵɵadvance();
|
|
37
|
-
i0.ɵɵproperty("profile", entry_r1.key)("channel", entry_r1.value)("wheelIndex", i_r2)("showContainer", ctx_r2.colorWheelChannels.size > 1);
|
|
38
|
-
} }
|
|
39
|
-
function FixtureCapabilityComponent_div_2_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
40
|
-
i0.ɵɵelementStart(0, "div", 8);
|
|
41
|
-
i0.ɵɵelement(1, "lib-app-fixture-capability-pan-tilt");
|
|
42
|
-
i0.ɵɵelementEnd();
|
|
43
|
-
} }
|
|
44
|
-
function FixtureCapabilityComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
45
|
-
i0.ɵɵelementStart(0, "div", 4);
|
|
46
|
-
i0.ɵɵtemplate(1, FixtureCapabilityComponent_div_2_div_1_Template, 2, 0, "div", 5)(2, FixtureCapabilityComponent_div_2_div_2_Template, 2, 0, "div", 5)(3, FixtureCapabilityComponent_div_2_div_3_Template, 2, 4, "div", 6);
|
|
47
|
-
i0.ɵɵpipe(4, "keyvalue");
|
|
48
|
-
i0.ɵɵtemplate(5, FixtureCapabilityComponent_div_2_div_5_Template, 2, 0, "div", 5);
|
|
49
|
-
i0.ɵɵelementStart(6, "div", 7);
|
|
50
|
-
i0.ɵɵtext(7, "\u00A0");
|
|
51
|
-
i0.ɵɵelementEnd()();
|
|
52
|
-
} if (rf & 2) {
|
|
53
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
54
|
-
i0.ɵɵclassProp("h-100", ctx_r2.isChrome());
|
|
55
|
-
i0.ɵɵadvance();
|
|
56
|
-
i0.ɵɵproperty("ngIf", ctx_r2.hasCapabilityDimmer);
|
|
57
|
-
i0.ɵɵadvance();
|
|
58
|
-
i0.ɵɵproperty("ngIf", ctx_r2.hasCapabilityColorOrColorWheel);
|
|
59
|
-
i0.ɵɵadvance();
|
|
60
|
-
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(4, 6, ctx_r2.colorWheelChannels));
|
|
61
|
-
i0.ɵɵadvance(2);
|
|
62
|
-
i0.ɵɵproperty("ngIf", ctx_r2.hasCapabilityPanTilt);
|
|
63
|
-
} }
|
|
64
|
-
function FixtureCapabilityComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
65
|
-
i0.ɵɵelementStart(0, "div", 10)(1, "p", 11);
|
|
66
|
-
i0.ɵɵtext(2);
|
|
67
|
-
i0.ɵɵpipe(3, "translate");
|
|
68
|
-
i0.ɵɵelementEnd()();
|
|
69
|
-
} if (rf & 2) {
|
|
70
|
-
i0.ɵɵadvance(2);
|
|
71
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "designer.fixture.no-fixtures"));
|
|
72
|
-
} }
|
|
73
|
-
function FixtureCapabilityComponent_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
74
|
-
i0.ɵɵelementStart(0, "div", 10)(1, "p", 11);
|
|
75
|
-
i0.ɵɵtext(2);
|
|
76
|
-
i0.ɵɵpipe(3, "translate");
|
|
77
|
-
i0.ɵɵelementEnd()();
|
|
78
|
-
} if (rf & 2) {
|
|
79
|
-
i0.ɵɵadvance(2);
|
|
80
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "designer.fixture.no-fixtures-selected"));
|
|
81
|
-
} }
|
|
82
|
-
function FixtureCapabilityComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
83
|
-
i0.ɵɵelementStart(0, "div", 10)(1, "p", 11);
|
|
84
|
-
i0.ɵɵtext(2);
|
|
85
|
-
i0.ɵɵpipe(3, "translate");
|
|
86
|
-
i0.ɵɵelementEnd()();
|
|
87
|
-
} if (rf & 2) {
|
|
88
|
-
i0.ɵɵadvance(2);
|
|
89
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "designer.fixture.no-capabilities-available"));
|
|
90
|
-
} }
|
|
91
|
-
export class FixtureCapabilityComponent {
|
|
92
|
-
constructor(presetService, fixtureService, changeDetectorRef, projectService, introService) {
|
|
93
|
-
this.presetService = presetService;
|
|
94
|
-
this.fixtureService = fixtureService;
|
|
95
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
96
|
-
this.projectService = projectService;
|
|
97
|
-
this.introService = introService;
|
|
98
|
-
// map containing the profile and the channel name containing the wheel
|
|
99
|
-
this.colorWheelChannels = new Map();
|
|
100
|
-
this.hasCapabilityDimmer = false;
|
|
101
|
-
this.hasCapabilityColorOrColorWheel = false;
|
|
102
|
-
this.hasCapabilityPanTilt = false;
|
|
103
|
-
this.fixtureSelectionChangedSubscription = this.presetService.fixtureSelectionChanged.subscribe(() => {
|
|
104
|
-
this.update();
|
|
105
|
-
});
|
|
106
|
-
this.previewSelectionChangedSubscription = this.presetService.previewSelectionChanged.subscribe(() => {
|
|
107
|
-
this.update();
|
|
108
|
-
});
|
|
109
|
-
this.introService.stepChanged.subscribe(() => {
|
|
110
|
-
this.changeDetectorRef.detectChanges();
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
ngOnInit() {
|
|
114
|
-
this.update();
|
|
115
|
-
}
|
|
116
|
-
ngOnDestroy() {
|
|
117
|
-
this.fixtureSelectionChangedSubscription.unsubscribe();
|
|
118
|
-
this.previewSelectionChangedSubscription.unsubscribe();
|
|
119
|
-
}
|
|
120
|
-
wheelInList(wheels, profile, channel) {
|
|
121
|
-
wheels.forEach((existingChannel, existingProfile) => {
|
|
122
|
-
if (existingProfile.uuid === profile.uuid && existingChannel.name === channel.name) {
|
|
123
|
-
return true;
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
return false;
|
|
127
|
-
}
|
|
128
|
-
updateColorWheels() {
|
|
129
|
-
this.colorWheelChannels = new Map();
|
|
130
|
-
if (!this.presetService.selectedPreset) {
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
for (const preserFixture of this.presetService.selectedPreset.fixtures) {
|
|
134
|
-
const fixture = this.fixtureService.getCachedFixtureByUuid(preserFixture.fixtureUuid, preserFixture.pixelKey);
|
|
135
|
-
for (const channel of fixture.channels) {
|
|
136
|
-
for (const capability of channel.capabilities) {
|
|
137
|
-
if (capability.wheel && capability.wheelSlots && capability.wheelSlots.length > 0) {
|
|
138
|
-
if (this.fixtureService.wheelHasSlotType(capability.wheel, FixtureWheelSlotType.Color)) {
|
|
139
|
-
// color wheel
|
|
140
|
-
if (!this.wheelInList(this.colorWheelChannels, fixture.profile, channel)) {
|
|
141
|
-
this.colorWheelChannels.set(fixture.profile, channel);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
else if (this.fixtureService.wheelHasSlotType(capability.wheel, FixtureWheelSlotType.Gobo)) {
|
|
145
|
-
// gobo wheel
|
|
146
|
-
// TODO
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
updateCapabilities() {
|
|
154
|
-
this.hasCapabilityDimmer = this.presetService.hasCapabilityDimmer();
|
|
155
|
-
this.hasCapabilityColorOrColorWheel = this.presetService.hasCapabilityColorOrColorWheel();
|
|
156
|
-
this.hasCapabilityPanTilt = this.presetService.hasCapabilityPanTilt();
|
|
157
|
-
}
|
|
158
|
-
update() {
|
|
159
|
-
this.updateColorWheels();
|
|
160
|
-
this.updateCapabilities();
|
|
161
|
-
this.changeDetectorRef.detectChanges();
|
|
162
|
-
}
|
|
163
|
-
isChrome() {
|
|
164
|
-
if (navigator.appVersion.indexOf('Chrome/') !== -1) {
|
|
165
|
-
return true;
|
|
166
|
-
}
|
|
167
|
-
return false;
|
|
168
|
-
}
|
|
169
|
-
static { this.ɵfac = function FixtureCapabilityComponent_Factory(t) { return new (t || FixtureCapabilityComponent)(i0.ɵɵdirectiveInject(i1.PresetService), i0.ɵɵdirectiveInject(i2.FixtureService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i3.ProjectService), i0.ɵɵdirectiveInject(i4.IntroService)); }; }
|
|
170
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FixtureCapabilityComponent, selectors: [["lib-app-fixture-capability"]], decls: 6, vars: 6, consts: [[1, "card", "border-secondary", "panel", "h-100"], [1, "card-body", "capability-container", "d-flex", "h-100", 2, "overflow-y", "hidden"], ["class", "row m-0 pl-3", 3, "h-100", 4, "ngIf"], ["class", "m-auto", 4, "ngIf"], [1, "row", "m-0", "pl-3"], ["class", "col col-auto p-0 my-3 mr-3", "style", "height: calc(100% - 2rem)", 4, "ngIf"], ["class", "col col-auto p-0 my-3 mr-3", "style", "height: calc(100% - 2rem)", 4, "ngFor", "ngForOf"], [1, "col", "col-auto", "p-0", "my-3", "mr-3"], [1, "col", "col-auto", "p-0", "my-3", "mr-3", 2, "height", "calc(100% - 2rem)"], [3, "profile", "channel", "wheelIndex", "showContainer"], [1, "m-auto"], [1, "m-auto", 2, "color", "#717171"]], template: function FixtureCapabilityComponent_Template(rf, ctx) { if (rf & 1) {
|
|
171
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
172
|
-
i0.ɵɵtemplate(2, FixtureCapabilityComponent_div_2_Template, 8, 8, "div", 2)(3, FixtureCapabilityComponent_div_3_Template, 4, 3, "div", 3)(4, FixtureCapabilityComponent_div_4_Template, 4, 3, "div", 3)(5, FixtureCapabilityComponent_div_5_Template, 4, 3, "div", 3);
|
|
173
|
-
i0.ɵɵelementEnd()();
|
|
174
|
-
} if (rf & 2) {
|
|
175
|
-
i0.ɵɵclassProp("card-intro-active", ctx.introService.showStep("capabilities"));
|
|
176
|
-
i0.ɵɵadvance(2);
|
|
177
|
-
i0.ɵɵproperty("ngIf", ctx.presetService.selectedPreset);
|
|
178
|
-
i0.ɵɵadvance();
|
|
179
|
-
i0.ɵɵproperty("ngIf", ctx.projectService.project.fixtures.length == 0);
|
|
180
|
-
i0.ɵɵadvance();
|
|
181
|
-
i0.ɵɵproperty("ngIf", ctx.projectService.project.fixtures.length > 0 && ctx.presetService.selectedPreset && ctx.presetService.selectedPreset.fixtures.length == 0);
|
|
182
|
-
i0.ɵɵadvance();
|
|
183
|
-
i0.ɵɵproperty("ngIf", ctx.projectService.project.fixtures.length > 0 && ctx.presetService.selectedPreset && ctx.presetService.selectedPreset.fixtures.length > 0 && !ctx.hasCapabilityColorOrColorWheel && !ctx.hasCapabilityPanTilt);
|
|
184
|
-
} }, dependencies: [i5.NgForOf, i5.NgIf, i6.FixtureCapabilityColorComponent, i7.FixtureCapabilityDimmerComponent, i8.FixtureCapabilityPanTiltComponent, i9.FixtureCapabilityColorWheelComponent, i5.KeyValuePipe, i10.TranslatePipe], changeDetection: 0 }); }
|
|
185
|
-
}
|
|
186
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FixtureCapabilityComponent, [{
|
|
187
|
-
type: Component,
|
|
188
|
-
args: [{ selector: 'lib-app-fixture-capability', changeDetection: ChangeDetectionStrategy.OnPush, 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=\"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=\"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=\"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\"> </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.fixtures.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\n <div\n *ngIf=\"\n projectService.project.fixtures.length > 0 &&\n presetService.selectedPreset &&\n presetService.selectedPreset.fixtures.length > 0 &&\n !hasCapabilityColorOrColorWheel &&\n !hasCapabilityPanTilt\n \"\n class=\"m-auto\"\n >\n <p class=\"m-auto\" style=\"color: #717171\">{{ 'designer.fixture.no-capabilities-available' | translate }}</p>\n </div>\n </div>\n</div>\n" }]
|
|
189
|
-
}], () => [{ type: i1.PresetService }, { type: i2.FixtureService }, { type: i0.ChangeDetectorRef }, { type: i3.ProjectService }, { type: i4.IntroService }], null); })();
|
|
190
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FixtureCapabilityComponent, { className: "FixtureCapabilityComponent" }); })();
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jYXBhYmlsaXR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvZml4dHVyZS9maXh0dXJlLWNhcGFiaWxpdHkvZml4dHVyZS1jYXBhYmlsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvZml4dHVyZS9maXh0dXJlLWNhcGFiaWxpdHkvZml4dHVyZS1jYXBhYmlsaXR5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBSXpHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0MxRCw4QkFBc0c7SUFDcEcsb0RBQXVFO0lBQ3pFLGlCQUFNOzs7SUFJTiw4QkFBaUg7SUFDL0csbURBQXFFO0lBQ3ZFLGlCQUFNOzs7SUFHTiw4QkFJQztJQUNDLDREQUswQztJQUM1QyxpQkFBTTs7Ozs7SUFMRixjQUFxQjtJQUdyQixBQURBLEFBREEsQUFEQSxzQ0FBcUIsMkJBQ0Usb0JBQ1AscURBQzZCOzs7SUFLakQsOEJBQXVHO0lBQ3JHLHNEQUEyRTtJQUM3RSxpQkFBTTs7O0lBL0JSLDhCQUEwRjtJQWV4RixBQUxBLEFBTkEsaUZBQXNHLG9FQU1XLG9FQVNoSDs7SUFVRCxpRkFBdUc7SUFLdkcsOEJB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R0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLDhCQUE4QixFQUFFLENBQUM7UUFDMUYsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUN4RSxDQUFDO0lBRU8sTUFBTTtRQUNaLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNuRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7MkZBN0ZVLDBCQUEwQjtvRUFBMUIsMEJBQTBCO1lDZnJDLEFBREYsOEJBQWlILGFBQzNCO1lBc0RsRixBQVRBLEFBSkEsQUFyQ0EsMkVBQTBGLDhEQXFDbEIsOERBU3ZFLDhEQWFBO1lBSUwsQUFERSxpQkFBTSxFQUNGOztZQXBFeUMsOEVBQWlFO1lBS3RHLGVBQWtDO1lBQWxDLHVEQUFrQztZQXFDbEMsY0FBaUQ7WUFBakQsc0VBQWlEO1lBS3BELGNBR1A7WUFITyxrS0FHUDtZQU1PLGNBT1A7WUFQTyxxT0FPUDs7O2lGRC9DYSwwQkFBMEI7Y0FOdEMsU0FBUzsyQkFDRSw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU07O2tGQUVwQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FjaGVkRml4dHVyZUNoYW5uZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FjaGVkLWZpeHR1cmUtY2hhbm5lbCc7XG5pbXBvcnQgeyBGaXh0dXJlUHJvZmlsZSB9IGZyb20gJy4uLy4uL21vZGVscy9maXh0dXJlLXByb2ZpbGUnO1xuaW1wb3J0IHsgRml4dHVyZVdoZWVsU2xvdFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZml4dHVyZS13aGVlbC1zbG90JztcbmltcG9ydCB7IEZpeHR1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZml4dHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEludHJvU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ludHJvLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJlc2V0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ByZXNldC5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2plY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvamVjdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFwcC1maXh0dXJlLWNhcGFiaWxpdHknLFxuICB0ZW1wbGF0ZVVybDogJy4vZml4dHVyZS1jYXBhYmlsaXR5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZml4dHVyZS1jYXBhYmlsaXR5LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZpeHR1cmVDYXBhYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGZpeHR1cmVTZWxlY3Rpb25DaGFuZ2VkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcHJldmlld1NlbGVjdGlvbkNoYW5nZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAvLyBtYXAgY29udGFpbmluZyB0aGUgcHJvZmlsZSBhbmQgdGhlIGNoYW5uZWwgbmFtZSBjb250YWluaW5nIHRoZSB3aGVlbFxuICBjb2xvcldoZWVsQ2hhbm5lbHM6IE1hcDxGaXh0dXJlUHJvZmlsZSwgQ2FjaGVkRml4dHVyZUNoYW5uZWw+ID0gbmV3IE1hcDxGaXh0dXJlUHJvZmlsZSwgQ2FjaGVkRml4dHVyZUNoYW5uZWw+KCk7XG4gIGhhc0NhcGFiaWxpdHlEaW1tZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaGFzQ2FwYWJpbGl0eUNvbG9yT3JDb2xvcldoZWVsOiBib29sZWFuID0gZmFsc2U7XG4gIGhhc0NhcGFiaWxpdHlQYW5UaWx0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHByZXNldFNlcnZpY2U6IFByZXNldFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmaXh0dXJlU2VydmljZTogRml4dHVyZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIHByb2plY3RTZXJ2aWNlOiBQcm9qZWN0U2VydmljZSxcbiAgICBwdWJsaWMgaW50cm9TZXJ2aWNlOiBJbnRyb1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5maXh0dXJlU2VsZWN0aW9uQ2hhbmdlZFN1YnNjcmlwdGlvbiA9IHRoaXMucHJlc2V0U2VydmljZS5maXh0dXJlU2VsZWN0aW9uQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGUoKTtcbiAgICB9KTtcblxuICAgIHRoaXMucHJldmlld1NlbGVjdGlvbkNoYW5nZWRTdWJzY3JpcHRpb24gPSB0aGlzLnByZXNldFNlcnZpY2UucHJldmlld1NlbGVjdGlvbkNoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmludHJvU2VydmljZS5zdGVwQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5maXh0dXJlU2VsZWN0aW9uQ2hhbmdlZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMucHJldmlld1NlbGVjdGlvbkNoYW5nZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgd2hlZWxJbkxpc3Qod2hlZWxzOiBNYXA8Rml4dHVyZVByb2ZpbGUsIENhY2hlZEZpeHR1cmVDaGFubmVsPiwgcHJvZmlsZTogRml4dHVyZVByb2ZpbGUsIGNoYW5uZWw6IENhY2hlZEZpeHR1cmVDaGFubmVsKSB7XG4gICAgd2hlZWxzLmZvckVhY2goKGV4aXN0aW5nQ2hhbm5lbDogQ2FjaGVkRml4dHVyZUNoYW5uZWwsIGV4aXN0aW5nUHJvZmlsZTogRml4dHVyZVByb2ZpbGUpID0+IHtcbiAgICAgIGlmIChleGlzdGluZ1Byb2ZpbGUudXVpZCA9PT0gcHJvZmlsZS51dWlkICYmIGV4aXN0aW5nQ2hhbm5lbC5uYW1lID09PSBjaGFubmVsLm5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNvbG9yV2hlZWxzKCkge1xuICAgIHRoaXMuY29sb3JXaGVlbENoYW5uZWxzID0gbmV3IE1hcDxGaXh0dXJlUHJvZmlsZSwgQ2FjaGVkRml4dHVyZUNoYW5uZWw+KCk7XG5cbiAgICBpZiAoIXRoaXMucHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgcHJlc2VyRml4dHVyZSBvZiB0aGlzLnByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQuZml4dHVyZXMpIHtcbiAgICAgIGNvbnN0IGZpeHR1cmUgPSB0aGlzLmZpeHR1cmVTZXJ2aWNlLmdldENhY2hlZEZpeHR1cmVCeVV1aWQocHJlc2VyRml4dHVyZS5maXh0dXJlVXVpZCwgcHJlc2VyRml4dHVyZS5waXhlbEtleSk7XG4gICAgICBmb3IgKGNvbnN0IGNoYW5uZWwgb2YgZml4dHVyZS5jaGFubmVscykge1xuICAgICAgICBmb3IgKGNvbnN0IGNhcGFiaWxpdHkgb2YgY2hhbm5lbC5jYXBhYmlsaXRpZXMpIHtcbiAgICAgICAgICBpZiAoY2FwYWJpbGl0eS53aGVlbCAmJiBjYXBhYmlsaXR5LndoZWVsU2xvdHMgJiYgY2FwYWJpbGl0eS53aGVlbFNsb3RzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpeHR1cmVTZXJ2aWNlLndoZWVsSGFzU2xvdFR5cGUoY2FwYWJpbGl0eS53aGVlbCwgRml4dHVyZVdoZWVsU2xvdFR5cGUuQ29sb3IpKSB7XG4gICAgICAgICAgICAgIC8vIGNvbG9yIHdoZWVsXG4gICAgICAgICAgICAgIGlmICghdGhpcy53aGVlbEluTGlzdCh0aGlzLmNvbG9yV2hlZWxDaGFubmVscywgZml4dHVyZS5wcm9maWxlLCBjaGFubmVsKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29sb3JXaGVlbENoYW5uZWxzLnNldChmaXh0dXJlLnByb2ZpbGUsIGNoYW5uZWwpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZml4dHVyZVNlcnZpY2Uud2hlZWxIYXNTbG90VHlwZShjYXBhYmlsaXR5LndoZWVsLCBGaXh0dXJlV2hlZWxTbG90VHlwZS5Hb2JvKSkge1xuICAgICAgICAgICAgICAvLyBnb2JvIHdoZWVsXG4gICAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNhcGFiaWxpdGllcygpIHtcbiAgICB0aGlzLmhhc0NhcGFiaWxpdHlEaW1tZXIgPSB0aGlzLnByZXNldFNlcnZpY2UuaGFzQ2FwYWJpbGl0eURpbW1lcigpO1xuICAgIHRoaXMuaGFzQ2FwYWJpbGl0eUNvbG9yT3JDb2xvcldoZWVsID0gdGhpcy5wcmVzZXRTZXJ2aWNlLmhhc0NhcGFiaWxpdHlDb2xvck9yQ29sb3JXaGVlbCgpO1xuICAgIHRoaXMuaGFzQ2FwYWJpbGl0eVBhblRpbHQgPSB0aGlzLnByZXNldFNlcnZpY2UuaGFzQ2FwYWJpbGl0eVBhblRpbHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlKCkge1xuICAgIHRoaXMudXBkYXRlQ29sb3JXaGVlbHMoKTtcbiAgICB0aGlzLnVwZGF0ZUNhcGFiaWxpdGllcygpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgaXNDaHJvbWUoKTogYm9vbGVhbiB7XG4gICAgaWYgKG5hdmlnYXRvci5hcHBWZXJzaW9uLmluZGV4T2YoJ0Nocm9tZS8nKSAhPT0gLTEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci1zZWNvbmRhcnkgcGFuZWwgaC0xMDBcIiBbY2xhc3MuY2FyZC1pbnRyby1hY3RpdmVdPVwiaW50cm9TZXJ2aWNlLnNob3dTdGVwKCdjYXBhYmlsaXRpZXMnKVwiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGNhcGFiaWxpdHktY29udGFpbmVyIGQtZmxleCBoLTEwMFwiIHN0eWxlPVwib3ZlcmZsb3cteTogaGlkZGVuXCI+XG4gICAgPCEtLSBoLTEwMCBuZWVkcyB0byBiZSBhcHBsaWVkIGluIGNocm9tZSB0byBhdm9pZCBwZXJmb3JtYW5jZSBpc3N1ZXMgd2l0aCBtYW55IGxheW91dHMgKHJlZmxvd3MpXG4gICAgZHVyaW5nIHNsaWRpbmcuIEJ1dCB0aGUgY2xhc3MgbXVzdCBub3QgYmUgYXBwbGllZCBlLmcuIGluIFNhZmFyaSwgYmVjYXVzZSB0aGUgYm90dG9tIG1hcmdpbiBpcyBub3QgY29ycmVjdFxuICAgIGFueW1vcmUgYWZ0ZXJ3YXJkcy4gLS0+XG4gICAgPGRpdiAqbmdJZj1cInByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXRcIiBjbGFzcz1cInJvdyBtLTAgcGwtM1wiIFtjbGFzcy5oLTEwMF09XCJpc0Nocm9tZSgpXCI+XG4gICAgICA8IS0tIERpbW1lciAtLT5cbiAgICAgIDwhLS0gdGhlIGhlaWdodCBhdHRyaWJ1dGUgaXMgcmVxdWlyZWQgdG8gYXZvaWQgcGVyZm9ybWFuY2UgaXNzdWVzIHdpdGggbWFueSBsYXlvdXRzIChyZWZsb3dzKVxuICAgICAgaW4gQ2hyb21lIGR1cmluZyBzbGlkaW5nIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cImhhc0NhcGFiaWxpdHlEaW1tZXJcIiBjbGFzcz1cImNvbCBjb2wtYXV0byBwLTAgbXktMyBtci0zXCIgc3R5bGU9XCJoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pXCI+XG4gICAgICAgIDxsaWItYXBwLWZpeHR1cmUtY2FwYWJpbGl0eS1kaW1tZXI+PC9saWItYXBwLWZpeHR1cmUtY2FwYWJpbGl0eS1kaW1tZXI+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBDb2xvciAtLT5cbiAgICAgIDwhLS0gQWxzbyBzaG93IGZvciBjb2xvciB3aGVlbCBmaXh0dXJlcyB0byBhcHByb3guIHRoZSBjb2xvciAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCJoYXNDYXBhYmlsaXR5Q29sb3JPckNvbG9yV2hlZWxcIiBjbGFzcz1cImNvbCBjb2wtYXV0byBwLTAgbXktMyBtci0zXCIgc3R5bGU9XCJoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pXCI+XG4gICAgICAgIDxsaWItYXBwLWZpeHR1cmUtY2FwYWJpbGl0eS1jb2xvcj48L2xpYi1hcHAtZml4dHVyZS1jYXBhYmlsaXR5LWNvbG9yPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gQ29sb3Igd2hlZWxzIC0tPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgZW50cnkgb2YgY29sb3JXaGVlbENoYW5uZWxzIHwga2V5dmFsdWU7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICBjbGFzcz1cImNvbCBjb2wtYXV0byBwLTAgbXktMyBtci0zXCJcbiAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pXCJcbiAgICAgID5cbiAgICAgICAgPGxpYi1hcHAtZml4dHVyZS1jYXBhYmlsaXR5LWNvbG9yLXdoZWVsXG4gICAgICAgICAgW3Byb2ZpbGVdPVwiZW50cnkua2V5XCJcbiAgICAgICAgICBbY2hhbm5lbF09XCJlbnRyeS52YWx1ZVwiXG4gICAgICAgICAgW3doZWVsSW5kZXhdPVwiaVwiXG4gICAgICAgICAgW3Nob3dDb250YWluZXJdPVwiY29sb3JXaGVlbENoYW5uZWxzLnNpemUgPiAxXCJcbiAgICAgICAgPjwvbGliLWFwcC1maXh0dXJlLWNhcGFiaWxpdHktY29sb3Itd2hlZWw+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBQYW4vVGlsdCAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCJoYXNDYXBhYmlsaXR5UGFuVGlsdFwiIGNsYXNzPVwiY29sIGNvbC1hdXRvIHAtMCBteS0zIG1yLTNcIiBzdHlsZT1cImhlaWdodDogY2FsYygxMDAlIC0gMnJlbSlcIj5cbiAgICAgICAgPGxpYi1hcHAtZml4dHVyZS1jYXBhYmlsaXR5LXBhbi10aWx0PjwvbGliLWFwcC1maXh0dXJlLWNhcGFiaWxpdHktcGFuLXRpbHQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBGaXggc3BhY2luZyBhdCB0aGUgZW5kIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbCBjb2wtYXV0byBwLTAgbXktMyBtci0zXCI+Jm5ic3A7PC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwicHJvamVjdFNlcnZpY2UucHJvamVjdC5maXh0dXJlcy5sZW5ndGggPT0gMFwiIGNsYXNzPVwibS1hdXRvXCI+XG4gICAgICA8cCBjbGFzcz1cIm0tYXV0b1wiIHN0eWxlPVwiY29sb3I6ICM3MTcxNzFcIj57eyAnZGVzaWduZXIuZml4dHVyZS5uby1maXh0dXJlcycgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIlxuICAgICAgICBwcm9qZWN0U2VydmljZS5wcm9qZWN0LmZpeHR1cmVzLmxlbmd0aCA+IDAgJiYgcHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldCAmJiBwcmVzZXRTZXJ2aWNlLnNlbGVjdGVkUHJlc2V0LmZpeHR1cmVzLmxlbmd0aCA9PSAwXG4gICAgICBcIlxuICAgICAgY2xhc3M9XCJtLWF1dG9cIlxuICAgID5cbiAgICAgIDxwIGNsYXNzPVwibS1hdXRvXCIgc3R5bGU9XCJjb2xvcjogIzcxNzE3MVwiPnt7ICdkZXNpZ25lci5maXh0dXJlLm5vLWZpeHR1cmVzLXNlbGVjdGVkJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgIHByb2plY3RTZXJ2aWNlLnByb2plY3QuZml4dHVyZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICBwcmVzZXRTZXJ2aWNlLnNlbGVjdGVkUHJlc2V0ICYmXG4gICAgICAgIHByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQuZml4dHVyZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAhaGFzQ2FwYWJpbGl0eUNvbG9yT3JDb2xvcldoZWVsICYmXG4gICAgICAgICFoYXNDYXBhYmlsaXR5UGFuVGlsdFxuICAgICAgXCJcbiAgICAgIGNsYXNzPVwibS1hdXRvXCJcbiAgICA+XG4gICAgICA8cCBjbGFzcz1cIm0tYXV0b1wiIHN0eWxlPVwiY29sb3I6ICM3MTcxNzFcIj57eyAnZGVzaWduZXIuZml4dHVyZS5uby1jYXBhYmlsaXRpZXMtYXZhaWxhYmxlJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component } from '@angular/core';
|
|
2
|
-
import { PresetService } from '../../services/preset.service';
|
|
3
|
-
import { ProjectService } from '../../services/project.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../services/preset.service";
|
|
6
|
-
import * as i2 from "../../services/project.service";
|
|
7
|
-
import * as i3 from "@angular/common";
|
|
8
|
-
import * as i4 from "@angular/forms";
|
|
9
|
-
import * as i5 from "../fixture-capability/fixture-capability-channel/fixture-capability-channel.component";
|
|
10
|
-
import * as i6 from "@ngx-translate/core";
|
|
11
|
-
function FixtureChannelComponent_div_2_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
12
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
13
|
-
i0.ɵɵelementStart(0, "div", 10)(1, "input", 11);
|
|
14
|
-
i0.ɵɵlistener("ngModelChange", function FixtureChannelComponent_div_2_div_1_div_1_Template_input_ngModelChange_1_listener($event) { const profile_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.changeProfileSelection($event, profile_r2)); });
|
|
15
|
-
i0.ɵɵelementEnd();
|
|
16
|
-
i0.ɵɵelementStart(2, "label", 12);
|
|
17
|
-
i0.ɵɵtext(3);
|
|
18
|
-
i0.ɵɵelementEnd()();
|
|
19
|
-
} if (rf & 2) {
|
|
20
|
-
const profile_r2 = ctx.$implicit;
|
|
21
|
-
const i_r4 = ctx.index;
|
|
22
|
-
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
23
|
-
i0.ɵɵadvance();
|
|
24
|
-
i0.ɵɵpropertyInterpolate1("id", "capabilityFilter", i_r4, "");
|
|
25
|
-
i0.ɵɵproperty("ngModel", ctx_r2.selectedProfiles.indexOf(profile_r2) >= 0);
|
|
26
|
-
i0.ɵɵadvance();
|
|
27
|
-
i0.ɵɵpropertyInterpolate1("for", "capabilityFilter", i_r4, "");
|
|
28
|
-
i0.ɵɵadvance();
|
|
29
|
-
i0.ɵɵtextInterpolate1(" ", profile_r2.name, " ");
|
|
30
|
-
} }
|
|
31
|
-
function FixtureChannelComponent_div_2_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
-
i0.ɵɵelementStart(0, "div", 8);
|
|
33
|
-
i0.ɵɵtemplate(1, FixtureChannelComponent_div_2_div_1_div_1_Template, 4, 6, "div", 9);
|
|
34
|
-
i0.ɵɵelementEnd();
|
|
35
|
-
} if (rf & 2) {
|
|
36
|
-
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
37
|
-
i0.ɵɵadvance();
|
|
38
|
-
i0.ɵɵproperty("ngForOf", ctx_r2.profiles);
|
|
39
|
-
} }
|
|
40
|
-
function FixtureChannelComponent_div_2_ng_container_2_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
-
i0.ɵɵelementStart(0, "div", 14);
|
|
42
|
-
i0.ɵɵelement(1, "lib-app-fixture-capability-channel", 15);
|
|
43
|
-
i0.ɵɵelementEnd();
|
|
44
|
-
} if (rf & 2) {
|
|
45
|
-
const capability_r5 = ctx.$implicit;
|
|
46
|
-
const j_r6 = ctx.index;
|
|
47
|
-
const ctx_r6 = i0.ɵɵnextContext();
|
|
48
|
-
const entry_r8 = ctx_r6.$implicit;
|
|
49
|
-
const i_r9 = ctx_r6.index;
|
|
50
|
-
i0.ɵɵadvance();
|
|
51
|
-
i0.ɵɵproperty("profile", entry_r8.key)("channel", capability_r5)("capabilityIndex", i_r9 * 10000 + j_r6);
|
|
52
|
-
} }
|
|
53
|
-
function FixtureChannelComponent_div_2_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
54
|
-
i0.ɵɵelementContainerStart(0);
|
|
55
|
-
i0.ɵɵtemplate(1, FixtureChannelComponent_div_2_ng_container_2_div_1_Template, 2, 3, "div", 13);
|
|
56
|
-
i0.ɵɵelementContainerEnd();
|
|
57
|
-
} if (rf & 2) {
|
|
58
|
-
const entry_r8 = ctx.$implicit;
|
|
59
|
-
i0.ɵɵadvance();
|
|
60
|
-
i0.ɵɵproperty("ngForOf", entry_r8.value);
|
|
61
|
-
} }
|
|
62
|
-
function FixtureChannelComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
63
|
-
i0.ɵɵelementStart(0, "div", 4);
|
|
64
|
-
i0.ɵɵtemplate(1, FixtureChannelComponent_div_2_div_1_Template, 2, 1, "div", 5)(2, FixtureChannelComponent_div_2_ng_container_2_Template, 2, 1, "ng-container", 6);
|
|
65
|
-
i0.ɵɵpipe(3, "keyvalue");
|
|
66
|
-
i0.ɵɵelementStart(4, "div", 7);
|
|
67
|
-
i0.ɵɵtext(5, "\u00A0");
|
|
68
|
-
i0.ɵɵelementEnd()();
|
|
69
|
-
} if (rf & 2) {
|
|
70
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
71
|
-
i0.ɵɵclassProp("h-100", ctx_r2.isChrome());
|
|
72
|
-
i0.ɵɵadvance();
|
|
73
|
-
i0.ɵɵproperty("ngIf", ctx_r2.profiles.length > 1);
|
|
74
|
-
i0.ɵɵadvance();
|
|
75
|
-
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(3, 4, ctx_r2.channelCapabilities));
|
|
76
|
-
} }
|
|
77
|
-
function FixtureChannelComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
78
|
-
i0.ɵɵelementStart(0, "div", 16)(1, "p", 17);
|
|
79
|
-
i0.ɵɵtext(2);
|
|
80
|
-
i0.ɵɵpipe(3, "translate");
|
|
81
|
-
i0.ɵɵelementEnd()();
|
|
82
|
-
} if (rf & 2) {
|
|
83
|
-
i0.ɵɵadvance(2);
|
|
84
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "designer.fixture.no-fixtures"));
|
|
85
|
-
} }
|
|
86
|
-
function FixtureChannelComponent_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
87
|
-
i0.ɵɵelementStart(0, "div", 16)(1, "p", 17);
|
|
88
|
-
i0.ɵɵtext(2);
|
|
89
|
-
i0.ɵɵpipe(3, "translate");
|
|
90
|
-
i0.ɵɵelementEnd()();
|
|
91
|
-
} if (rf & 2) {
|
|
92
|
-
i0.ɵɵadvance(2);
|
|
93
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "designer.fixture.no-fixtures-selected"));
|
|
94
|
-
} }
|
|
95
|
-
export class FixtureChannelComponent {
|
|
96
|
-
constructor(presetService, changeDetectorRef, projectService) {
|
|
97
|
-
this.presetService = presetService;
|
|
98
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
99
|
-
this.projectService = projectService;
|
|
100
|
-
this.channelCapabilities = new Map();
|
|
101
|
-
this.profiles = [];
|
|
102
|
-
this.selectedProfiles = [];
|
|
103
|
-
this.fixtureSelectionChangedSubscription = this.presetService.fixtureSelectionChanged.subscribe(() => {
|
|
104
|
-
this.calculateProfiles();
|
|
105
|
-
});
|
|
106
|
-
this.previewSelectionChangedSubscription = this.presetService.previewSelectionChanged.subscribe(() => {
|
|
107
|
-
this.calculateProfiles();
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
ngOnInit() {
|
|
111
|
-
this.calculateProfiles();
|
|
112
|
-
}
|
|
113
|
-
ngOnDestroy() {
|
|
114
|
-
this.fixtureSelectionChangedSubscription.unsubscribe();
|
|
115
|
-
this.previewSelectionChangedSubscription.unsubscribe();
|
|
116
|
-
}
|
|
117
|
-
calculateChannelCapabilities() {
|
|
118
|
-
this.channelCapabilities = this.presetService.getSelectedProfileChannels(this.selectedProfiles);
|
|
119
|
-
this.changeDetectorRef.detectChanges();
|
|
120
|
-
}
|
|
121
|
-
calculateProfiles() {
|
|
122
|
-
// calculate all profiels
|
|
123
|
-
this.profiles = this.presetService.getSelectedProfiles();
|
|
124
|
-
// select all profiles by default
|
|
125
|
-
this.selectedProfiles = [...this.profiles];
|
|
126
|
-
this.calculateChannelCapabilities();
|
|
127
|
-
}
|
|
128
|
-
changeProfileSelection($event, profile) {
|
|
129
|
-
if (this.selectedProfiles.indexOf(profile) >= 0) {
|
|
130
|
-
this.selectedProfiles.splice(this.selectedProfiles.indexOf(profile), 1);
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
this.selectedProfiles.push(profile);
|
|
134
|
-
}
|
|
135
|
-
this.calculateChannelCapabilities();
|
|
136
|
-
}
|
|
137
|
-
isChrome() {
|
|
138
|
-
if (navigator.appVersion.indexOf('Chrome/') !== -1) {
|
|
139
|
-
return true;
|
|
140
|
-
}
|
|
141
|
-
return false;
|
|
142
|
-
}
|
|
143
|
-
static { this.ɵfac = function FixtureChannelComponent_Factory(t) { return new (t || FixtureChannelComponent)(i0.ɵɵdirectiveInject(i1.PresetService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.ProjectService)); }; }
|
|
144
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FixtureChannelComponent, selectors: [["lib-app-fixture-channel"]], decls: 5, vars: 3, consts: [[1, "card", "border-secondary", "panel", "h-100"], [1, "card-body", "capability-container", "d-flex", "h-100", 2, "overflow-y", "hidden"], ["class", "row m-0 pl-3", 3, "h-100", 4, "ngIf"], ["class", "m-auto", 4, "ngIf"], [1, "row", "m-0", "pl-3"], ["class", "col col-auto p-3 my-3 mr-3", "style", "height: calc(100% - 2rem); border: solid 1px #444; border-right: none", 4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "col", "col-auto", "p-0", "my-3", "mr-3"], [1, "col", "col-auto", "p-3", "my-3", "mr-3", 2, "height", "calc(100% - 2rem)", "border", "solid 1px #444", "border-right", "none"], ["class", "form-check", 4, "ngFor", "ngForOf"], [1, "form-check"], ["type", "checkbox", 1, "form-check-input", 3, "ngModelChange", "id", "ngModel"], [1, "form-check-label", 3, "for"], ["class", "col col-auto p-0 my-3 mr-3", "style", "height: calc(100% - 2rem)", 4, "ngFor", "ngForOf"], [1, "col", "col-auto", "p-0", "my-3", "mr-3", 2, "height", "calc(100% - 2rem)"], [3, "profile", "channel", "capabilityIndex"], [1, "m-auto"], [1, "m-auto", 2, "color", "#717171"]], template: function FixtureChannelComponent_Template(rf, ctx) { if (rf & 1) {
|
|
145
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
146
|
-
i0.ɵɵtemplate(2, FixtureChannelComponent_div_2_Template, 6, 6, "div", 2)(3, FixtureChannelComponent_div_3_Template, 4, 3, "div", 3)(4, FixtureChannelComponent_div_4_Template, 4, 3, "div", 3);
|
|
147
|
-
i0.ɵɵelementEnd()();
|
|
148
|
-
} if (rf & 2) {
|
|
149
|
-
i0.ɵɵadvance(2);
|
|
150
|
-
i0.ɵɵproperty("ngIf", ctx.presetService.selectedPreset);
|
|
151
|
-
i0.ɵɵadvance();
|
|
152
|
-
i0.ɵɵproperty("ngIf", ctx.projectService.project.fixtures.length == 0);
|
|
153
|
-
i0.ɵɵadvance();
|
|
154
|
-
i0.ɵɵproperty("ngIf", ctx.projectService.project.fixtures.length > 0 && ctx.presetService.selectedPreset && ctx.presetService.selectedPreset.fixtures.length == 0);
|
|
155
|
-
} }, dependencies: [i3.NgForOf, i3.NgIf, i4.CheckboxControlValueAccessor, i4.NgControlStatus, i4.NgModel, i5.FixtureCapabilityChannelComponent, i3.KeyValuePipe, i6.TranslatePipe] }); }
|
|
156
|
-
}
|
|
157
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FixtureChannelComponent, [{
|
|
158
|
-
type: Component,
|
|
159
|
-
args: [{ selector: 'lib-app-fixture-channel', template: "<div class=\"card border-secondary panel h-100\">\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 <!-- profile selection -->\n <div\n *ngIf=\"profiles.length > 1\"\n class=\"col col-auto p-3 my-3 mr-3\"\n style=\"height: calc(100% - 2rem); border: solid 1px #444; border-right: none\"\n >\n <div *ngFor=\"let profile of profiles; let i = index\" class=\"form-check\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n id=\"capabilityFilter{{ i }}\"\n [ngModel]=\"selectedProfiles.indexOf(profile) >= 0\"\n (ngModelChange)=\"changeProfileSelection($event, profile)\"\n />\n <label class=\"form-check-label\" for=\"capabilityFilter{{ i }}\">\n {{ profile.name }}\n </label>\n </div>\n </div>\n\n <!-- all channel capabilities -->\n <ng-container *ngFor=\"let entry of channelCapabilities | keyvalue; let i = index\">\n <div *ngFor=\"let capability of entry.value; let j = index\" class=\"col col-auto p-0 my-3 mr-3\" style=\"height: calc(100% - 2rem)\">\n <lib-app-fixture-capability-channel [profile]=\"entry.key\" [channel]=\"capability\" [capabilityIndex]=\"i * 10000 + j\">\n </lib-app-fixture-capability-channel>\n </div>\n </ng-container>\n\n <!-- fix spacing at the end -->\n <div class=\"col col-auto p-0 my-3 mr-3\"> </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.fixtures.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" }]
|
|
160
|
-
}], () => [{ type: i1.PresetService }, { type: i0.ChangeDetectorRef }, { type: i2.ProjectService }], null); })();
|
|
161
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FixtureChannelComponent, { className: "FixtureChannelComponent" }); })();
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1jaGFubmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvZml4dHVyZS9maXh0dXJlLWNoYW5uZWwvZml4dHVyZS1jaGFubmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvZml4dHVyZS9maXh0dXJlLWNoYW5uZWwvZml4dHVyZS1jaGFubmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBSWhGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7SUNRdEQsQUFERiwrQkFBd0UsZ0JBT3BFO0lBREEsa1BBQWlCLGlEQUF1QyxLQUFDO0lBTDNELGlCQU1FO0lBQ0YsaUNBQThEO0lBQzVELFlBQ0Y7SUFDRixBQURFLGlCQUFRLEVBQ0o7Ozs7O0lBUEYsY0FBNEI7SUFBNUIsNkRBQTRCO0lBQzVCLDBFQUFrRDtJQUdwQixjQUE2QjtJQUE3Qiw4REFBNkI7SUFDM0QsY0FDRjtJQURFLGdEQUNGOzs7SUFmSiw4QkFJQztJQUNDLG9GQUF3RTtJQVkxRSxpQkFBTTs7O0lBWnFCLGNBQWE7SUFBYix5Q0FBYTs7O0lBZ0J0QywrQkFBZ0k7SUFDOUgseURBQ3FDO0lBQ3ZDLGlCQUFNOzs7Ozs7O0lBRmdDLGNBQXFCO0lBQXdCLEFBQXZCLEFBQXRCLHNDQUFxQiwwQkFBdUIsd0NBQWtDOzs7SUFGdEgsNkJBQWtGO0lBQ2hGLDhGQUFnSTs7OztJQUFwRyxjQUFnQjtJQUFoQix3Q0FBZ0I7OztJQXZCaEQsOEJBQTBGO0lBc0J4RixBQXBCQSw4RUFJQyxtRkFnQmlG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QUFDO0lBQ2YsQ0FBQzt3RkExRFUsdUJBQXVCO29FQUF2Qix1QkFBdUI7WUNYbEMsQUFERiw4QkFBK0MsYUFDdUM7WUF5Q2xGLEFBSkEsQUFqQ0Esd0VBQTBGLDJEQWlDbEIsMkRBU3ZFO1lBSUwsQUFERSxpQkFBTSxFQUNGOztZQTlDSSxlQUFrQztZQUFsQyx1REFBa0M7WUFpQ2xDLGNBQWlEO1lBQWpELHNFQUFpRDtZQUtwRCxjQUdQO1lBSE8sa0tBR1A7OztpRkRsQ2EsdUJBQXVCO2NBTG5DLFNBQVM7MkJBQ0UseUJBQXlCOztrRkFJeEIsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FjaGVkRml4dHVyZUNoYW5uZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FjaGVkLWZpeHR1cmUtY2hhbm5lbCc7XG5pbXBvcnQgeyBGaXh0dXJlUHJvZmlsZSB9IGZyb20gJy4uLy4uL21vZGVscy9maXh0dXJlLXByb2ZpbGUnO1xuaW1wb3J0IHsgUHJlc2V0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ByZXNldC5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2plY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvamVjdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFwcC1maXh0dXJlLWNoYW5uZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZml4dHVyZS1jaGFubmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZml4dHVyZS1jaGFubmVsLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRml4dHVyZUNoYW5uZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBjaGFubmVsQ2FwYWJpbGl0aWVzOiBNYXA8Rml4dHVyZVByb2ZpbGUsIENhY2hlZEZpeHR1cmVDaGFubmVsW10+ID0gbmV3IE1hcDxGaXh0dXJlUHJvZmlsZSwgQ2FjaGVkRml4dHVyZUNoYW5uZWxbXT4oKTtcbiAgcHVibGljIHByb2ZpbGVzOiBGaXh0dXJlUHJvZmlsZVtdID0gW107XG4gIHB1YmxpYyBzZWxlY3RlZFByb2ZpbGVzOiBGaXh0dXJlUHJvZmlsZVtdID0gW107XG5cbiAgcHJpdmF0ZSBmaXh0dXJlU2VsZWN0aW9uQ2hhbmdlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHByZXZpZXdTZWxlY3Rpb25DaGFuZ2VkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHVibGljIHByZXNldFNlcnZpY2U6IFByZXNldFNlcnZpY2UsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgcHJvamVjdFNlcnZpY2U6IFByb2plY3RTZXJ2aWNlKSB7XG4gICAgdGhpcy5maXh0dXJlU2VsZWN0aW9uQ2hhbmdlZFN1YnNjcmlwdGlvbiA9IHRoaXMucHJlc2V0U2VydmljZS5maXh0dXJlU2VsZWN0aW9uQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jYWxjdWxhdGVQcm9maWxlcygpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5wcmV2aWV3U2VsZWN0aW9uQ2hhbmdlZFN1YnNjcmlwdGlvbiA9IHRoaXMucHJlc2V0U2VydmljZS5wcmV2aWV3U2VsZWN0aW9uQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jYWxjdWxhdGVQcm9maWxlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jYWxjdWxhdGVQcm9maWxlcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5maXh0dXJlU2VsZWN0aW9uQ2hhbmdlZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMucHJldmlld1NlbGVjdGlvbkNoYW5nZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlQ2hhbm5lbENhcGFiaWxpdGllcygpIHtcbiAgICB0aGlzLmNoYW5uZWxDYXBhYmlsaXRpZXMgPSB0aGlzLnByZXNldFNlcnZpY2UuZ2V0U2VsZWN0ZWRQcm9maWxlQ2hhbm5lbHModGhpcy5zZWxlY3RlZFByb2ZpbGVzKTtcblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVQcm9maWxlcygpIHtcbiAgICAvLyBjYWxjdWxhdGUgYWxsIHByb2ZpZWxzXG4gICAgdGhpcy5wcm9maWxlcyA9IHRoaXMucHJlc2V0U2VydmljZS5nZXRTZWxlY3RlZFByb2ZpbGVzKCk7XG5cbiAgICAvLyBzZWxlY3QgYWxsIHByb2ZpbGVzIGJ5IGRlZmF1bHRcbiAgICB0aGlzLnNlbGVjdGVkUHJvZmlsZXMgPSBbLi4udGhpcy5wcm9maWxlc107XG5cbiAgICB0aGlzLmNhbGN1bGF0ZUNoYW5uZWxDYXBhYmlsaXRpZXMoKTtcbiAgfVxuXG4gIGNoYW5nZVByb2ZpbGVTZWxlY3Rpb24oJGV2ZW50OiBhbnksIHByb2ZpbGU6IEZpeHR1cmVQcm9maWxlKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRQcm9maWxlcy5pbmRleE9mKHByb2ZpbGUpID49IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9maWxlcy5zcGxpY2UodGhpcy5zZWxlY3RlZFByb2ZpbGVzLmluZGV4T2YocHJvZmlsZSksIDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUHJvZmlsZXMucHVzaChwcm9maWxlKTtcbiAgICB9XG5cbiAgICB0aGlzLmNhbGN1bGF0ZUNoYW5uZWxDYXBhYmlsaXRpZXMoKTtcbiAgfVxuXG4gIGlzQ2hyb21lKCk6IGJvb2xlYW4ge1xuICAgIGlmIChuYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCdDaHJvbWUvJykgIT09IC0xKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBib3JkZXItc2Vjb25kYXJ5IHBhbmVsIGgtMTAwXCI+XG4gIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgY2FwYWJpbGl0eS1jb250YWluZXIgZC1mbGV4IGgtMTAwXCIgc3R5bGU9XCJvdmVyZmxvdy15OiBoaWRkZW5cIj5cbiAgICA8IS0tIGgtMTAwIG5lZWRzIHRvIGJlIGFwcGxpZWQgaW4gY2hyb21lIHRvIGF2b2lkIHBlcmZvcm1hbmNlIGlzc3VlcyB3aXRoIG1hbnkgbGF5b3V0cyAocmVmbG93cylcbiAgICAgIGR1cmluZyBzbGlkaW5nLiBCdXQgdGhlIGNsYXNzIG11c3Qgbm90IGJlIGFwcGxpZWQgZS5nLiBpbiBTYWZhcmksIGJlY2F1c2UgdGhlIGJvdHRvbSBtYXJnaW4gaXMgbm90IGNvcnJlY3RcbiAgICAgIGFueW1vcmUgYWZ0ZXJ3YXJkcy4gLS0+XG4gICAgPGRpdiAqbmdJZj1cInByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXRcIiBjbGFzcz1cInJvdyBtLTAgcGwtM1wiIFtjbGFzcy5oLTEwMF09XCJpc0Nocm9tZSgpXCI+XG4gICAgICA8IS0tIHByb2ZpbGUgc2VsZWN0aW9uIC0tPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cInByb2ZpbGVzLmxlbmd0aCA+IDFcIlxuICAgICAgICBjbGFzcz1cImNvbCBjb2wtYXV0byBwLTMgbXktMyBtci0zXCJcbiAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pOyBib3JkZXI6IHNvbGlkIDFweCAjNDQ0OyBib3JkZXItcmlnaHQ6IG5vbmVcIlxuICAgICAgPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwcm9maWxlIG9mIHByb2ZpbGVzOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJmb3JtLWNoZWNrXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcbiAgICAgICAgICAgIGlkPVwiY2FwYWJpbGl0eUZpbHRlcnt7IGkgfX1cIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwic2VsZWN0ZWRQcm9maWxlcy5pbmRleE9mKHByb2ZpbGUpID49IDBcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlUHJvZmlsZVNlbGVjdGlvbigkZXZlbnQsIHByb2ZpbGUpXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJjYXBhYmlsaXR5RmlsdGVye3sgaSB9fVwiPlxuICAgICAgICAgICAge3sgcHJvZmlsZS5uYW1lIH19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBhbGwgY2hhbm5lbCBjYXBhYmlsaXRpZXMgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbnRyeSBvZiBjaGFubmVsQ2FwYWJpbGl0aWVzIHwga2V5dmFsdWU7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY2FwYWJpbGl0eSBvZiBlbnRyeS52YWx1ZTsgbGV0IGogPSBpbmRleFwiIGNsYXNzPVwiY29sIGNvbC1hdXRvIHAtMCBteS0zIG1yLTNcIiBzdHlsZT1cImhlaWdodDogY2FsYygxMDAlIC0gMnJlbSlcIj5cbiAgICAgICAgICA8bGliLWFwcC1maXh0dXJlLWNhcGFiaWxpdHktY2hhbm5lbCBbcHJvZmlsZV09XCJlbnRyeS5rZXlcIiBbY2hhbm5lbF09XCJjYXBhYmlsaXR5XCIgW2NhcGFiaWxpdHlJbmRleF09XCJpICogMTAwMDAgKyBqXCI+XG4gICAgICAgICAgPC9saWItYXBwLWZpeHR1cmUtY2FwYWJpbGl0eS1jaGFubmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIGZpeCBzcGFjaW5nIGF0IHRoZSBlbmQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sIGNvbC1hdXRvIHAtMCBteS0zIG1yLTNcIj4mbmJzcDs8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJwcm9qZWN0U2VydmljZS5wcm9qZWN0LmZpeHR1cmVzLmxlbmd0aCA9PSAwXCIgY2xhc3M9XCJtLWF1dG9cIj5cbiAgICAgIDxwIGNsYXNzPVwibS1hdXRvXCIgc3R5bGU9XCJjb2xvcjogIzcxNzE3MVwiPnt7ICdkZXNpZ25lci5maXh0dXJlLm5vLWZpeHR1cmVzJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgIHByb2plY3RTZXJ2aWNlLnByb2plY3QuZml4dHVyZXMubGVuZ3RoID4gMCAmJiBwcmVzZXRTZXJ2aWNlLnNlbGVjdGVkUHJlc2V0ICYmIHByZXNldFNlcnZpY2Uuc2VsZWN0ZWRQcmVzZXQuZml4dHVyZXMubGVuZ3RoID09IDBcbiAgICAgIFwiXG4gICAgICBjbGFzcz1cIm0tYXV0b1wiXG4gICAgPlxuICAgICAgPHAgY2xhc3M9XCJtLWF1dG9cIiBzdHlsZT1cImNvbG9yOiAjNzE3MTcxXCI+e3sgJ2Rlc2lnbmVyLmZpeHR1cmUubm8tZml4dHVyZXMtc2VsZWN0ZWQnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|