@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,151 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component } from '@angular/core';
|
|
2
|
-
import { PreviewService } from '../../../services/preview.service';
|
|
3
|
-
import { ProjectService } from '../../../services/project.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../../services/project.service";
|
|
6
|
-
import * as i2 from "../../../services/preview.service";
|
|
7
|
-
import * as i3 from "@angular/forms";
|
|
8
|
-
import * as i4 from "ngx-bootstrap-slider";
|
|
9
|
-
import * as i5 from "@ngx-translate/core";
|
|
10
|
-
export class FixtureSettingsStageComponent {
|
|
11
|
-
constructor(projectService, previewService, changeDetectorRef) {
|
|
12
|
-
this.projectService = projectService;
|
|
13
|
-
this.previewService = previewService;
|
|
14
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() { }
|
|
17
|
-
update() {
|
|
18
|
-
this.previewService.updateStage();
|
|
19
|
-
this.changeDetectorRef.detectChanges();
|
|
20
|
-
}
|
|
21
|
-
static { this.ɵfac = function FixtureSettingsStageComponent_Factory(t) { return new (t || FixtureSettingsStageComponent)(i0.ɵɵdirectiveInject(i1.ProjectService), i0.ɵɵdirectiveInject(i2.PreviewService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
|
|
22
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FixtureSettingsStageComponent, selectors: [["lib-app-fixture-settings-stage"]], decls: 65, vars: 57, consts: [[1, "card", "border-secondary", "h-100"], [1, "card-header"], [1, "card-body", "h-100"], [1, "d-flex"], [1, "my-auto", 2, "width", "120px", "float", "left"], [1, "my-auto", 2, "float", "left"], [2, "width", "140px", 3, "change", "tooltip", "value", "min", "max", "step"], [1, "my-auto"], ["type", "text", "readonly", "", 1, "slider-input-readonly", 3, "ngModelChange", "ngModel"], [1, "my-auto", "ml-1", 2, "color", "darkgray"]], template: function FixtureSettingsStageComponent_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
24
|
-
i0.ɵɵtext(2);
|
|
25
|
-
i0.ɵɵpipe(3, "translate");
|
|
26
|
-
i0.ɵɵelementEnd();
|
|
27
|
-
i0.ɵɵelementStart(4, "div", 2)(5, "div", 3)(6, "div", 4);
|
|
28
|
-
i0.ɵɵtext(7);
|
|
29
|
-
i0.ɵɵpipe(8, "translate");
|
|
30
|
-
i0.ɵɵelementEnd();
|
|
31
|
-
i0.ɵɵelementStart(9, "div", 5)(10, "mv-slider", 6);
|
|
32
|
-
i0.ɵɵlistener("change", function FixtureSettingsStageComponent_Template_mv_slider_change_10_listener($event) { ctx.projectService.project.stageWidthCm = $event.newValue; return ctx.update(); });
|
|
33
|
-
i0.ɵɵelementEnd()();
|
|
34
|
-
i0.ɵɵelementStart(11, "div", 7)(12, "input", 8);
|
|
35
|
-
i0.ɵɵlistener("ngModelChange", function FixtureSettingsStageComponent_Template_input_ngModelChange_12_listener($event) { ctx.projectService.project.stageWidthCm = $event; return ctx.update(); });
|
|
36
|
-
i0.ɵɵelementEnd()();
|
|
37
|
-
i0.ɵɵelementStart(13, "div", 9);
|
|
38
|
-
i0.ɵɵtext(14, "cm");
|
|
39
|
-
i0.ɵɵelementEnd()();
|
|
40
|
-
i0.ɵɵelementStart(15, "div", 3)(16, "div", 4);
|
|
41
|
-
i0.ɵɵtext(17);
|
|
42
|
-
i0.ɵɵpipe(18, "translate");
|
|
43
|
-
i0.ɵɵelementEnd();
|
|
44
|
-
i0.ɵɵelementStart(19, "div", 5)(20, "mv-slider", 6);
|
|
45
|
-
i0.ɵɵlistener("change", function FixtureSettingsStageComponent_Template_mv_slider_change_20_listener($event) { ctx.projectService.project.stageHeightCm = $event.newValue; return ctx.update(); });
|
|
46
|
-
i0.ɵɵelementEnd()();
|
|
47
|
-
i0.ɵɵelementStart(21, "div", 7)(22, "input", 8);
|
|
48
|
-
i0.ɵɵlistener("ngModelChange", function FixtureSettingsStageComponent_Template_input_ngModelChange_22_listener($event) { ctx.projectService.project.stageHeightCm = $event; return ctx.update(); });
|
|
49
|
-
i0.ɵɵelementEnd()();
|
|
50
|
-
i0.ɵɵelementStart(23, "div", 9);
|
|
51
|
-
i0.ɵɵtext(24, "cm");
|
|
52
|
-
i0.ɵɵelementEnd()();
|
|
53
|
-
i0.ɵɵelementStart(25, "div", 3)(26, "div", 4);
|
|
54
|
-
i0.ɵɵtext(27);
|
|
55
|
-
i0.ɵɵpipe(28, "translate");
|
|
56
|
-
i0.ɵɵelementEnd();
|
|
57
|
-
i0.ɵɵelementStart(29, "div", 5)(30, "mv-slider", 6);
|
|
58
|
-
i0.ɵɵlistener("change", function FixtureSettingsStageComponent_Template_mv_slider_change_30_listener($event) { ctx.projectService.project.stageDepthCm = $event.newValue; return ctx.update(); });
|
|
59
|
-
i0.ɵɵelementEnd()();
|
|
60
|
-
i0.ɵɵelementStart(31, "div", 7)(32, "input", 8);
|
|
61
|
-
i0.ɵɵlistener("ngModelChange", function FixtureSettingsStageComponent_Template_input_ngModelChange_32_listener($event) { ctx.projectService.project.stageDepthCm = $event; return ctx.update(); });
|
|
62
|
-
i0.ɵɵelementEnd()();
|
|
63
|
-
i0.ɵɵelementStart(33, "div", 9);
|
|
64
|
-
i0.ɵɵtext(34, "cm");
|
|
65
|
-
i0.ɵɵelementEnd()();
|
|
66
|
-
i0.ɵɵelementStart(35, "div", 3)(36, "div", 4);
|
|
67
|
-
i0.ɵɵtext(37);
|
|
68
|
-
i0.ɵɵpipe(38, "translate");
|
|
69
|
-
i0.ɵɵelementEnd();
|
|
70
|
-
i0.ɵɵelementStart(39, "div", 5)(40, "mv-slider", 6);
|
|
71
|
-
i0.ɵɵlistener("change", function FixtureSettingsStageComponent_Template_mv_slider_change_40_listener($event) { ctx.projectService.project.stageFloorHeightCm = $event.newValue; return ctx.update(); });
|
|
72
|
-
i0.ɵɵelementEnd()();
|
|
73
|
-
i0.ɵɵelementStart(41, "div", 7)(42, "input", 8);
|
|
74
|
-
i0.ɵɵlistener("ngModelChange", function FixtureSettingsStageComponent_Template_input_ngModelChange_42_listener($event) { ctx.projectService.project.stageFloorHeightCm = $event; return ctx.update(); });
|
|
75
|
-
i0.ɵɵelementEnd()();
|
|
76
|
-
i0.ɵɵelementStart(43, "div", 9);
|
|
77
|
-
i0.ɵɵtext(44, "cm");
|
|
78
|
-
i0.ɵɵelementEnd()();
|
|
79
|
-
i0.ɵɵelementStart(45, "div", 3)(46, "div", 4);
|
|
80
|
-
i0.ɵɵtext(47);
|
|
81
|
-
i0.ɵɵpipe(48, "translate");
|
|
82
|
-
i0.ɵɵelementEnd();
|
|
83
|
-
i0.ɵɵelementStart(49, "div", 5)(50, "mv-slider", 6);
|
|
84
|
-
i0.ɵɵlistener("change", function FixtureSettingsStageComponent_Template_mv_slider_change_50_listener($event) { ctx.projectService.project.stageCeilingHeightCm = $event.newValue; return ctx.update(); });
|
|
85
|
-
i0.ɵɵelementEnd()();
|
|
86
|
-
i0.ɵɵelementStart(51, "div", 7)(52, "input", 8);
|
|
87
|
-
i0.ɵɵlistener("ngModelChange", function FixtureSettingsStageComponent_Template_input_ngModelChange_52_listener($event) { ctx.projectService.project.stageCeilingHeightCm = $event; return ctx.update(); });
|
|
88
|
-
i0.ɵɵelementEnd()();
|
|
89
|
-
i0.ɵɵelementStart(53, "div", 9);
|
|
90
|
-
i0.ɵɵtext(54, "cm");
|
|
91
|
-
i0.ɵɵelementEnd()();
|
|
92
|
-
i0.ɵɵelementStart(55, "div", 3)(56, "div", 4);
|
|
93
|
-
i0.ɵɵtext(57);
|
|
94
|
-
i0.ɵɵpipe(58, "translate");
|
|
95
|
-
i0.ɵɵelementEnd();
|
|
96
|
-
i0.ɵɵelementStart(59, "div", 5)(60, "mv-slider", 6);
|
|
97
|
-
i0.ɵɵlistener("change", function FixtureSettingsStageComponent_Template_mv_slider_change_60_listener($event) { ctx.projectService.project.stagePillarWidthCm = $event.newValue; return ctx.update(); });
|
|
98
|
-
i0.ɵɵelementEnd()();
|
|
99
|
-
i0.ɵɵelementStart(61, "div", 7)(62, "input", 8);
|
|
100
|
-
i0.ɵɵlistener("ngModelChange", function FixtureSettingsStageComponent_Template_input_ngModelChange_62_listener($event) { ctx.projectService.project.stagePillarWidthCm = $event; return ctx.update(); });
|
|
101
|
-
i0.ɵɵelementEnd()();
|
|
102
|
-
i0.ɵɵelementStart(63, "div", 9);
|
|
103
|
-
i0.ɵɵtext(64, "cm");
|
|
104
|
-
i0.ɵɵelementEnd()()()();
|
|
105
|
-
} if (rf & 2) {
|
|
106
|
-
i0.ɵɵadvance(2);
|
|
107
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 43, "designer.fixture.setting-stage"), " ");
|
|
108
|
-
i0.ɵɵadvance(5);
|
|
109
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 45, "designer.fixture.setting-stage-width"), " ");
|
|
110
|
-
i0.ɵɵadvance(3);
|
|
111
|
-
i0.ɵɵproperty("tooltip", "hide")("value", ctx.projectService.project.stageWidthCm)("min", 100)("max", 2000)("step", 5);
|
|
112
|
-
i0.ɵɵadvance(2);
|
|
113
|
-
i0.ɵɵproperty("ngModel", ctx.projectService.project.stageWidthCm);
|
|
114
|
-
i0.ɵɵadvance(5);
|
|
115
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 47, "designer.fixture.setting-stage-height"), " ");
|
|
116
|
-
i0.ɵɵadvance(3);
|
|
117
|
-
i0.ɵɵproperty("tooltip", "hide")("value", ctx.projectService.project.stageHeightCm)("min", 100)("max", 2000)("step", 5);
|
|
118
|
-
i0.ɵɵadvance(2);
|
|
119
|
-
i0.ɵɵproperty("ngModel", ctx.projectService.project.stageHeightCm);
|
|
120
|
-
i0.ɵɵadvance(5);
|
|
121
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(28, 49, "designer.fixture.setting-stage-depth"), " ");
|
|
122
|
-
i0.ɵɵadvance(3);
|
|
123
|
-
i0.ɵɵproperty("tooltip", "hide")("value", ctx.projectService.project.stageDepthCm)("min", 100)("max", 2000)("step", 5);
|
|
124
|
-
i0.ɵɵadvance(2);
|
|
125
|
-
i0.ɵɵproperty("ngModel", ctx.projectService.project.stageDepthCm);
|
|
126
|
-
i0.ɵɵadvance(5);
|
|
127
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(38, 51, "designer.fixture.setting-stage-floor-height"), " ");
|
|
128
|
-
i0.ɵɵadvance(3);
|
|
129
|
-
i0.ɵɵproperty("tooltip", "hide")("value", ctx.projectService.project.stageFloorHeightCm)("min", 1)("max", 1000)("step", 5);
|
|
130
|
-
i0.ɵɵadvance(2);
|
|
131
|
-
i0.ɵɵproperty("ngModel", ctx.projectService.project.stageFloorHeightCm);
|
|
132
|
-
i0.ɵɵadvance(5);
|
|
133
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(48, 53, "designer.fixture.setting-stage-ceiling-height"), " ");
|
|
134
|
-
i0.ɵɵadvance(3);
|
|
135
|
-
i0.ɵɵproperty("tooltip", "hide")("value", ctx.projectService.project.stageCeilingHeightCm)("min", 1)("max", 1000)("step", 5);
|
|
136
|
-
i0.ɵɵadvance(2);
|
|
137
|
-
i0.ɵɵproperty("ngModel", ctx.projectService.project.stageCeilingHeightCm);
|
|
138
|
-
i0.ɵɵadvance(5);
|
|
139
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(58, 55, "designer.fixture.setting-stage-pillar-width"), " ");
|
|
140
|
-
i0.ɵɵadvance(3);
|
|
141
|
-
i0.ɵɵproperty("tooltip", "hide")("value", ctx.projectService.project.stagePillarWidthCm)("min", 1)("max", 200)("step", 5);
|
|
142
|
-
i0.ɵɵadvance(2);
|
|
143
|
-
i0.ɵɵproperty("ngModel", ctx.projectService.project.stagePillarWidthCm);
|
|
144
|
-
} }, dependencies: [i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgModel, i4.SliderComponent, i5.TranslatePipe] }); }
|
|
145
|
-
}
|
|
146
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FixtureSettingsStageComponent, [{
|
|
147
|
-
type: Component,
|
|
148
|
-
args: [{ selector: 'lib-app-fixture-settings-stage', template: "<div class=\"card border-secondary h-100\">\n <div class=\"card-header\">\n {{ 'designer.fixture.setting-stage' | translate }}\n </div>\n\n <div class=\"card-body h-100\">\n <div class=\"d-flex\">\n <div class=\"my-auto\" style=\"width: 120px; float: left\">\n {{ 'designer.fixture.setting-stage-width' | translate }}\n </div>\n <div class=\"my-auto\" style=\"float: left\">\n <mv-slider\n style=\"width: 140px\"\n [tooltip]=\"'hide'\"\n [value]=\"projectService.project.stageWidthCm\"\n [min]=\"100\"\n [max]=\"2000\"\n [step]=\"5\"\n (change)=\"projectService.project.stageWidthCm = $event.newValue; update()\"\n >\n </mv-slider>\n </div>\n <div class=\"my-auto\">\n <input\n type=\"text\"\n [ngModel]=\"projectService.project.stageWidthCm\"\n (ngModelChange)=\"projectService.project.stageWidthCm = $event; update()\"\n class=\"slider-input-readonly\"\n readonly\n />\n </div>\n <div class=\"my-auto ml-1\" style=\"color: darkgray\">cm</div>\n </div>\n\n <div class=\"d-flex\">\n <div class=\"my-auto\" style=\"width: 120px; float: left\">\n {{ 'designer.fixture.setting-stage-height' | translate }}\n </div>\n <div class=\"my-auto\" style=\"float: left\">\n <mv-slider\n style=\"width: 140px\"\n [tooltip]=\"'hide'\"\n [value]=\"projectService.project.stageHeightCm\"\n [min]=\"100\"\n [max]=\"2000\"\n [step]=\"5\"\n (change)=\"projectService.project.stageHeightCm = $event.newValue; update()\"\n >\n </mv-slider>\n </div>\n <div class=\"my-auto\">\n <input\n type=\"text\"\n [ngModel]=\"projectService.project.stageHeightCm\"\n (ngModelChange)=\"projectService.project.stageHeightCm = $event; update()\"\n class=\"slider-input-readonly\"\n readonly\n />\n </div>\n <div class=\"my-auto ml-1\" style=\"color: darkgray\">cm</div>\n </div>\n\n <div class=\"d-flex\">\n <div class=\"my-auto\" style=\"width: 120px; float: left\">\n {{ 'designer.fixture.setting-stage-depth' | translate }}\n </div>\n <div class=\"my-auto\" style=\"float: left\">\n <mv-slider\n style=\"width: 140px\"\n [tooltip]=\"'hide'\"\n [value]=\"projectService.project.stageDepthCm\"\n [min]=\"100\"\n [max]=\"2000\"\n [step]=\"5\"\n (change)=\"projectService.project.stageDepthCm = $event.newValue; update()\"\n >\n </mv-slider>\n </div>\n <div class=\"my-auto\">\n <input\n type=\"text\"\n [ngModel]=\"projectService.project.stageDepthCm\"\n (ngModelChange)=\"projectService.project.stageDepthCm = $event; update()\"\n class=\"slider-input-readonly\"\n readonly\n />\n </div>\n <div class=\"my-auto ml-1\" style=\"color: darkgray\">cm</div>\n </div>\n\n <div class=\"d-flex\">\n <div class=\"my-auto\" style=\"width: 120px; float: left\">\n {{ 'designer.fixture.setting-stage-floor-height' | translate }}\n </div>\n <div class=\"my-auto\" style=\"float: left\">\n <mv-slider\n style=\"width: 140px\"\n [tooltip]=\"'hide'\"\n [value]=\"projectService.project.stageFloorHeightCm\"\n [min]=\"1\"\n [max]=\"1000\"\n [step]=\"5\"\n (change)=\"projectService.project.stageFloorHeightCm = $event.newValue; update()\"\n >\n </mv-slider>\n </div>\n <div class=\"my-auto\">\n <input\n type=\"text\"\n [ngModel]=\"projectService.project.stageFloorHeightCm\"\n (ngModelChange)=\"projectService.project.stageFloorHeightCm = $event; update()\"\n class=\"slider-input-readonly\"\n readonly\n />\n </div>\n <div class=\"my-auto ml-1\" style=\"color: darkgray\">cm</div>\n </div>\n\n <div class=\"d-flex\">\n <div class=\"my-auto\" style=\"width: 120px; float: left\">\n {{ 'designer.fixture.setting-stage-ceiling-height' | translate }}\n </div>\n <div class=\"my-auto\" style=\"float: left\">\n <mv-slider\n style=\"width: 140px\"\n [tooltip]=\"'hide'\"\n [value]=\"projectService.project.stageCeilingHeightCm\"\n [min]=\"1\"\n [max]=\"1000\"\n [step]=\"5\"\n (change)=\"projectService.project.stageCeilingHeightCm = $event.newValue; update()\"\n >\n </mv-slider>\n </div>\n <div class=\"my-auto\">\n <input\n type=\"text\"\n [ngModel]=\"projectService.project.stageCeilingHeightCm\"\n (ngModelChange)=\"projectService.project.stageCeilingHeightCm = $event; update()\"\n class=\"slider-input-readonly\"\n readonly\n />\n </div>\n <div class=\"my-auto ml-1\" style=\"color: darkgray\">cm</div>\n </div>\n\n <div class=\"d-flex\">\n <div class=\"my-auto\" style=\"width: 120px; float: left\">\n {{ 'designer.fixture.setting-stage-pillar-width' | translate }}\n </div>\n <div class=\"my-auto\" style=\"float: left\">\n <mv-slider\n style=\"width: 140px\"\n [tooltip]=\"'hide'\"\n [value]=\"projectService.project.stagePillarWidthCm\"\n [min]=\"1\"\n [max]=\"200\"\n [step]=\"5\"\n (change)=\"projectService.project.stagePillarWidthCm = $event.newValue; update()\"\n >\n </mv-slider>\n </div>\n <div class=\"my-auto\">\n <input\n type=\"text\"\n [ngModel]=\"projectService.project.stagePillarWidthCm\"\n (ngModelChange)=\"projectService.project.stagePillarWidthCm = $event; update()\"\n class=\"slider-input-readonly\"\n readonly\n />\n </div>\n <div class=\"my-auto ml-1\" style=\"color: darkgray\">cm</div>\n </div>\n </div>\n</div>\n" }]
|
|
149
|
-
}], () => [{ type: i1.ProjectService }, { type: i2.PreviewService }, { type: i0.ChangeDetectorRef }], null); })();
|
|
150
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FixtureSettingsStageComponent, { className: "FixtureSettingsStageComponent" }); })();
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1zZXR0aW5ncy1zdGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL2ZpeHR1cmUvZml4dHVyZS1zZXR0aW5ncy9maXh0dXJlLXNldHRpbmdzLXN0YWdlL2ZpeHR1cmUtc2V0dGluZ3Mtc3RhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9maXh0dXJlL2ZpeHR1cmUtc2V0dGluZ3MvZml4dHVyZS1zZXR0aW5ncy1zdGFnZS9maXh0dXJlLXNldHRpbmdzLXN0YWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7OztBQU9uRSxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDLFlBQW1CLGNBQThCLEVBQVMsY0FBOEIsRUFBVSxpQkFBb0M7UUFBbkgsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFHLENBQUM7SUFFMUksUUFBUSxLQUFJLENBQUM7SUFFYixNQUFNO1FBQ0osSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekMsQ0FBQzs4RkFSVSw2QkFBNkI7b0VBQTdCLDZCQUE2QjtZQ1J4QyxBQURGLDhCQUF5QyxhQUNkO1lBQ3ZCLFlBQ0Y7O1lBQUEsaUJBQU07WUFJRixBQURGLEFBREYsOEJBQTZC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REEsZ0NBQWtCLHdEQUNpQyxVQUMxQyxhQUNHLFdBQ0Y7WUFRVixlQUFxRDtZQUFyRCx1RUFBcUQ7WUFXdkQsZUFDRjtZQURFLHdHQUNGO1lBSUksZUFBa0I7WUFJbEIsQUFEQSxBQURBLEFBREEsQUFEQSxnQ0FBa0IsMERBQ21DLFVBQzVDLGFBQ0csV0FDRjtZQVFWLGVBQXVEO1lBQXZELHlFQUF1RDtZQVd6RCxlQUNGO1lBREUsc0dBQ0Y7WUFJSSxlQUFrQjtZQUlsQixBQURBLEFBREEsQUFEQSxBQURBLGdDQUFrQix3REFDaUMsVUFDMUMsWUFDRSxXQUNEO1lBUVYsZUFBcUQ7WUFBckQsdUVBQXFEOzs7aUZENUpsRCw2QkFBNkI7Y0FMekMsU0FBUzsyQkFDRSxnQ0FBZ0M7O2tGQUkvQiw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByZXZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJldmlldy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2plY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJvamVjdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFwcC1maXh0dXJlLXNldHRpbmdzLXN0YWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpeHR1cmUtc2V0dGluZ3Mtc3RhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maXh0dXJlLXNldHRpbmdzLXN0YWdlLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRml4dHVyZVNldHRpbmdzU3RhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcHJvamVjdFNlcnZpY2U6IFByb2plY3RTZXJ2aWNlLCBwdWJsaWMgcHJldmlld1NlcnZpY2U6IFByZXZpZXdTZXJ2aWNlLCBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgdXBkYXRlKCkge1xuICAgIHRoaXMucHJldmlld1NlcnZpY2UudXBkYXRlU3RhZ2UoKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNhcmQgYm9yZGVyLXNlY29uZGFyeSBoLTEwMFwiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cbiAgICB7eyAnZGVzaWduZXIuZml4dHVyZS5zZXR0aW5nLXN0YWdlJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGgtMTAwXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm15LWF1dG9cIiBzdHlsZT1cIndpZHRoOiAxMjBweDsgZmxvYXQ6IGxlZnRcIj5cbiAgICAgICAge3sgJ2Rlc2lnbmVyLmZpeHR1cmUuc2V0dGluZy1zdGFnZS13aWR0aCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm15LWF1dG9cIiBzdHlsZT1cImZsb2F0OiBsZWZ0XCI+XG4gICAgICAgIDxtdi1zbGlkZXJcbiAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxNDBweFwiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ2hpZGUnXCJcbiAgICAgICAgICBbdmFsdWVdPVwicHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZVdpZHRoQ21cIlxuICAgICAgICAgIFttaW5dPVwiMTAwXCJcbiAgICAgICAgICBbbWF4XT1cIjIwMDBcIlxuICAgICAgICAgIFtzdGVwXT1cIjVcIlxuICAgICAgICAgIChjaGFuZ2UpPVwicHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZVdpZHRoQ20gPSAkZXZlbnQubmV3VmFsdWU7IHVwZGF0ZSgpXCJcbiAgICAgICAgPlxuICAgICAgICA8L212LXNsaWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm15LWF1dG9cIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cInByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VXaWR0aENtXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlV2lkdGhDbSA9ICRldmVudDsgdXBkYXRlKClcIlxuICAgICAgICAgIGNsYXNzPVwic2xpZGVyLWlucHV0LXJlYWRvbmx5XCJcbiAgICAgICAgICByZWFkb25seVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibXktYXV0byBtbC0xXCIgc3R5bGU9XCJjb2xvcjogZGFya2dyYXlcIj5jbTwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm15LWF1dG9cIiBzdHlsZT1cIndpZHRoOiAxMjBweDsgZmxvYXQ6IGxlZnRcIj5cbiAgICAgICAge3sgJ2Rlc2lnbmVyLmZpeHR1cmUuc2V0dGluZy1zdGFnZS1oZWlnaHQnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJteS1hdXRvXCIgc3R5bGU9XCJmbG9hdDogbGVmdFwiPlxuICAgICAgICA8bXYtc2xpZGVyXG4gICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTQwcHhcIlxuICAgICAgICAgIFt0b29sdGlwXT1cIidoaWRlJ1wiXG4gICAgICAgICAgW3ZhbHVlXT1cInByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VIZWlnaHRDbVwiXG4gICAgICAgICAgW21pbl09XCIxMDBcIlxuICAgICAgICAgIFttYXhdPVwiMjAwMFwiXG4gICAgICAgICAgW3N0ZXBdPVwiNVwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJwcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlSGVpZ2h0Q20gPSAkZXZlbnQubmV3VmFsdWU7IHVwZGF0ZSgpXCJcbiAgICAgICAgPlxuICAgICAgICA8L212LXNsaWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm15LWF1dG9cIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cInByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VIZWlnaHRDbVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZUhlaWdodENtID0gJGV2ZW50OyB1cGRhdGUoKVwiXG4gICAgICAgICAgY2xhc3M9XCJzbGlkZXItaW5wdXQtcmVhZG9ubHlcIlxuICAgICAgICAgIHJlYWRvbmx5XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJteS1hdXRvIG1sLTFcIiBzdHlsZT1cImNvbG9yOiBkYXJrZ3JheVwiPmNtPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibXktYXV0b1wiIHN0eWxlPVwid2lkdGg6IDEyMHB4OyBmbG9hdDogbGVmdFwiPlxuICAgICAgICB7eyAnZGVzaWduZXIuZml4dHVyZS5zZXR0aW5nLXN0YWdlLWRlcHRoJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibXktYXV0b1wiIHN0eWxlPVwiZmxvYXQ6IGxlZnRcIj5cbiAgICAgICAgPG12LXNsaWRlclxuICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDE0MHB4XCJcbiAgICAgICAgICBbdG9vbHRpcF09XCInaGlkZSdcIlxuICAgICAgICAgIFt2YWx1ZV09XCJwcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlRGVwdGhDbVwiXG4gICAgICAgICAgW21pbl09XCIxMDBcIlxuICAgICAgICAgIFttYXhdPVwiMjAwMFwiXG4gICAgICAgICAgW3N0ZXBdPVwiNVwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJwcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlRGVwdGhDbSA9ICRldmVudC5uZXdWYWx1ZTsgdXBkYXRlKClcIlxuICAgICAgICA+XG4gICAgICAgIDwvbXYtc2xpZGVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibXktYXV0b1wiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgW25nTW9kZWxdPVwicHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZURlcHRoQ21cIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VEZXB0aENtID0gJGV2ZW50OyB1cGRhdGUoKVwiXG4gICAgICAgICAgY2xhc3M9XCJzbGlkZXItaW5wdXQtcmVhZG9ubHlcIlxuICAgICAgICAgIHJlYWRvbmx5XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJteS1hdXRvIG1sLTFcIiBzdHlsZT1cImNvbG9yOiBkYXJrZ3JheVwiPmNtPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibXktYXV0b1wiIHN0eWxlPVwid2lkdGg6IDEyMHB4OyBmbG9hdDogbGVmdFwiPlxuICAgICAgICB7eyAnZGVzaWduZXIuZml4dHVyZS5zZXR0aW5nLXN0YWdlLWZsb29yLWhlaWdodCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm15LWF1dG9cIiBzdHlsZT1cImZsb2F0OiBsZWZ0XCI+XG4gICAgICAgIDxtdi1zbGlkZXJcbiAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxNDBweFwiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ2hpZGUnXCJcbiAgICAgICAgICBbdmFsdWVdPVwicHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZUZsb29ySGVpZ2h0Q21cIlxuICAgICAgICAgIFttaW5dPVwiMVwiXG4gICAgICAgICAgW21heF09XCIxMDAwXCJcbiAgICAgICAgICBbc3RlcF09XCI1XCJcbiAgICAgICAgICAoY2hhbmdlKT1cInByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VGbG9vckhlaWdodENtID0gJGV2ZW50Lm5ld1ZhbHVlOyB1cGRhdGUoKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9tdi1zbGlkZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJteS1hdXRvXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJwcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlRmxvb3JIZWlnaHRDbVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZUZsb29ySGVpZ2h0Q20gPSAkZXZlbnQ7IHVwZGF0ZSgpXCJcbiAgICAgICAgICBjbGFzcz1cInNsaWRlci1pbnB1dC1yZWFkb25seVwiXG4gICAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm15LWF1dG8gbWwtMVwiIHN0eWxlPVwiY29sb3I6IGRhcmtncmF5XCI+Y208L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJteS1hdXRvXCIgc3R5bGU9XCJ3aWR0aDogMTIwcHg7IGZsb2F0OiBsZWZ0XCI+XG4gICAgICAgIHt7ICdkZXNpZ25lci5maXh0dXJlLnNldHRpbmctc3RhZ2UtY2VpbGluZy1oZWlnaHQnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJteS1hdXRvXCIgc3R5bGU9XCJmbG9hdDogbGVmdFwiPlxuICAgICAgICA8bXYtc2xpZGVyXG4gICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTQwcHhcIlxuICAgICAgICAgIFt0b29sdGlwXT1cIidoaWRlJ1wiXG4gICAgICAgICAgW3ZhbHVlXT1cInByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VDZWlsaW5nSGVpZ2h0Q21cIlxuICAgICAgICAgIFttaW5dPVwiMVwiXG4gICAgICAgICAgW21heF09XCIxMDAwXCJcbiAgICAgICAgICBbc3RlcF09XCI1XCJcbiAgICAgICAgICAoY2hhbmdlKT1cInByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VDZWlsaW5nSGVpZ2h0Q20gPSAkZXZlbnQubmV3VmFsdWU7IHVwZGF0ZSgpXCJcbiAgICAgICAgPlxuICAgICAgICA8L212LXNsaWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm15LWF1dG9cIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cInByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VDZWlsaW5nSGVpZ2h0Q21cIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VDZWlsaW5nSGVpZ2h0Q20gPSAkZXZlbnQ7IHVwZGF0ZSgpXCJcbiAgICAgICAgICBjbGFzcz1cInNsaWRlci1pbnB1dC1yZWFkb25seVwiXG4gICAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm15LWF1dG8gbWwtMVwiIHN0eWxlPVwiY29sb3I6IGRhcmtncmF5XCI+Y208L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJteS1hdXRvXCIgc3R5bGU9XCJ3aWR0aDogMTIwcHg7IGZsb2F0OiBsZWZ0XCI+XG4gICAgICAgIHt7ICdkZXNpZ25lci5maXh0dXJlLnNldHRpbmctc3RhZ2UtcGlsbGFyLXdpZHRoJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibXktYXV0b1wiIHN0eWxlPVwiZmxvYXQ6IGxlZnRcIj5cbiAgICAgICAgPG12LXNsaWRlclxuICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDE0MHB4XCJcbiAgICAgICAgICBbdG9vbHRpcF09XCInaGlkZSdcIlxuICAgICAgICAgIFt2YWx1ZV09XCJwcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlUGlsbGFyV2lkdGhDbVwiXG4gICAgICAgICAgW21pbl09XCIxXCJcbiAgICAgICAgICBbbWF4XT1cIjIwMFwiXG4gICAgICAgICAgW3N0ZXBdPVwiNVwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJwcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlUGlsbGFyV2lkdGhDbSA9ICRldmVudC5uZXdWYWx1ZTsgdXBkYXRlKClcIlxuICAgICAgICA+XG4gICAgICAgIDwvbXYtc2xpZGVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibXktYXV0b1wiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgW25nTW9kZWxdPVwicHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZVBpbGxhcldpZHRoQ21cIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VQaWxsYXJXaWR0aENtID0gJGV2ZW50OyB1cGRhdGUoKVwiXG4gICAgICAgICAgY2xhc3M9XCJzbGlkZXItaW5wdXQtcmVhZG9ubHlcIlxuICAgICAgICAgIHJlYWRvbmx5XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJteS1hdXRvIG1sLTFcIiBzdHlsZT1cImNvbG9yOiBkYXJrZ3JheVwiPmNtPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { FixtureService } from '../../services/fixture.service';
|
|
3
|
-
import { PresetService } from '../../services/preset.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../services/fixture.service";
|
|
6
|
-
import * as i2 from "../../services/preset.service";
|
|
7
|
-
import * as i3 from "./fixture-settings-position/fixture-settings-position.component";
|
|
8
|
-
import * as i4 from "./fixture-settings-stage/fixture-settings-stage.component";
|
|
9
|
-
export class FixtureSettingsComponent {
|
|
10
|
-
constructor(fixtureService, presetService) {
|
|
11
|
-
this.fixtureService = fixtureService;
|
|
12
|
-
this.presetService = presetService;
|
|
13
|
-
this.dmxChannels = [];
|
|
14
|
-
for (let i = 0; i < 512; i++) {
|
|
15
|
-
this.dmxChannels.push(0);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() { }
|
|
19
|
-
isChrome() {
|
|
20
|
-
if (navigator.appVersion.indexOf('Chrome/') !== -1) {
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
static { this.ɵfac = function FixtureSettingsComponent_Factory(t) { return new (t || FixtureSettingsComponent)(i0.ɵɵdirectiveInject(i1.FixtureService), i0.ɵɵdirectiveInject(i2.PresetService)); }; }
|
|
26
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FixtureSettingsComponent, selectors: [["lib-app-fixture-settings"]], decls: 9, vars: 2, consts: [[1, "card", "border-secondary", "panel", "h-100"], [1, "card-body", "capability-container", "d-flex", "h-100", 2, "overflow-y", "hidden"], [1, "row", "m-0", "pl-3"], [1, "col", "col-auto", "p-0", "my-3", "mr-3"]], template: function FixtureSettingsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
27
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
28
|
-
i0.ɵɵelement(4, "lib-app-fixture-settings-position");
|
|
29
|
-
i0.ɵɵelementEnd();
|
|
30
|
-
i0.ɵɵelementStart(5, "div", 3);
|
|
31
|
-
i0.ɵɵelement(6, "lib-app-fixture-settings-stage");
|
|
32
|
-
i0.ɵɵelementEnd();
|
|
33
|
-
i0.ɵɵelementStart(7, "div", 3);
|
|
34
|
-
i0.ɵɵtext(8, "\u00A0");
|
|
35
|
-
i0.ɵɵelementEnd()()()();
|
|
36
|
-
} if (rf & 2) {
|
|
37
|
-
i0.ɵɵadvance(2);
|
|
38
|
-
i0.ɵɵclassProp("h-100", ctx.isChrome());
|
|
39
|
-
} }, dependencies: [i3.FixtureSettingsPositionComponent, i4.FixtureSettingsStageComponent], styles: [".dmx-channel[_ngcontent-%COMP%]{display:flex;float:left;width:28px;border:1px solid white;margin-left:-1px;margin-bottom:-1px}.dmx-channel-occupied[_ngcontent-%COMP%]{background-color:#fd7e14;border-left:none;border-right:none;cursor:move}.dmx-channel-occupied-start[_ngcontent-%COMP%]{border-left:1px solid white}.dmx-channel-occupied-end[_ngcontent-%COMP%]{border-right:1px solid white}"] }); }
|
|
40
|
-
}
|
|
41
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FixtureSettingsComponent, [{
|
|
42
|
-
type: Component,
|
|
43
|
-
args: [{ selector: 'lib-app-fixture-settings', 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 class=\"row m-0 pl-3\" [class.h-100]=\"isChrome()\">\n <!-- Position -->\n <div class=\"col col-auto p-0 my-3 mr-3\">\n <lib-app-fixture-settings-position></lib-app-fixture-settings-position>\n </div>\n\n <!-- Stage -->\n <div class=\"col col-auto p-0 my-3 mr-3\">\n <lib-app-fixture-settings-stage></lib-app-fixture-settings-stage>\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 </div>\n</div>\n", styles: [".dmx-channel{display:flex;float:left;width:28px;border:1px solid white;margin-left:-1px;margin-bottom:-1px}.dmx-channel-occupied{background-color:#fd7e14;border-left:none;border-right:none;cursor:move}.dmx-channel-occupied-start{border-left:1px solid white}.dmx-channel-occupied-end{border-right:1px solid white}\n"] }]
|
|
44
|
-
}], () => [{ type: i1.FixtureService }, { type: i2.PresetService }], null); })();
|
|
45
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FixtureSettingsComponent, { className: "FixtureSettingsComponent" }); })();
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1zZXR0aW5ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL2ZpeHR1cmUvZml4dHVyZS1zZXR0aW5ncy9maXh0dXJlLXNldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvZml4dHVyZS9maXh0dXJlLXNldHRpbmdzL2ZpeHR1cmUtc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7QUFPOUQsTUFBTSxPQUFPLHdCQUF3QjtJQUduQyxZQUFvQixjQUE4QixFQUFTLGFBQTRCO1FBQW5FLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBRnZGLGdCQUFXLEdBQWEsRUFBRSxDQUFDO1FBR3pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVEsS0FBSSxDQUFDO0lBRWIsUUFBUTtRQUNOLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNuRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7eUZBaEJVLHdCQUF3QjtvRUFBeEIsd0JBQXdCO1lDRi9CLEFBRkYsQUFKRixBQURGLDhCQUErQyxhQUN1QyxhQUk3QixhQUVYO1lBQ3RDLG9EQUF1RTtZQUN6RSxpQkFBTTtZQUdOLDhCQUF3QztZQUN0QyxpREFBaUU7WUFDbkUsaUJBQU07WUFHTiw4QkFBd0M7WUFBQSxzQkFBTTtZQUdwRCxBQURFLEFBREUsQUFEZ0QsaUJBQU0sRUFDaEQsRUFDRixFQUNGOztZQWZ3QixlQUEwQjtZQUExQix1Q0FBMEI7OztpRkRJM0Msd0JBQXdCO2NBTHBDLFNBQVM7MkJBQ0UsMEJBQTBCOztrRkFJekIsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpeHR1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZml4dHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcmVzZXQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hcHAtZml4dHVyZS1zZXR0aW5ncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maXh0dXJlLXNldHRpbmdzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZml4dHVyZS1zZXR0aW5ncy5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZpeHR1cmVTZXR0aW5nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGRteENoYW5uZWxzOiBudW1iZXJbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZml4dHVyZVNlcnZpY2U6IEZpeHR1cmVTZXJ2aWNlLCBwdWJsaWMgcHJlc2V0U2VydmljZTogUHJlc2V0U2VydmljZSkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTEyOyBpKyspIHtcbiAgICAgIHRoaXMuZG14Q2hhbm5lbHMucHVzaCgwKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgaXNDaHJvbWUoKTogYm9vbGVhbiB7XG4gICAgaWYgKG5hdmlnYXRvci5hcHBWZXJzaW9uLmluZGV4T2YoJ0Nocm9tZS8nKSAhPT0gLTEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci1zZWNvbmRhcnkgcGFuZWwgaC0xMDBcIj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBjYXBhYmlsaXR5LWNvbnRhaW5lciBkLWZsZXggaC0xMDBcIiBzdHlsZT1cIm92ZXJmbG93LXk6IGhpZGRlblwiPlxuICAgIDwhLS0gaC0xMDAgbmVlZHMgdG8gYmUgYXBwbGllZCBpbiBjaHJvbWUgdG8gYXZvaWQgcGVyZm9ybWFuY2UgaXNzdWVzIHdpdGggbWFueSBsYXlvdXRzIChyZWZsb3dzKVxuICAgICAgZHVyaW5nIHNsaWRpbmcuIEJ1dCB0aGUgY2xhc3MgbXVzdCBub3QgYmUgYXBwbGllZCBlLmcuIGluIFNhZmFyaSwgYmVjYXVzZSB0aGUgYm90dG9tIG1hcmdpbiBpcyBub3QgY29ycmVjdFxuICAgICAgYW55bW9yZSBhZnRlcndhcmRzLiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG0tMCBwbC0zXCIgW2NsYXNzLmgtMTAwXT1cImlzQ2hyb21lKClcIj5cbiAgICAgIDwhLS0gUG9zaXRpb24gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sIGNvbC1hdXRvIHAtMCBteS0zIG1yLTNcIj5cbiAgICAgICAgPGxpYi1hcHAtZml4dHVyZS1zZXR0aW5ncy1wb3NpdGlvbj48L2xpYi1hcHAtZml4dHVyZS1zZXR0aW5ncy1wb3NpdGlvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIFN0YWdlIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbCBjb2wtYXV0byBwLTAgbXktMyBtci0zXCI+XG4gICAgICAgIDxsaWItYXBwLWZpeHR1cmUtc2V0dGluZ3Mtc3RhZ2U+PC9saWItYXBwLWZpeHR1cmUtc2V0dGluZ3Mtc3RhZ2U+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBGaXggc3BhY2luZyBhdCB0aGUgZW5kIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbCBjb2wtYXV0byBwLTAgbXktMyBtci0zXCI+Jm5ic3A7PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { FixturePoolService } from '../services/fixture-pool.service';
|
|
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/project.service";
|
|
9
|
-
import * as i2 from "../services/preset.service";
|
|
10
|
-
import * as i3 from "../services/fixture-pool.service";
|
|
11
|
-
import * as i4 from "../services/fixture.service";
|
|
12
|
-
import * as i5 from "../services/intro.service";
|
|
13
|
-
import * as i6 from "@angular/common";
|
|
14
|
-
import * as i7 from "@angular/forms";
|
|
15
|
-
import * as i8 from "ngx-sortablejs-plus";
|
|
16
|
-
import * as i9 from "@ngx-translate/core";
|
|
17
|
-
function FixtureComponent_div_12_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
19
|
-
i0.ɵɵelementStart(0, "div", 12)(1, "div", 13);
|
|
20
|
-
i0.ɵɵlistener("click", function FixtureComponent_div_12_div_1_Template_div_click_1_listener($event) { const presetFixture_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.selectFixture($event, presetFixture_r2)); });
|
|
21
|
-
i0.ɵɵelementStart(2, "div", 14);
|
|
22
|
-
i0.ɵɵelement(3, "i", 15);
|
|
23
|
-
i0.ɵɵelementEnd();
|
|
24
|
-
i0.ɵɵelementStart(4, "div", 16);
|
|
25
|
-
i0.ɵɵelement(5, "input", 17);
|
|
26
|
-
i0.ɵɵelementEnd();
|
|
27
|
-
i0.ɵɵelementStart(6, "div");
|
|
28
|
-
i0.ɵɵelement(7, "span");
|
|
29
|
-
i0.ɵɵtext(8);
|
|
30
|
-
i0.ɵɵelementEnd()()();
|
|
31
|
-
} if (rf & 2) {
|
|
32
|
-
const presetFixture_r2 = ctx.$implicit;
|
|
33
|
-
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
34
|
-
i0.ɵɵclassProp("inactive-list-item", !ctx_r2.fixtureIsSelected(presetFixture_r2));
|
|
35
|
-
i0.ɵɵadvance(5);
|
|
36
|
-
i0.ɵɵproperty("ngModel", ctx_r2.fixtureIsSelected(presetFixture_r2));
|
|
37
|
-
i0.ɵɵadvance(2);
|
|
38
|
-
i0.ɵɵclassMapInterpolate1("icon-", ctx_r2.fixtureService.getFixtureIconClass(ctx_r2.fixtureService.getProfileByUuid(ctx_r2.fixtureService.getFixtureByUuid(presetFixture_r2.fixtureUuid).profileUuid)), " mr-1");
|
|
39
|
-
i0.ɵɵadvance();
|
|
40
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r2.fixtureName(presetFixture_r2), " ");
|
|
41
|
-
} }
|
|
42
|
-
function FixtureComponent_div_12_Template(rf, ctx) { if (rf & 1) {
|
|
43
|
-
i0.ɵɵelementStart(0, "div", 10);
|
|
44
|
-
i0.ɵɵtemplate(1, FixtureComponent_div_12_div_1_Template, 9, 7, "div", 11);
|
|
45
|
-
i0.ɵɵelementEnd();
|
|
46
|
-
} if (rf & 2) {
|
|
47
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
48
|
-
i0.ɵɵproperty("sortablejs", ctx_r2.projectService.project.presetFixtures);
|
|
49
|
-
i0.ɵɵadvance();
|
|
50
|
-
i0.ɵɵproperty("ngForOf", ctx_r2.projectService.project.presetFixtures);
|
|
51
|
-
} }
|
|
52
|
-
function FixtureComponent_div_13_Template(rf, ctx) { if (rf & 1) {
|
|
53
|
-
const _r4 = i0.ɵɵgetCurrentView();
|
|
54
|
-
i0.ɵɵelementStart(0, "div", 18)(1, "a", 19);
|
|
55
|
-
i0.ɵɵlistener("click", function FixtureComponent_div_13_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); ctx_r2.openFixturePool(); return i0.ɵɵresetView(false); });
|
|
56
|
-
i0.ɵɵelement(2, "i", 20);
|
|
57
|
-
i0.ɵɵtext(3);
|
|
58
|
-
i0.ɵɵpipe(4, "translate");
|
|
59
|
-
i0.ɵɵelementEnd()();
|
|
60
|
-
} if (rf & 2) {
|
|
61
|
-
i0.ɵɵadvance(3);
|
|
62
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 1, "designer.fixture.no-fixtures"), "");
|
|
63
|
-
} }
|
|
64
|
-
export class FixtureComponent {
|
|
65
|
-
constructor(projectService, presetService, fixturePoolService, fixtureService, introService) {
|
|
66
|
-
this.projectService = projectService;
|
|
67
|
-
this.presetService = presetService;
|
|
68
|
-
this.fixturePoolService = fixturePoolService;
|
|
69
|
-
this.fixtureService = fixtureService;
|
|
70
|
-
this.introService = introService;
|
|
71
|
-
}
|
|
72
|
-
ngOnInit() { }
|
|
73
|
-
fixtureName(presetFixture) {
|
|
74
|
-
let name;
|
|
75
|
-
name = this.fixtureService.getFixtureByUuid(presetFixture.fixtureUuid).name;
|
|
76
|
-
if (presetFixture.pixelKey) {
|
|
77
|
-
name += ' - ' + presetFixture.pixelKey;
|
|
78
|
-
}
|
|
79
|
-
return name;
|
|
80
|
-
}
|
|
81
|
-
fixtureIsSelected(presetFixture) {
|
|
82
|
-
const fixture = this.fixtureService.getFixtureByUuid(presetFixture.fixtureUuid);
|
|
83
|
-
if (this.fixtureService.settingsSelection) {
|
|
84
|
-
return this.fixtureService.settingsFixtureIsSelected(fixture);
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
return this.presetService.fixtureIsSelected(fixture, presetFixture.pixelKey);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
selectFixture(event, presetFixture) {
|
|
91
|
-
const fixture = this.fixtureService.getFixtureByUuid(presetFixture.fixtureUuid);
|
|
92
|
-
if (this.fixtureService.settingsSelection) {
|
|
93
|
-
// select fixtures for the settings
|
|
94
|
-
this.fixtureService.switchSettingsFixtureSelection(fixture);
|
|
95
|
-
this.presetService.fixtureSelectionSettingsChanged.next();
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
// select fixtures for the current preset
|
|
99
|
-
this.presetService.switchFixtureSelection(fixture, presetFixture.pixelKey);
|
|
100
|
-
this.presetService.fixtureSelectionChanged.next();
|
|
101
|
-
this.presetService.previewLive();
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
selectAll() {
|
|
105
|
-
this.presetService.selectAllFixtures();
|
|
106
|
-
this.presetService.fixtureSelectionChanged.next();
|
|
107
|
-
}
|
|
108
|
-
selectNone() {
|
|
109
|
-
this.presetService.selectNoFixtures();
|
|
110
|
-
this.presetService.fixtureSelectionChanged.next();
|
|
111
|
-
}
|
|
112
|
-
openFixturePool() {
|
|
113
|
-
this.fixturePoolService.open();
|
|
114
|
-
}
|
|
115
|
-
static { this.ɵfac = function FixtureComponent_Factory(t) { return new (t || FixtureComponent)(i0.ɵɵdirectiveInject(i1.ProjectService), i0.ɵɵdirectiveInject(i2.PresetService), i0.ɵɵdirectiveInject(i3.FixturePoolService), i0.ɵɵdirectiveInject(i4.FixtureService), i0.ɵɵdirectiveInject(i5.IntroService)); }; }
|
|
116
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FixtureComponent, selectors: [["lib-app-fixture"]], decls: 14, vars: 4, consts: [[1, "card", "border-secondary", "h-100", "panel"], [1, "card-header", "d-flex"], [1, "ml-auto"], ["href", "#", 1, "btn", "btn-secondary", "m-0,", "p-0", 3, "click"], ["aria-hidden", "true", 1, "fa", "fa-square-o", "fa-fw"], ["aria-hidden", "true", 1, "fa", "fa-check-square-o", "fa-fw"], ["aria-hidden", "true", 1, "fa", "fa-cog", "fa-fw"], [1, "card-body", "h-100", "p-0"], ["class", "list-group", 3, "sortablejs", 4, "ngIf"], ["class", "w-100 h-100 d-flex p-3 text-center", 4, "ngIf"], [1, "list-group", 3, "sortablejs"], ["class", "list-group-item", 3, "inactive-list-item", 4, "ngFor", "ngForOf"], [1, "list-group-item"], [1, "row", "d-flex", 2, "cursor", "pointer", 3, "click"], [1, "col-auto", "list-sort-handle", "my-auto", 2, "cursor", "move", "cursor", "-webkit-grabbing"], ["aria-hidden", "true", 1, "fa", "fa-bars"], [1, "form-check"], ["type", "checkbox", "id", "active", 1, "form-check-input", 3, "ngModel"], [1, "w-100", "h-100", "d-flex", "p-3", "text-center"], ["href", "#", 1, "m-auto", 3, "click"], ["aria-hidden", "true", 1, "fa", "fa-plus-circle", "fa-fw"]], template: function FixtureComponent_Template(rf, ctx) { if (rf & 1) {
|
|
117
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div");
|
|
118
|
-
i0.ɵɵtext(3, "Fixtures");
|
|
119
|
-
i0.ɵɵelementEnd();
|
|
120
|
-
i0.ɵɵelementStart(4, "div", 2)(5, "a", 3);
|
|
121
|
-
i0.ɵɵlistener("click", function FixtureComponent_Template_a_click_5_listener() { ctx.selectNone(); return false; });
|
|
122
|
-
i0.ɵɵelement(6, "i", 4);
|
|
123
|
-
i0.ɵɵelementEnd();
|
|
124
|
-
i0.ɵɵelementStart(7, "a", 3);
|
|
125
|
-
i0.ɵɵlistener("click", function FixtureComponent_Template_a_click_7_listener() { ctx.selectAll(); return false; });
|
|
126
|
-
i0.ɵɵelement(8, "i", 5);
|
|
127
|
-
i0.ɵɵelementEnd();
|
|
128
|
-
i0.ɵɵelementStart(9, "a", 3);
|
|
129
|
-
i0.ɵɵlistener("click", function FixtureComponent_Template_a_click_9_listener() { ctx.openFixturePool(); return false; });
|
|
130
|
-
i0.ɵɵelement(10, "i", 6);
|
|
131
|
-
i0.ɵɵelementEnd()()();
|
|
132
|
-
i0.ɵɵelementStart(11, "div", 7);
|
|
133
|
-
i0.ɵɵtemplate(12, FixtureComponent_div_12_Template, 2, 2, "div", 8)(13, FixtureComponent_div_13_Template, 5, 3, "div", 9);
|
|
134
|
-
i0.ɵɵelementEnd()();
|
|
135
|
-
} if (rf & 2) {
|
|
136
|
-
i0.ɵɵclassProp("card-intro-active", ctx.introService.showStep("fixtures"));
|
|
137
|
-
i0.ɵɵadvance(12);
|
|
138
|
-
i0.ɵɵproperty("ngIf", ctx.presetService.selectedPreset);
|
|
139
|
-
i0.ɵɵadvance();
|
|
140
|
-
i0.ɵɵproperty("ngIf", ctx.projectService.project.presetFixtures.length == 0);
|
|
141
|
-
} }, dependencies: [i6.NgForOf, i6.NgIf, i7.CheckboxControlValueAccessor, i7.NgControlStatus, i7.NgModel, i8.SortablejsDirective, i9.TranslatePipe] }); }
|
|
142
|
-
}
|
|
143
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FixtureComponent, [{
|
|
144
|
-
type: Component,
|
|
145
|
-
args: [{ selector: 'lib-app-fixture', template: "<div class=\"card border-secondary h-100 panel\" [class.card-intro-active]=\"introService.showStep('fixtures')\">\n <div class=\"card-header d-flex\">\n <div>Fixtures</div>\n <div class=\"ml-auto\">\n <a href=\"#\" class=\"btn btn-secondary m-0, p-0\" (click)=\"selectNone(); (false)\"\n ><i class=\"fa fa-square-o fa-fw\" aria-hidden=\"true\"></i\n ></a>\n <a href=\"#\" class=\"btn btn-secondary m-0, p-0\" (click)=\"selectAll(); (false)\"\n ><i class=\"fa fa-check-square-o fa-fw\" aria-hidden=\"true\"></i\n ></a>\n <a href=\"#\" class=\"btn btn-secondary m-0, p-0\" (click)=\"openFixturePool(); (false)\"\n ><i class=\"fa fa-cog fa-fw\" aria-hidden=\"true\"></i\n ></a>\n </div>\n </div>\n\n <div class=\"card-body h-100 p-0\">\n <!-- List of fixtures -->\n <div *ngIf=\"presetService.selectedPreset\" class=\"list-group\" [sortablejs]=\"projectService.project.presetFixtures\">\n <div\n class=\"list-group-item\"\n *ngFor=\"let presetFixture of projectService.project.presetFixtures\"\n [class.inactive-list-item]=\"!fixtureIsSelected(presetFixture)\"\n >\n <div class=\"row d-flex\" (click)=\"selectFixture($event, presetFixture)\" style=\"cursor: pointer\">\n <div class=\"col-auto list-sort-handle my-auto\" style=\"cursor: move; cursor: -webkit-grabbing\">\n <i class=\"fa fa-bars\" aria-hidden=\"true\"></i>\n </div>\n <div class=\"form-check\">\n <input type=\"checkbox\" class=\"form-check-input\" id=\"active\" [ngModel]=\"fixtureIsSelected(presetFixture)\" />\n </div>\n <div>\n <span\n class=\"icon-{{\n fixtureService.getFixtureIconClass(\n fixtureService.getProfileByUuid(fixtureService.getFixtureByUuid(presetFixture.fixtureUuid).profileUuid)\n )\n }} mr-1\"\n ></span>\n {{ fixtureName(presetFixture) }}\n </div>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"projectService.project.presetFixtures.length == 0\" class=\"w-100 h-100 d-flex p-3 text-center\">\n <a href=\"#\" class=\"m-auto\" (click)=\"openFixturePool(); (false)\"\n ><i class=\"fa fa-plus-circle fa-fw\" aria-hidden=\"true\"></i> {{ 'designer.fixture.no-fixtures' | translate }}</a\n >\n </div>\n </div>\n</div>\n" }]
|
|
146
|
-
}], () => [{ type: i1.ProjectService }, { type: i2.PresetService }, { type: i3.FixturePoolService }, { type: i4.FixtureService }, { type: i5.IntroService }], null); })();
|
|
147
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FixtureComponent, { className: "FixtureComponent" }); })();
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL2ZpeHR1cmUvZml4dHVyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL2ZpeHR1cmUvZml4dHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ2tCckQsQUFMRiwrQkFJQyxjQUNnRztJQUF2RSwwTkFBUyw4Q0FBb0MsS0FBQztJQUNwRSwrQkFBOEY7SUFDNUYsd0JBQTZDO0lBQy9DLGlCQUFNO0lBQ04sK0JBQXdCO0lBQ3RCLDRCQUEyRztJQUM3RyxpQkFBTTtJQUNOLDJCQUFLO0lBQ0gsdUJBTVE7SUFDUixZQUNGO0lBRUosQUFERSxBQURFLGlCQUFNLEVBQ0YsRUFDRjs7OztJQXBCSixpRkFBOEQ7SUFPRSxlQUE0QztJQUE1QyxvRUFBNEM7SUFJdEcsZUFJUTtJQUpSLGdOQUlRO0lBRVYsY0FDRjtJQURFLHFFQUNGOzs7SUF0Qk4sK0JBQWtIO0lBQ2hILHlFQUlDO0lBb0JILGlCQUFNOzs7SUF6QnVELHlFQUFvRDtJQUduRixjQUF3QztJQUF4QyxzRUFBd0M7Ozs7SUF5QnBFLEFBREYsK0JBQTBHLFlBRXJHO0lBRHdCLGtKQUFTLHdCQUFpQix3QkFBRyxLQUFLLEtBQUU7SUFDNUQsd0JBQTBEO0lBQUMsWUFBZ0Q7O0lBRWhILEFBRmdILGlCQUM3RyxFQUNHOztJQUYwRCxlQUFnRDtJQUFoRCxvRkFBZ0Q7O0FEakNwSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQ1MsY0FBOEIsRUFDOUIsYUFBNEIsRUFDM0Isa0JBQXNDLEVBQ3ZDLGNBQThCLEVBQzlCLFlBQTBCO1FBSjFCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUMzQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3ZDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUNoQyxDQUFDO0lBRUosUUFBUSxLQUFJLENBQUM7SUFFYixXQUFXLENBQUMsYUFBNEI7UUFDdEMsSUFBSSxJQUFZLENBQUM7UUFDakIsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM1RSxJQUFJLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMzQixJQUFJLElBQUksS0FBSyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGlCQUFpQixDQUFDLGFBQTRCO1FBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hGLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9FLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVUsRUFBRSxhQUE0QjtRQUNwRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMxQyxtQ0FBbUM7WUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsYUFBYSxDQUFDLCtCQUErQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVELENBQUM7YUFBTSxDQUFDO1lBQ04seUNBQXlDO1lBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMzRSxJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDO2lGQXZEVSxnQkFBZ0I7b0VBQWhCLGdCQUFnQjtZQ1p6QixBQURGLEFBREYsOEJBQTZHLGFBQzNFLFVBQ3pCO1lBQUEsd0JBQVE7WUFBQSxpQkFBTTtZQUVqQixBQURGLDhCQUFxQixXQUVoQjtZQUQ0QyxpRkFBUyxnQkFBWSxTQUFHLEtBQUssSUFBRTtZQUMzRSx1QkFDRjtZQUFBLGlCQUFJO1lBQ0wsNEJBQ0c7WUFENEMsaUZBQVMsZUFBVyxTQUFHLEtBQUssSUFBRTtZQUMxRSx1QkFDRjtZQUFBLGlCQUFJO1lBQ0wsNEJBQ0c7WUFENEMsaUZBQVMscUJBQWlCLFNBQUcsS0FBSyxJQUFFO1lBQ2hGLHdCQUNGO1lBRUwsQUFERSxBQURHLGlCQUFJLEVBQ0QsRUFDRjtZQUVOLCtCQUFpQztZQTZCL0IsQUEzQkEsbUVBQWtILHNEQTJCUjtZQU05RyxBQURFLGlCQUFNLEVBQ0Y7O1lBbkR5QywwRUFBNkQ7WUFrQmxHLGdCQUFrQztZQUFsQyx1REFBa0M7WUEyQmxDLGNBQXVEO1lBQXZELDRFQUF1RDs7O2lGRC9CcEQsZ0JBQWdCO2NBTDVCLFNBQVM7MkJBQ0UsaUJBQWlCOztrRkFJaEIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpeHR1cmUgfSBmcm9tICcuLi9tb2RlbHMvZml4dHVyZSc7XG5pbXBvcnQgeyBGaXh0dXJlUG9vbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9maXh0dXJlLXBvb2wuc2VydmljZSc7XG5pbXBvcnQgeyBGaXh0dXJlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2ZpeHR1cmUuc2VydmljZSc7XG5pbXBvcnQgeyBJbnRyb1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9pbnRyby5zZXJ2aWNlJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wcmVzZXQuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9qZWN0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Byb2plY3Quc2VydmljZSc7XG5pbXBvcnQgeyBQcmVzZXRGaXh0dXJlIH0gZnJvbSAnLi4vbW9kZWxzL3ByZXNldC1maXh0dXJlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFwcC1maXh0dXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpeHR1cmUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maXh0dXJlLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRml4dHVyZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwcm9qZWN0U2VydmljZTogUHJvamVjdFNlcnZpY2UsXG4gICAgcHVibGljIHByZXNldFNlcnZpY2U6IFByZXNldFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmaXh0dXJlUG9vbFNlcnZpY2U6IEZpeHR1cmVQb29sU2VydmljZSxcbiAgICBwdWJsaWMgZml4dHVyZVNlcnZpY2U6IEZpeHR1cmVTZXJ2aWNlLFxuICAgIHB1YmxpYyBpbnRyb1NlcnZpY2U6IEludHJvU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGZpeHR1cmVOYW1lKHByZXNldEZpeHR1cmU6IFByZXNldEZpeHR1cmUpIHtcbiAgICBsZXQgbmFtZTogc3RyaW5nO1xuICAgIG5hbWUgPSB0aGlzLmZpeHR1cmVTZXJ2aWNlLmdldEZpeHR1cmVCeVV1aWQocHJlc2V0Rml4dHVyZS5maXh0dXJlVXVpZCkubmFtZTtcbiAgICBpZiAocHJlc2V0Rml4dHVyZS5waXhlbEtleSkge1xuICAgICAgbmFtZSArPSAnIC0gJyArIHByZXNldEZpeHR1cmUucGl4ZWxLZXk7XG4gICAgfVxuICAgIHJldHVybiBuYW1lO1xuICB9XG5cbiAgZml4dHVyZUlzU2VsZWN0ZWQocHJlc2V0Rml4dHVyZTogUHJlc2V0Rml4dHVyZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZpeHR1cmUgPSB0aGlzLmZpeHR1cmVTZXJ2aWNlLmdldEZpeHR1cmVCeVV1aWQocHJlc2V0Rml4dHVyZS5maXh0dXJlVXVpZCk7XG4gICAgaWYgKHRoaXMuZml4dHVyZVNlcnZpY2Uuc2V0dGluZ3NTZWxlY3Rpb24pIHtcbiAgICAgIHJldHVybiB0aGlzLmZpeHR1cmVTZXJ2aWNlLnNldHRpbmdzRml4dHVyZUlzU2VsZWN0ZWQoZml4dHVyZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnByZXNldFNlcnZpY2UuZml4dHVyZUlzU2VsZWN0ZWQoZml4dHVyZSwgcHJlc2V0Rml4dHVyZS5waXhlbEtleSk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0Rml4dHVyZShldmVudDogYW55LCBwcmVzZXRGaXh0dXJlOiBQcmVzZXRGaXh0dXJlKSB7XG4gICAgY29uc3QgZml4dHVyZSA9IHRoaXMuZml4dHVyZVNlcnZpY2UuZ2V0Rml4dHVyZUJ5VXVpZChwcmVzZXRGaXh0dXJlLmZpeHR1cmVVdWlkKTtcbiAgICBpZiAodGhpcy5maXh0dXJlU2VydmljZS5zZXR0aW5nc1NlbGVjdGlvbikge1xuICAgICAgLy8gc2VsZWN0IGZpeHR1cmVzIGZvciB0aGUgc2V0dGluZ3NcbiAgICAgIHRoaXMuZml4dHVyZVNlcnZpY2Uuc3dpdGNoU2V0dGluZ3NGaXh0dXJlU2VsZWN0aW9uKGZpeHR1cmUpO1xuICAgICAgdGhpcy5wcmVzZXRTZXJ2aWNlLmZpeHR1cmVTZWxlY3Rpb25TZXR0aW5nc0NoYW5nZWQubmV4dCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBzZWxlY3QgZml4dHVyZXMgZm9yIHRoZSBjdXJyZW50IHByZXNldFxuICAgICAgdGhpcy5wcmVzZXRTZXJ2aWNlLnN3aXRjaEZpeHR1cmVTZWxlY3Rpb24oZml4dHVyZSwgcHJlc2V0Rml4dHVyZS5waXhlbEtleSk7XG4gICAgICB0aGlzLnByZXNldFNlcnZpY2UuZml4dHVyZVNlbGVjdGlvbkNoYW5nZWQubmV4dCgpO1xuICAgICAgdGhpcy5wcmVzZXRTZXJ2aWNlLnByZXZpZXdMaXZlKCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0QWxsKCkge1xuICAgIHRoaXMucHJlc2V0U2VydmljZS5zZWxlY3RBbGxGaXh0dXJlcygpO1xuICAgIHRoaXMucHJlc2V0U2VydmljZS5maXh0dXJlU2VsZWN0aW9uQ2hhbmdlZC5uZXh0KCk7XG4gIH1cblxuICBzZWxlY3ROb25lKCkge1xuICAgIHRoaXMucHJlc2V0U2VydmljZS5zZWxlY3ROb0ZpeHR1cmVzKCk7XG4gICAgdGhpcy5wcmVzZXRTZXJ2aWNlLmZpeHR1cmVTZWxlY3Rpb25DaGFuZ2VkLm5leHQoKTtcbiAgfVxuXG4gIG9wZW5GaXh0dXJlUG9vbCgpIHtcbiAgICB0aGlzLmZpeHR1cmVQb29sU2VydmljZS5vcGVuKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci1zZWNvbmRhcnkgaC0xMDAgcGFuZWxcIiBbY2xhc3MuY2FyZC1pbnRyby1hY3RpdmVdPVwiaW50cm9TZXJ2aWNlLnNob3dTdGVwKCdmaXh0dXJlcycpXCI+XG4gIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBkLWZsZXhcIj5cbiAgICA8ZGl2PkZpeHR1cmVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1sLWF1dG9cIj5cbiAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBtLTAsIHAtMFwiIChjbGljayk9XCJzZWxlY3ROb25lKCk7IChmYWxzZSlcIlxuICAgICAgICA+PGkgY2xhc3M9XCJmYSBmYS1zcXVhcmUtbyBmYS1md1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaVxuICAgICAgPjwvYT5cbiAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBtLTAsIHAtMFwiIChjbGljayk9XCJzZWxlY3RBbGwoKTsgKGZhbHNlKVwiXG4gICAgICAgID48aSBjbGFzcz1cImZhIGZhLWNoZWNrLXNxdWFyZS1vIGZhLWZ3XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pXG4gICAgICA+PC9hPlxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IG0tMCwgcC0wXCIgKGNsaWNrKT1cIm9wZW5GaXh0dXJlUG9vbCgpOyAoZmFsc2UpXCJcbiAgICAgICAgPjxpIGNsYXNzPVwiZmEgZmEtY29nIGZhLWZ3XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pXG4gICAgICA+PC9hPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGgtMTAwIHAtMFwiPlxuICAgIDwhLS0gTGlzdCBvZiBmaXh0dXJlcyAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwicHJlc2V0U2VydmljZS5zZWxlY3RlZFByZXNldFwiIGNsYXNzPVwibGlzdC1ncm91cFwiIFtzb3J0YWJsZWpzXT1cInByb2plY3RTZXJ2aWNlLnByb2plY3QucHJlc2V0Rml4dHVyZXNcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW1cIlxuICAgICAgICAqbmdGb3I9XCJsZXQgcHJlc2V0Rml4dHVyZSBvZiBwcm9qZWN0U2VydmljZS5wcm9qZWN0LnByZXNldEZpeHR1cmVzXCJcbiAgICAgICAgW2NsYXNzLmluYWN0aXZlLWxpc3QtaXRlbV09XCIhZml4dHVyZUlzU2VsZWN0ZWQocHJlc2V0Rml4dHVyZSlcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGQtZmxleFwiIChjbGljayk9XCJzZWxlY3RGaXh0dXJlKCRldmVudCwgcHJlc2V0Rml4dHVyZSlcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0byBsaXN0LXNvcnQtaGFuZGxlIG15LWF1dG9cIiBzdHlsZT1cImN1cnNvcjogbW92ZTsgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWJhcnNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiBpZD1cImFjdGl2ZVwiIFtuZ01vZGVsXT1cImZpeHR1cmVJc1NlbGVjdGVkKHByZXNldEZpeHR1cmUpXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJpY29uLXt7XG4gICAgICAgICAgICAgICAgZml4dHVyZVNlcnZpY2UuZ2V0Rml4dHVyZUljb25DbGFzcyhcbiAgICAgICAgICAgICAgICAgIGZpeHR1cmVTZXJ2aWNlLmdldFByb2ZpbGVCeVV1aWQoZml4dHVyZVNlcnZpY2UuZ2V0Rml4dHVyZUJ5VXVpZChwcmVzZXRGaXh0dXJlLmZpeHR1cmVVdWlkKS5wcm9maWxlVXVpZClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH19IG1yLTFcIlxuICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgIHt7IGZpeHR1cmVOYW1lKHByZXNldEZpeHR1cmUpIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwicHJvamVjdFNlcnZpY2UucHJvamVjdC5wcmVzZXRGaXh0dXJlcy5sZW5ndGggPT0gMFwiIGNsYXNzPVwidy0xMDAgaC0xMDAgZC1mbGV4IHAtMyB0ZXh0LWNlbnRlclwiPlxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cIm0tYXV0b1wiIChjbGljayk9XCJvcGVuRml4dHVyZVBvb2woKTsgKGZhbHNlKVwiXG4gICAgICAgID48aSBjbGFzcz1cImZhIGZhLXBsdXMtY2lyY2xlIGZhLWZ3XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPiB7eyAnZGVzaWduZXIuZml4dHVyZS5uby1maXh0dXJlcycgfCB0cmFuc2xhdGUgfX08L2FcbiAgICAgID5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { Component, HostListener } from '@angular/core';
|
|
2
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
3
|
-
import { BsModalRef } from 'ngx-bootstrap/modal';
|
|
4
|
-
import { ToastrService } from 'ngx-toastr';
|
|
5
|
-
import { Subject } from 'rxjs';
|
|
6
|
-
import { map } from 'rxjs/operators';
|
|
7
|
-
import { FixtureProfile } from '../../models/fixture-profile';
|
|
8
|
-
import { FixtureService } from '../../services/fixture.service';
|
|
9
|
-
import { ProjectService } from '../../services/project.service';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "ngx-bootstrap/modal";
|
|
12
|
-
import * as i2 from "@ngx-translate/core";
|
|
13
|
-
import * as i3 from "ngx-toastr";
|
|
14
|
-
import * as i4 from "../../services/fixture.service";
|
|
15
|
-
import * as i5 from "../../services/project.service";
|
|
16
|
-
import * as i6 from "ngx-dropzone-wrapper";
|
|
17
|
-
export class FixturePoolCreateFromFileComponent {
|
|
18
|
-
constructor(bsModalRef, translateService, toastrService, fixtureService, projectService) {
|
|
19
|
-
this.bsModalRef = bsModalRef;
|
|
20
|
-
this.translateService = translateService;
|
|
21
|
-
this.toastrService = toastrService;
|
|
22
|
-
this.fixtureService = fixtureService;
|
|
23
|
-
this.projectService = projectService;
|
|
24
|
-
this.onClose = new Subject();
|
|
25
|
-
}
|
|
26
|
-
ngOnInit() {
|
|
27
|
-
this.dropzoneConfig = {
|
|
28
|
-
url: 'dummy',
|
|
29
|
-
addRemoveLinks: false,
|
|
30
|
-
maxFilesize: 10 /* 10 MB */,
|
|
31
|
-
acceptedFiles: '.json',
|
|
32
|
-
timeout: 0,
|
|
33
|
-
accept: (file, done) => {
|
|
34
|
-
const reader = new FileReader();
|
|
35
|
-
reader.addEventListener('loadend', (event) => {
|
|
36
|
-
// validate the file
|
|
37
|
-
const text = event.target.result;
|
|
38
|
-
const json = JSON.parse(text);
|
|
39
|
-
if (json['$schema'].match('https://raw.githubusercontent.com/OpenLightingProject/open-fixture-library/schema-(.*)/schemas/fixture.json')) {
|
|
40
|
-
// create the metadata from the file. we don't have the corresponding
|
|
41
|
-
// manufacturer-file, therefore we just assume the attributes from the
|
|
42
|
-
// fixture-file.
|
|
43
|
-
const manufacturerShortName = json['manufacturerKey'];
|
|
44
|
-
const manufacturerName = manufacturerShortName;
|
|
45
|
-
const uuid = manufacturerShortName + '/' + json['fixtureKey'];
|
|
46
|
-
const profile = new FixtureProfile(json);
|
|
47
|
-
profile.manufacturerShortName = manufacturerShortName;
|
|
48
|
-
profile.manufacturerName = manufacturerName;
|
|
49
|
-
profile.uuid = uuid;
|
|
50
|
-
profile.createdFromFile = true;
|
|
51
|
-
// add the profile to the project, if not already added
|
|
52
|
-
const loadedProfile = this.fixtureService.getProfileByUuid(uuid);
|
|
53
|
-
if (!loadedProfile) {
|
|
54
|
-
this.projectService.project.fixtureProfiles.push(profile);
|
|
55
|
-
}
|
|
56
|
-
// add a new fixture from this profile
|
|
57
|
-
this.onClose.next(profile);
|
|
58
|
-
this.bsModalRef.hide();
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
// show an error toast
|
|
62
|
-
const msg = 'designer.fixture-pool.invalid-fixture-profile-file';
|
|
63
|
-
const title = 'designer.misc.toast-upload-error-title';
|
|
64
|
-
this.translateService.get([msg, title]).subscribe((result) => {
|
|
65
|
-
this.toastrService.error(result[msg], result[title], { timeOut: 0, extendedTimeOut: 0, enableHtml: true });
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
done('noerr');
|
|
69
|
-
});
|
|
70
|
-
reader.readAsText(file);
|
|
71
|
-
},
|
|
72
|
-
previewTemplate: `
|
|
73
|
-
<div style="display: none;">
|
|
74
|
-
<!-- No preview -->
|
|
75
|
-
</div>
|
|
76
|
-
`,
|
|
77
|
-
};
|
|
78
|
-
this.translateService
|
|
79
|
-
.get('designer.misc.dropzone-message')
|
|
80
|
-
.pipe(map((result) => {
|
|
81
|
-
this.uploadMessage = '<h3 class="mb-0"><i class="fa fa-cloud-upload"></i></h3>' + result;
|
|
82
|
-
}))
|
|
83
|
-
.subscribe();
|
|
84
|
-
}
|
|
85
|
-
onUploadError(args) {
|
|
86
|
-
if (args[1] === 'noerr') {
|
|
87
|
-
// this error is set in the accept event listener -> everything OK
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
const msg = 'designer.misc.toast-upload-error';
|
|
91
|
-
const title = 'designer.misc.toast-upload-error-title';
|
|
92
|
-
this.translateService.get([msg, title]).subscribe((result) => {
|
|
93
|
-
this.toastrService.error(result[msg] + args[1], result[title], { timeOut: 0, extendedTimeOut: 0, enableHtml: true });
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
ok() {
|
|
97
|
-
this.onClose.next(undefined);
|
|
98
|
-
this.bsModalRef.hide();
|
|
99
|
-
}
|
|
100
|
-
cancel() {
|
|
101
|
-
this.onClose.next(undefined);
|
|
102
|
-
this.bsModalRef.hide();
|
|
103
|
-
}
|
|
104
|
-
handleKeyboardEvent(event) {
|
|
105
|
-
this.ok();
|
|
106
|
-
}
|
|
107
|
-
static { this.ɵfac = function FixturePoolCreateFromFileComponent_Factory(t) { return new (t || FixturePoolCreateFromFileComponent)(i0.ɵɵdirectiveInject(i1.BsModalRef), i0.ɵɵdirectiveInject(i2.TranslateService), i0.ɵɵdirectiveInject(i3.ToastrService), i0.ɵɵdirectiveInject(i4.FixtureService), i0.ɵɵdirectiveInject(i5.ProjectService)); }; }
|
|
108
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FixturePoolCreateFromFileComponent, selectors: [["lib-fixture-pool-create-from-file"]], hostBindings: function FixturePoolCreateFromFileComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
109
|
-
i0.ɵɵlistener("keydown.enter", function FixturePoolCreateFromFileComponent_keydown_enter_HostBindingHandler($event) { return ctx.handleKeyboardEvent($event); }, false, i0.ɵɵresolveDocument);
|
|
110
|
-
} }, decls: 13, vars: 9, consts: [[1, "modal-header"], [1, "modal-title", "pull-left"], ["type", "button", "aria-label", "Close", 1, "close", "pull-right", 3, "click"], ["aria-hidden", "true"], [1, "modal-body"], [3, "error", "config", "useDropzoneClass", "message"], [1, "modal-footer"], ["type", "button", 1, "btn", "btn-primary", 3, "click"]], template: function FixturePoolCreateFromFileComponent_Template(rf, ctx) { if (rf & 1) {
|
|
111
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "h4", 1);
|
|
112
|
-
i0.ɵɵtext(2);
|
|
113
|
-
i0.ɵɵpipe(3, "translate");
|
|
114
|
-
i0.ɵɵelementEnd();
|
|
115
|
-
i0.ɵɵelementStart(4, "button", 2);
|
|
116
|
-
i0.ɵɵlistener("click", function FixturePoolCreateFromFileComponent_Template_button_click_4_listener() { return ctx.bsModalRef.hide(); });
|
|
117
|
-
i0.ɵɵelementStart(5, "span", 3);
|
|
118
|
-
i0.ɵɵtext(6, "\u00D7");
|
|
119
|
-
i0.ɵɵelementEnd()()();
|
|
120
|
-
i0.ɵɵelementStart(7, "div", 4)(8, "dropzone", 5);
|
|
121
|
-
i0.ɵɵlistener("error", function FixturePoolCreateFromFileComponent_Template_dropzone_error_8_listener($event) { return ctx.onUploadError($event); });
|
|
122
|
-
i0.ɵɵelementEnd();
|
|
123
|
-
i0.ɵɵelementStart(9, "div", 6)(10, "button", 7);
|
|
124
|
-
i0.ɵɵlistener("click", function FixturePoolCreateFromFileComponent_Template_button_click_10_listener() { return ctx.ok(); });
|
|
125
|
-
i0.ɵɵtext(11);
|
|
126
|
-
i0.ɵɵpipe(12, "translate");
|
|
127
|
-
i0.ɵɵelementEnd()()();
|
|
128
|
-
} if (rf & 2) {
|
|
129
|
-
i0.ɵɵadvance(2);
|
|
130
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 5, "designer.fixture-pool.create-fixture-from-profile-file-dialog-title"));
|
|
131
|
-
i0.ɵɵadvance(6);
|
|
132
|
-
i0.ɵɵproperty("config", ctx.dropzoneConfig)("useDropzoneClass", "false")("message", ctx.uploadMessage);
|
|
133
|
-
i0.ɵɵadvance(3);
|
|
134
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 7, "designer.misc.ok"));
|
|
135
|
-
} }, dependencies: [i6.DropzoneComponent, i2.TranslatePipe] }); }
|
|
136
|
-
}
|
|
137
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FixturePoolCreateFromFileComponent, [{
|
|
138
|
-
type: Component,
|
|
139
|
-
args: [{ selector: 'lib-fixture-pool-create-from-file', template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{ 'designer.fixture-pool.create-fixture-from-profile-file-dialog-title' | translate }}</h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">×</span>\n </button>\n</div>\n<div class=\"modal-body\">\n <!-- Dropzone -->\n <dropzone [config]=\"dropzoneConfig\" [useDropzoneClass]=\"'false'\" [message]=\"uploadMessage\" (error)=\"onUploadError($event)\"></dropzone>\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"ok()\">{{ 'designer.misc.ok' | translate }}</button>\n </div>\n</div>\n" }]
|
|
140
|
-
}], () => [{ type: i1.BsModalRef }, { type: i2.TranslateService }, { type: i3.ToastrService }, { type: i4.FixtureService }, { type: i5.ProjectService }], { handleKeyboardEvent: [{
|
|
141
|
-
type: HostListener,
|
|
142
|
-
args: ['document:keydown.enter', ['$event']]
|
|
143
|
-
}] }); })();
|
|
144
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FixturePoolCreateFromFileComponent, { className: "FixturePoolCreateFromFileComponent" }); })();
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1wb29sLWNyZWF0ZS1mcm9tLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9maXh0dXJlLXBvb2wvZml4dHVyZS1wb29sLWNyZWF0ZS1mcm9tLWZpbGUvZml4dHVyZS1wb29sLWNyZWF0ZS1mcm9tLWZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9maXh0dXJlLXBvb2wvZml4dHVyZS1wb29sLWNyZWF0ZS1mcm9tLWZpbGUvZml4dHVyZS1wb29sLWNyZWF0ZS1mcm9tLWZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7O0FBT2hFLE1BQU0sT0FBTyxrQ0FBa0M7SUFLN0MsWUFDUyxVQUFzQixFQUNyQixnQkFBa0MsRUFDbEMsYUFBNEIsRUFDNUIsY0FBOEIsRUFDOUIsY0FBOEI7UUFKL0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNy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RUQsTUFBTTtRQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUdELG1CQUFtQixDQUFDLEtBQVU7UUFDNUIsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ1osQ0FBQzttR0E3R1Usa0NBQWtDO29FQUFsQyxrQ0FBa0M7WUFBbEMsNkhBQUEsK0JBQTJCLGlDQUFPOztZQ2Y3QyxBQURGLDhCQUEwQixZQUNVO1lBQUEsWUFBdUY7O1lBQUEsaUJBQUs7WUFDOUgsaUNBQThGO1lBQTVCLCtHQUFTLHFCQUFpQixJQUFDO1lBQzNGLCtCQUF5QjtZQUFBLHNCQUFPO1lBRXBDLEFBREUsQUFEa0MsaUJBQU8sRUFDaEMsRUFDTDtZQUdKLEFBRkYsOEJBQXdCLGtCQUVxRztZQUFoQyx1SEFBUyx5QkFBcUIsSUFBQztZQUFDLGlCQUFXO1lBRXBJLEFBREYsOEJBQTBCLGlCQUNxQztZQUFmLGdIQUFTLFFBQUksSUFBQztZQUFDLGFBQW9DOztZQUVyRyxBQURFLEFBRG1HLGlCQUFTLEVBQ3RHLEVBQ0Y7O1lBWDhCLGVBQXVGO1lBQXZGLGlIQUF1RjtZQU8vRyxlQUF5QjtZQUE4QixBQUE3QixBQUExQiwyQ0FBeUIsNkJBQTZCLDhCQUEwQjtZQUUzQixlQUFvQztZQUFwQywrREFBb0M7OztpRkRNeEYsa0NBQWtDO2NBTDlDLFNBQVM7MkJBQ0UsbUNBQW1DO2dLQStHN0MsbUJBQW1CO2tCQURsQixZQUFZO21CQUFDLHdCQUF3QixFQUFFLENBQUMsUUFBUSxDQUFDOztrRkExR3ZDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJzTW9kYWxSZWYgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7IERyb3B6b25lQ29uZmlnSW50ZXJmYWNlIH0gZnJvbSAnbmd4LWRyb3B6b25lLXdyYXBwZXInO1xuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRml4dHVyZVByb2ZpbGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZml4dHVyZS1wcm9maWxlJztcbmltcG9ydCB7IEZpeHR1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZml4dHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2plY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvamVjdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWZpeHR1cmUtcG9vbC1jcmVhdGUtZnJvbS1maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpeHR1cmUtcG9vbC1jcmVhdGUtZnJvbS1maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZml4dHVyZS1wb29sLWNyZWF0ZS1mcm9tLWZpbGUuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaXh0dXJlUG9vbENyZWF0ZUZyb21GaWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGRyb3B6b25lQ29uZmlnOiBEcm9wem9uZUNvbmZpZ0ludGVyZmFjZTtcbiAgcHVibGljIHVwbG9hZE1lc3NhZ2U6IHN0cmluZztcbiAgcHVibGljIG9uQ2xvc2U6IFN1YmplY3Q8Rml4dHVyZVByb2ZpbGU+ID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgYnNNb2RhbFJlZjogQnNNb2RhbFJlZixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b2FzdHJTZXJ2aWNlOiBUb2FzdHJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZml4dHVyZVNlcnZpY2U6IEZpeHR1cmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJvamVjdFNlcnZpY2U6IFByb2plY3RTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRyb3B6b25lQ29uZmlnID0ge1xuICAgICAgdXJsOiAnZHVtbXknLFxuICAgICAgYWRkUmVtb3ZlTGlua3M6IGZhbHNlLFxuICAgICAgbWF4RmlsZXNpemU6IDEwIC8qIDEwIE1CICovLFxuICAgICAgYWNjZXB0ZWRGaWxlczogJy5qc29uJyxcbiAgICAgIHRpbWVvdXQ6IDAsXG4gICAgICBhY2NlcHQ6IChmaWxlOiBhbnksIGRvbmU6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignbG9hZGVuZCcsIChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgLy8gdmFsaWRhdGUgdGhlIGZpbGVcbiAgICAgICAgICBjb25zdCB0ZXh0ID0gZXZlbnQudGFyZ2V0LnJlc3VsdDtcbiAgICAgICAgICBjb25zdCBqc29uID0gSlNPTi5wYXJzZSh0ZXh0KTtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBqc29uWyckc2NoZW1hJ10ubWF0Y2goXG4gICAgICAgICAgICAgICdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vT3BlbkxpZ2h0aW5nUHJvamVjdC9vcGVuLWZpeHR1cmUtbGlicmFyeS9zY2hlbWEtKC4qKS9zY2hlbWFzL2ZpeHR1cmUuanNvbidcbiAgICAgICAgICAgIClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIGNyZWF0ZSB0aGUgbWV0YWRhdGEgZnJvbSB0aGUgZmlsZS4gd2UgZG9uJ3QgaGF2ZSB0aGUgY29ycmVzcG9uZGluZ1xuICAgICAgICAgICAgLy8gbWFudWZhY3R1cmVyLWZpbGUsIHRoZXJlZm9yZSB3ZSBqdXN0IGFzc3VtZSB0aGUgYXR0cmlidXRlcyBmcm9tIHRoZVxuICAgICAgICAgICAgLy8gZml4dHVyZS1maWxlLlxuICAgICAgICAgICAgY29uc3QgbWFudWZhY3R1cmVyU2hvcnROYW1lID0ganNvblsnbWFudWZhY3R1cmVyS2V5J107XG4gICAgICAgICAgICBjb25zdCBtYW51ZmFjdHVyZXJOYW1lID0gbWFudWZhY3R1cmVyU2hvcnROYW1lO1xuICAgICAgICAgICAgY29uc3QgdXVpZCA9IG1hbnVmYWN0dXJlclNob3J0TmFtZSArICcvJyArIGpzb25bJ2ZpeHR1cmVLZXknXTtcbiAgICAgICAgICAgIGNvbnN0IHByb2ZpbGUgPSBuZXcgRml4dHVyZVByb2ZpbGUoanNvbik7XG5cbiAgICAgICAgICAgIHByb2ZpbGUubWFudWZhY3R1cmVyU2hvcnROYW1lID0gbWFudWZhY3R1cmVyU2hvcnROYW1lO1xuICAgICAgICAgICAgcHJvZmlsZS5tYW51ZmFjdHVyZXJOYW1lID0gbWFudWZhY3R1cmVyTmFtZTtcbiAgICAgICAgICAgIHByb2ZpbGUudXVpZCA9IHV1aWQ7XG4gICAgICAgICAgICBwcm9maWxlLmNyZWF0ZWRGcm9tRmlsZSA9IHRydWU7XG5cbiAgICAgICAgICAgIC8vIGFkZCB0aGUgcHJvZmlsZSB0byB0aGUgcHJvamVjdCwgaWYgbm90IGFscmVhZHkgYWRkZWRcbiAgICAgICAgICAgIGNvbnN0IGxvYWRlZFByb2ZpbGUgPSB0aGlzLmZpeHR1cmVTZXJ2aWNlLmdldFByb2ZpbGVCeVV1aWQodXVpZCk7XG4gICAgICAgICAgICBpZiAoIWxvYWRlZFByb2ZpbGUpIHtcbiAgICAgICAgICAgICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LmZpeHR1cmVQcm9maWxlcy5wdXNoKHByb2ZpbGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBhZGQgYSBuZXcgZml4dHVyZSBmcm9tIHRoaXMgcHJvZmlsZVxuICAgICAgICAgICAgdGhpcy5vbkNsb3NlLm5leHQocHJvZmlsZSk7XG4gICAgICAgICAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBzaG93IGFuIGVycm9yIHRvYXN0XG4gICAgICAgICAgICBjb25zdCBtc2cgPSAnZGVzaWduZXIuZml4dHVyZS1wb29sLmludmFsaWQtZml4dHVyZS1wcm9maWxlLWZpbGUnO1xuICAgICAgICAgICAgY29uc3QgdGl0bGUgPSAnZGVzaWduZXIubWlzYy50b2FzdC11cGxvYWQtZXJyb3ItdGl0bGUnO1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldChbbXNnLCB0aXRsZV0pLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5lcnJvcihyZXN1bHRbbXNnXSwgcmVzdWx0W3RpdGxlXSwgeyB0aW1lT3V0OiAwLCBleHRlbmRlZFRpbWVPdXQ6IDAsIGVuYWJsZUh0bWw6IHRydWUgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkb25lKCdub2VycicpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSk7XG4gICAgICB9LFxuICAgICAgcHJldmlld1RlbXBsYXRlOiBgXG4gICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5cbiAgICAgICAgPCEtLSBObyBwcmV2aWV3IC0tPlxuICAgICAgPC9kaXY+XG4gICAgICBgLFxuICAgIH07XG5cbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VcbiAgICAgIC5nZXQoJ2Rlc2lnbmVyLm1pc2MuZHJvcHpvbmUtbWVzc2FnZScpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXN1bHQpID0+IHtcbiAgICAgICAgICB0aGlzLnVwbG9hZE1lc3NhZ2UgPSAnPGgzIGNsYXNzPVwibWItMFwiPjxpIGNsYXNzPVwiZmEgZmEtY2xvdWQtdXBsb2FkXCI+PC9pPjwvaDM+JyArIHJlc3VsdDtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblVwbG9hZEVycm9yKGFyZ3M6IGFueSkge1xuICAgIGlmIChhcmdzWzFdID09PSAnbm9lcnInKSB7XG4gICAgICAvLyB0aGlzIGVycm9yIGlzIHNldCBpbiB0aGUgYWNjZXB0IGV2ZW50IGxpc3RlbmVyIC0+IGV2ZXJ5dGhpbmcgT0tcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtc2cgPSAnZGVzaWduZXIubWlzYy50b2FzdC11cGxvYWQtZXJyb3InO1xuICAgIGNvbnN0IHRpdGxlID0gJ2Rlc2lnbmVyLm1pc2MudG9hc3QtdXBsb2FkLWVycm9yLXRpdGxlJztcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KFttc2csIHRpdGxlXSkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgIHRoaXMudG9hc3RyU2VydmljZS5lcnJvcihyZXN1bHRbbXNnXSArIGFyZ3NbMV0sIHJlc3VsdFt0aXRsZV0sIHsgdGltZU91dDogMCwgZXh0ZW5kZWRUaW1lT3V0OiAwLCBlbmFibGVIdG1sOiB0cnVlIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgb2soKSB7XG4gICAgdGhpcy5vbkNsb3NlLm5leHQodW5kZWZpbmVkKTtcbiAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMub25DbG9zZS5uZXh0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5ic01vZGFsUmVmLmhpZGUoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZW50ZXInLCBbJyRldmVudCddKVxuICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9rKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cbiAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+e3sgJ2Rlc2lnbmVyLmZpeHR1cmUtcG9vbC5jcmVhdGUtZml4dHVyZS1mcm9tLXByb2ZpbGUtZmlsZS1kaWFsb2ctdGl0bGUnIHwgdHJhbnNsYXRlIH19PC9oND5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZSBwdWxsLXJpZ2h0XCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cImJzTW9kYWxSZWYuaGlkZSgpXCI+XG4gICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnRpbWVzOzwvc3Bhbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gIDwhLS0gRHJvcHpvbmUgLS0+XG4gIDxkcm9wem9uZSBbY29uZmlnXT1cImRyb3B6b25lQ29uZmlnXCIgW3VzZURyb3B6b25lQ2xhc3NdPVwiJ2ZhbHNlJ1wiIFttZXNzYWdlXT1cInVwbG9hZE1lc3NhZ2VcIiAoZXJyb3IpPVwib25VcGxvYWRFcnJvcigkZXZlbnQpXCI+PC9kcm9wem9uZT5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cIm9rKClcIj57eyAnZGVzaWduZXIubWlzYy5vaycgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|