phoenix-ui-components 2.11.4 → 2.12.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/dist/components/embed-menu/embed-menu.component.d.ts +1 -1
- package/dist/components/embed-menu/experiment-link/experiment-link.component.d.ts +1 -1
- package/dist/components/file-explorer/file-explorer.component.d.ts +1 -1
- package/dist/components/loader/loader.component.d.ts +1 -1
- package/dist/components/nav/nav.component.d.ts +1 -1
- package/dist/components/phoenix-menu/config/config-slider/config-slider.component.d.ts +1 -1
- package/dist/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.d.ts +1 -1
- package/dist/components/phoenix-menu/phoenix-menu.component.d.ts +1 -1
- package/dist/components/ring-loader/ring-loader.component.d.ts +1 -1
- package/dist/components/ui-menu/animate-camera/animate-camera.component.d.ts +1 -1
- package/dist/components/ui-menu/animate-event/animate-event.component.d.ts +1 -1
- package/dist/components/ui-menu/ar-toggle/ar-toggle.component.d.ts +1 -1
- package/dist/components/ui-menu/auto-rotate/auto-rotate.component.d.ts +1 -1
- package/dist/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.d.ts +1 -1
- package/dist/components/ui-menu/collections-info/collections-info.component.d.ts +1 -1
- package/dist/components/ui-menu/cycle-events/cycle-events.component.d.ts +1 -1
- package/dist/components/ui-menu/dark-theme/dark-theme.component.d.ts +1 -1
- package/dist/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.d.ts +3 -2
- package/dist/components/ui-menu/event-data-explorer/event-data-explorer.component.d.ts +1 -1
- package/dist/components/ui-menu/event-selector/event-selector.component.d.ts +1 -1
- package/dist/components/ui-menu/experiment-info/experiment-info.component.d.ts +1 -1
- package/dist/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.d.ts +1 -1
- package/dist/components/ui-menu/info-panel/info-panel.component.d.ts +1 -1
- package/dist/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.d.ts +2 -1
- package/dist/components/ui-menu/io-options/io-options.component.d.ts +1 -1
- package/dist/components/ui-menu/main-view-toggle/main-view-toggle.component.d.ts +1 -1
- package/dist/components/ui-menu/menu-toggle/menu-toggle.component.d.ts +1 -1
- package/dist/components/ui-menu/object-clipping/object-clipping.component.d.ts +3 -4
- package/dist/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.d.ts +1 -1
- package/dist/components/ui-menu/object-selection/object-selection.component.d.ts +1 -1
- package/dist/components/ui-menu/overlay/overlay.component.d.ts +1 -1
- package/dist/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.d.ts +1 -1
- package/dist/components/ui-menu/overlay-view/overlay-view.component.d.ts +1 -1
- package/dist/components/ui-menu/performance-toggle/performance-toggle.component.d.ts +1 -1
- package/dist/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.d.ts +1 -1
- package/dist/components/ui-menu/share-link/share-link.component.d.ts +1 -1
- package/dist/components/ui-menu/ss-mode/ss-mode.component.d.ts +1 -1
- package/dist/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.d.ts +1 -1
- package/dist/components/ui-menu/tree-menu/tree-menu.component.d.ts +1 -1
- package/dist/components/ui-menu/ui-menu-wrapper/ui-menu-wrapper.component.d.ts +1 -1
- package/dist/components/ui-menu/ui-menu.component.d.ts +1 -1
- package/dist/components/ui-menu/view-options/view-options.component.d.ts +1 -1
- package/dist/components/ui-menu/vr-toggle/vr-toggle.component.d.ts +1 -1
- package/dist/components/ui-menu/zoom-controls/zoom-controls.component.d.ts +1 -1
- package/dist/esm2020/components/embed-menu/embed-menu.component.mjs +11 -7
- package/dist/esm2020/components/embed-menu/experiment-link/experiment-link.component.mjs +11 -7
- package/dist/esm2020/components/file-explorer/file-explorer.component.mjs +59 -11
- package/dist/esm2020/components/loader/loader.component.mjs +53 -11
- package/dist/esm2020/components/nav/nav.component.mjs +11 -7
- package/dist/esm2020/components/phoenix-menu/config/config-slider/config-slider.component.mjs +42 -22
- package/dist/esm2020/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.mjs +281 -12
- package/dist/esm2020/components/phoenix-menu/phoenix-menu.component.mjs +16 -9
- package/dist/esm2020/components/phoenix-ui.module.mjs +68 -67
- package/dist/esm2020/components/ring-loader/ring-loader.component.mjs +11 -7
- package/dist/esm2020/components/ui-menu/animate-camera/animate-camera.component.mjs +34 -9
- package/dist/esm2020/components/ui-menu/animate-event/animate-event.component.mjs +13 -7
- package/dist/esm2020/components/ui-menu/ar-toggle/ar-toggle.component.mjs +41 -7
- package/dist/esm2020/components/ui-menu/auto-rotate/auto-rotate.component.mjs +13 -7
- package/dist/esm2020/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.mjs +188 -9
- package/dist/esm2020/components/ui-menu/collections-info/collections-info.component.mjs +13 -7
- package/dist/esm2020/components/ui-menu/cycle-events/cycle-events.component.mjs +15 -9
- package/dist/esm2020/components/ui-menu/dark-theme/dark-theme.component.mjs +13 -7
- package/dist/esm2020/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.mjs +83 -13
- package/dist/esm2020/components/ui-menu/event-data-explorer/event-data-explorer.component.mjs +15 -9
- package/dist/esm2020/components/ui-menu/event-selector/event-selector.component.mjs +32 -7
- package/dist/esm2020/components/ui-menu/experiment-info/experiment-info.component.mjs +81 -13
- package/dist/esm2020/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.mjs +38 -9
- package/dist/esm2020/components/ui-menu/info-panel/info-panel.component.mjs +13 -7
- package/dist/esm2020/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.mjs +122 -10
- package/dist/esm2020/components/ui-menu/io-options/io-options.component.mjs +15 -9
- package/dist/esm2020/components/ui-menu/main-view-toggle/main-view-toggle.component.mjs +13 -7
- package/dist/esm2020/components/ui-menu/menu-toggle/menu-toggle.component.mjs +29 -15
- package/dist/esm2020/components/ui-menu/object-clipping/object-clipping.component.mjs +42 -11
- package/dist/esm2020/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.mjs +40 -9
- package/dist/esm2020/components/ui-menu/object-selection/object-selection.component.mjs +13 -7
- package/dist/esm2020/components/ui-menu/overlay/overlay.component.mjs +102 -23
- package/dist/esm2020/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.mjs +38 -12
- package/dist/esm2020/components/ui-menu/overlay-view/overlay-view.component.mjs +13 -7
- package/dist/esm2020/components/ui-menu/performance-toggle/performance-toggle.component.mjs +13 -7
- package/dist/esm2020/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.mjs +94 -10
- package/dist/esm2020/components/ui-menu/share-link/share-link.component.mjs +13 -7
- package/dist/esm2020/components/ui-menu/ss-mode/ss-mode.component.mjs +13 -7
- package/dist/esm2020/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.mjs +69 -12
- package/dist/esm2020/components/ui-menu/tree-menu/tree-menu.component.mjs +14 -7
- package/dist/esm2020/components/ui-menu/ui-menu-wrapper/ui-menu-wrapper.component.mjs +26 -7
- package/dist/esm2020/components/ui-menu/ui-menu.component.mjs +23 -11
- package/dist/esm2020/components/ui-menu/view-options/view-options.component.mjs +54 -7
- package/dist/esm2020/components/ui-menu/vr-toggle/vr-toggle.component.mjs +13 -7
- package/dist/esm2020/components/ui-menu/zoom-controls/zoom-controls.component.mjs +19 -7
- package/dist/esm2020/services/error-message-service.mjs +9 -9
- package/dist/esm2020/services/event-display.service.mjs +9 -9
- package/dist/esm2020/services/extras/attribute.pipe.mjs +9 -9
- package/dist/esm2020/services/extras/event-data-import.mjs +2 -1
- package/dist/esm2020/services/global-error-handler.mjs +6 -6
- package/dist/fesm2015/phoenix-ui-components.mjs +2217 -336
- package/dist/fesm2015/phoenix-ui-components.mjs.map +1 -1
- package/dist/fesm2020/phoenix-ui-components.mjs +1918 -463
- package/dist/fesm2020/phoenix-ui-components.mjs.map +1 -1
- package/dist/services/extras/event-data-import.d.ts +1 -0
- package/package.json +7 -7
|
@@ -14,7 +14,7 @@ import * as i4 from '@angular/material/checkbox';
|
|
|
14
14
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
15
15
|
import * as i5 from '@rp3e11/ngx-slider';
|
|
16
16
|
import { NgxSliderModule } from '@rp3e11/ngx-slider';
|
|
17
|
-
import { EventDisplay, SceneManager, PrettySymbols, JiveXMLLoader, CMSLoader, readZipFile, VRManager, XRSessionType, ARManager, phoenixURLOptions, ActiveVariable } from 'phoenix-event-display';
|
|
17
|
+
import { EventDisplay, SceneManager, PrettySymbols, Edm4hepJsonLoader, JiveXMLLoader, CMSLoader, readZipFile, VRManager, XRSessionType, ARManager, phoenixURLOptions, ActiveVariable } from 'phoenix-event-display';
|
|
18
18
|
import * as i3$1 from '@angular/material/menu';
|
|
19
19
|
import { MatMenuModule } from '@angular/material/menu';
|
|
20
20
|
import * as i2$3 from '@angular/material/tooltip';
|
|
@@ -35,6 +35,7 @@ import QRCode from 'qrcode';
|
|
|
35
35
|
import * as i2$5 from '@angular/cdk/tree';
|
|
36
36
|
import { NestedTreeControl, CdkTreeModule } from '@angular/cdk/tree';
|
|
37
37
|
import { MatTreeNestedDataSource } from '@angular/material/tree';
|
|
38
|
+
import JSZip from 'jszip';
|
|
38
39
|
import * as i5$1 from '@angular/material/tabs';
|
|
39
40
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
40
41
|
|
|
@@ -42,13 +43,33 @@ class NavComponent {
|
|
|
42
43
|
constructor() { }
|
|
43
44
|
ngOnInit() { }
|
|
44
45
|
}
|
|
45
|
-
NavComponent.ɵfac =
|
|
46
|
-
NavComponent.ɵcmp = i0.ɵɵ
|
|
47
|
-
|
|
46
|
+
NavComponent.ɵfac = function NavComponent_Factory(t) { return new (t || NavComponent)(); };
|
|
47
|
+
NavComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NavComponent, selectors: [["app-nav"]], decls: 2, vars: 0, consts: [["id", "mainLogo", "routerLink", "/", 1, "main-logo", "fixed-top", "p-2", "mx-auto", "mt-2"], ["src", "assets/images/logo-text.svg"]], template: function NavComponent_Template(rf, ctx) {
|
|
48
|
+
if (rf & 1) {
|
|
49
|
+
i0.ɵɵelementStart(0, "a", 0);
|
|
50
|
+
i0.ɵɵelement(1, "img", 1);
|
|
51
|
+
i0.ɵɵelementEnd();
|
|
52
|
+
}
|
|
53
|
+
}, dependencies: [i1.RouterLink], styles: [".main-logo[_ngcontent-%COMP%]{width:140px;z-index:9999}.main-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{transition:all .5s}.main-logo[_ngcontent-%COMP%]:hover img[_ngcontent-%COMP%]{filter:drop-shadow(0px 0px 10px var(--phoenix-text-color));transition:all .5s}"] });
|
|
54
|
+
(function () {
|
|
55
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NavComponent, [{
|
|
48
56
|
type: Component,
|
|
49
57
|
args: [{ selector: 'app-nav', template: "<a id=\"mainLogo\" class=\"main-logo fixed-top p-2 mx-auto mt-2\" routerLink=\"/\">\n <img src=\"assets/images/logo-text.svg\" />\n</a>\n", styles: [".main-logo{width:140px;z-index:9999}.main-logo img{transition:all .5s}.main-logo:hover img{filter:drop-shadow(0px 0px 10px var(--phoenix-text-color));transition:all .5s}\n"] }]
|
|
50
|
-
}],
|
|
58
|
+
}], function () { return []; }, null);
|
|
59
|
+
})();
|
|
51
60
|
|
|
61
|
+
function ConfigSliderComponent_input_3_Template(rf, ctx) {
|
|
62
|
+
if (rf & 1) {
|
|
63
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
64
|
+
i0.ɵɵelementStart(0, "input", 4);
|
|
65
|
+
i0.ɵɵlistener("input", function ConfigSliderComponent_input_3_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onValueChange($event.target.value)); });
|
|
66
|
+
i0.ɵɵelementEnd();
|
|
67
|
+
}
|
|
68
|
+
if (rf & 2) {
|
|
69
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
70
|
+
i0.ɵɵproperty("value", ctx_r0.value);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
52
73
|
class ConfigSliderComponent {
|
|
53
74
|
constructor() {
|
|
54
75
|
this.value = 0;
|
|
@@ -59,17 +80,32 @@ class ConfigSliderComponent {
|
|
|
59
80
|
this.onChange = new EventEmitter();
|
|
60
81
|
}
|
|
61
82
|
onValueChange(value) {
|
|
62
|
-
|
|
63
|
-
this.onChange.emit(value);
|
|
64
|
-
}
|
|
83
|
+
value && this.onChange.emit(value);
|
|
65
84
|
}
|
|
66
85
|
}
|
|
67
|
-
ConfigSliderComponent.ɵfac =
|
|
68
|
-
ConfigSliderComponent.ɵcmp = i0.ɵɵ
|
|
69
|
-
|
|
86
|
+
ConfigSliderComponent.ɵfac = function ConfigSliderComponent_Factory(t) { return new (t || ConfigSliderComponent)(); };
|
|
87
|
+
ConfigSliderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConfigSliderComponent, selectors: [["app-config-slider"]], inputs: { value: "value", min: "min", max: "max", step: "step", allowCustomValue: "allowCustomValue" }, outputs: { onChange: "onChange" }, decls: 4, vars: 5, consts: [[1, "d-flex", "flex-row", "align-items-center"], ["thumbLabel", "", 1, "mx-2", 3, "min", "max", "step"], ["matSliderThumb", "", 3, "value", "valueChange"], ["class", "config-slider-input", "type", "number", 3, "value", "input", 4, "ngIf"], ["type", "number", 1, "config-slider-input", 3, "value", "input"]], template: function ConfigSliderComponent_Template(rf, ctx) {
|
|
88
|
+
if (rf & 1) {
|
|
89
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "mat-slider", 1)(2, "input", 2);
|
|
90
|
+
i0.ɵɵlistener("valueChange", function ConfigSliderComponent_Template_input_valueChange_2_listener($event) { return ctx.onValueChange($event); });
|
|
91
|
+
i0.ɵɵelementEnd()();
|
|
92
|
+
i0.ɵɵtemplate(3, ConfigSliderComponent_input_3_Template, 1, 1, "input", 3);
|
|
93
|
+
i0.ɵɵelementEnd();
|
|
94
|
+
}
|
|
95
|
+
if (rf & 2) {
|
|
96
|
+
i0.ɵɵadvance(1);
|
|
97
|
+
i0.ɵɵproperty("min", ctx.min)("max", ctx.max)("step", ctx.step);
|
|
98
|
+
i0.ɵɵadvance(1);
|
|
99
|
+
i0.ɵɵproperty("value", ctx.value);
|
|
100
|
+
i0.ɵɵadvance(1);
|
|
101
|
+
i0.ɵɵproperty("ngIf", ctx.allowCustomValue);
|
|
102
|
+
}
|
|
103
|
+
}, dependencies: [i2.NgIf, i2$1.MatSlider, i2$1.MatSliderThumb], styles: [".config-slider-input[_ngcontent-%COMP%]{background:transparent;color:var(--phoenix-text-color);border:none;border-bottom:1px solid var(--phoenix-text-color);width:25%;-moz-appearance:textfield}input[_ngcontent-%COMP%]::-webkit-outer-spin-button, input[_ngcontent-%COMP%]::-webkit-inner-spin-button{-webkit-appearance:none}"] });
|
|
104
|
+
(function () {
|
|
105
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfigSliderComponent, [{
|
|
70
106
|
type: Component,
|
|
71
|
-
args: [{ selector: 'app-config-slider', template: "<div class=\"d-flex flex-row align-items-center\">\n <mat-slider
|
|
72
|
-
}],
|
|
107
|
+
args: [{ selector: 'app-config-slider', template: "<div class=\"d-flex flex-row align-items-center\">\n <mat-slider class=\"mx-2\" [min]=\"min\" [max]=\"max\" [step]=\"step\" thumbLabel>\n <input\n matSliderThumb\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n />\n </mat-slider>\n <input\n *ngIf=\"allowCustomValue\"\n class=\"config-slider-input\"\n type=\"number\"\n [value]=\"value\"\n (input)=\"onValueChange($event.target.value)\"\n />\n</div>\n", styles: [".config-slider-input{background:transparent;color:var(--phoenix-text-color);border:none;border-bottom:1px solid var(--phoenix-text-color);width:25%;-moz-appearance:textfield}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}\n"] }]
|
|
108
|
+
}], null, { value: [{
|
|
73
109
|
type: Input
|
|
74
110
|
}], min: [{
|
|
75
111
|
type: Input
|
|
@@ -81,8 +117,311 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
|
|
|
81
117
|
type: Input
|
|
82
118
|
}], onChange: [{
|
|
83
119
|
type: Output
|
|
84
|
-
}] }
|
|
120
|
+
}] });
|
|
121
|
+
})();
|
|
85
122
|
|
|
123
|
+
const _c0$9 = ["phoenixMenuItem"];
|
|
124
|
+
function PhoenixMenuItemComponent_ng_container_3_ng_container_2_Template(rf, ctx) {
|
|
125
|
+
if (rf & 1) {
|
|
126
|
+
i0.ɵɵelementContainer(0);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function PhoenixMenuItemComponent_ng_container_3_Template(rf, ctx) {
|
|
130
|
+
if (rf & 1) {
|
|
131
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
132
|
+
i0.ɵɵelementContainerStart(0);
|
|
133
|
+
i0.ɵɵelementStart(1, "mat-slide-toggle", 9);
|
|
134
|
+
i0.ɵɵlistener("change", function PhoenixMenuItemComponent_ng_container_3_Template_mat_slide_toggle_change_1_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.currentNode.toggleSelfAndDescendants($event.checked)); });
|
|
135
|
+
i0.ɵɵtemplate(2, PhoenixMenuItemComponent_ng_container_3_ng_container_2_Template, 1, 0, "ng-container", 10);
|
|
136
|
+
i0.ɵɵelementEnd();
|
|
137
|
+
i0.ɵɵelementContainerEnd();
|
|
138
|
+
}
|
|
139
|
+
if (rf & 2) {
|
|
140
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
141
|
+
const _r2 = i0.ɵɵreference(5);
|
|
142
|
+
i0.ɵɵadvance(1);
|
|
143
|
+
i0.ɵɵproperty("checked", ctx_r1.currentNode.toggleState);
|
|
144
|
+
i0.ɵɵadvance(1);
|
|
145
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r2);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
function PhoenixMenuItemComponent_ng_template_4_span_1_Template(rf, ctx) {
|
|
149
|
+
if (rf & 1) {
|
|
150
|
+
i0.ɵɵelementStart(0, "span", 14);
|
|
151
|
+
i0.ɵɵnamespaceSVG();
|
|
152
|
+
i0.ɵɵelementStart(1, "svg");
|
|
153
|
+
i0.ɵɵelement(2, "use");
|
|
154
|
+
i0.ɵɵelementEnd()();
|
|
155
|
+
}
|
|
156
|
+
if (rf & 2) {
|
|
157
|
+
const ctx_r10 = i0.ɵɵnextContext(2);
|
|
158
|
+
i0.ɵɵadvance(2);
|
|
159
|
+
i0.ɵɵattributeInterpolate2("href", "assets/icons/", ctx_r10.currentNode.icon, ".svg#", ctx_r10.currentNode.icon, "");
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
function PhoenixMenuItemComponent_ng_template_4_Template(rf, ctx) {
|
|
163
|
+
if (rf & 1) {
|
|
164
|
+
i0.ɵɵelementStart(0, "span", 11);
|
|
165
|
+
i0.ɵɵtemplate(1, PhoenixMenuItemComponent_ng_template_4_span_1_Template, 3, 2, "span", 12);
|
|
166
|
+
i0.ɵɵelementStart(2, "span", 13);
|
|
167
|
+
i0.ɵɵtext(3);
|
|
168
|
+
i0.ɵɵelementEnd()();
|
|
169
|
+
}
|
|
170
|
+
if (rf & 2) {
|
|
171
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
172
|
+
i0.ɵɵadvance(1);
|
|
173
|
+
i0.ɵɵproperty("ngIf", ctx_r3.currentNode.icon);
|
|
174
|
+
i0.ɵɵadvance(1);
|
|
175
|
+
i0.ɵɵproperty("title", ctx_r3.currentNode.name);
|
|
176
|
+
i0.ɵɵadvance(1);
|
|
177
|
+
i0.ɵɵtextInterpolate(ctx_r3.currentNode.name);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
function PhoenixMenuItemComponent_div_7_div_4_Template(rf, ctx) {
|
|
181
|
+
if (rf & 1) {
|
|
182
|
+
const _r14 = i0.ɵɵgetCurrentView();
|
|
183
|
+
i0.ɵɵnamespaceSVG();
|
|
184
|
+
i0.ɵɵnamespaceHTML();
|
|
185
|
+
i0.ɵɵelementStart(0, "div", 20);
|
|
186
|
+
i0.ɵɵlistener("click", function PhoenixMenuItemComponent_div_7_div_4_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r13.currentNode.configActive = false); });
|
|
187
|
+
i0.ɵɵelementEnd();
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
const _c1$4 = function (a0) { return { "font-weight-bold w-100": a0 }; };
|
|
191
|
+
function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_span_1_Template(rf, ctx) {
|
|
192
|
+
if (rf & 1) {
|
|
193
|
+
i0.ɵɵelementStart(0, "span", 26);
|
|
194
|
+
i0.ɵɵtext(1);
|
|
195
|
+
i0.ɵɵelementEnd();
|
|
196
|
+
}
|
|
197
|
+
if (rf & 2) {
|
|
198
|
+
const config_r15 = i0.ɵɵnextContext(2).$implicit;
|
|
199
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c1$4, config_r15.type === "label"));
|
|
200
|
+
i0.ɵɵadvance(1);
|
|
201
|
+
i0.ɵɵtextInterpolate1(" ", config_r15.label, " ");
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_mat_checkbox_1_Template(rf, ctx) {
|
|
205
|
+
if (rf & 1) {
|
|
206
|
+
const _r28 = i0.ɵɵgetCurrentView();
|
|
207
|
+
i0.ɵɵelementStart(0, "mat-checkbox", 9);
|
|
208
|
+
i0.ɵɵlistener("change", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_mat_checkbox_1_Template_mat_checkbox_change_0_listener($event) { i0.ɵɵrestoreView(_r28); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.onChange($event.checked); return i0.ɵɵresetView(config_r15.isChecked = $event.checked); });
|
|
209
|
+
i0.ɵɵelementEnd();
|
|
210
|
+
}
|
|
211
|
+
if (rf & 2) {
|
|
212
|
+
const config_r15 = i0.ɵɵnextContext(3).$implicit;
|
|
213
|
+
i0.ɵɵproperty("checked", config_r15.isChecked);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_app_config_slider_2_Template(rf, ctx) {
|
|
217
|
+
if (rf & 1) {
|
|
218
|
+
const _r32 = i0.ɵɵgetCurrentView();
|
|
219
|
+
i0.ɵɵelementStart(0, "app-config-slider", 34);
|
|
220
|
+
i0.ɵɵlistener("onChange", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_app_config_slider_2_Template_app_config_slider_onChange_0_listener($event) { i0.ɵɵrestoreView(_r32); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.onChange($event); return i0.ɵɵresetView(config_r15.value = $event); });
|
|
221
|
+
i0.ɵɵelementEnd();
|
|
222
|
+
}
|
|
223
|
+
if (rf & 2) {
|
|
224
|
+
const config_r15 = i0.ɵɵnextContext(3).$implicit;
|
|
225
|
+
i0.ɵɵproperty("value", config_r15.value)("min", config_r15.min)("max", config_r15.max)("step", config_r15.step)("allowCustomValue", config_r15.allowCustomValue);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_button_3_Template(rf, ctx) {
|
|
229
|
+
if (rf & 1) {
|
|
230
|
+
const _r36 = i0.ɵɵgetCurrentView();
|
|
231
|
+
i0.ɵɵelementStart(0, "button", 35);
|
|
232
|
+
i0.ɵɵlistener("click", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r36); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.onClick()); });
|
|
233
|
+
i0.ɵɵtext(1);
|
|
234
|
+
i0.ɵɵelementEnd();
|
|
235
|
+
}
|
|
236
|
+
if (rf & 2) {
|
|
237
|
+
const config_r15 = i0.ɵɵnextContext(3).$implicit;
|
|
238
|
+
i0.ɵɵadvance(1);
|
|
239
|
+
i0.ɵɵtextInterpolate1(" ", config_r15.label, " ");
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_input_4_Template(rf, ctx) {
|
|
243
|
+
if (rf & 1) {
|
|
244
|
+
const _r40 = i0.ɵɵgetCurrentView();
|
|
245
|
+
i0.ɵɵelementStart(0, "input", 36);
|
|
246
|
+
i0.ɵɵlistener("input", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_input_4_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r40); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.onChange($event.target.value); return i0.ɵɵresetView(config_r15.color = $event.target.value); });
|
|
247
|
+
i0.ɵɵelementEnd();
|
|
248
|
+
}
|
|
249
|
+
if (rf & 2) {
|
|
250
|
+
const config_r15 = i0.ɵɵnextContext(3).$implicit;
|
|
251
|
+
i0.ɵɵproperty("value", config_r15.color);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
const _c2$1 = function (a0, a1, a2) { return { floor: a0, ceil: a1, step: a2, animate: false }; };
|
|
255
|
+
function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template(rf, ctx) {
|
|
256
|
+
if (rf & 1) {
|
|
257
|
+
const _r44 = i0.ɵɵgetCurrentView();
|
|
258
|
+
i0.ɵɵelementStart(0, "div", 37)(1, "div", 38)(2, "input", 39);
|
|
259
|
+
i0.ɵɵlistener("input", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template_input_input_2_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.value = $event.target.value; return i0.ɵɵresetView(config_r15.onChange(config_r15)); });
|
|
260
|
+
i0.ɵɵelementEnd();
|
|
261
|
+
i0.ɵɵelementStart(3, "input", 40);
|
|
262
|
+
i0.ɵɵlistener("input", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template_input_input_3_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.highValue = $event.target.value; return i0.ɵɵresetView(config_r15.onChange(config_r15)); });
|
|
263
|
+
i0.ɵɵelementEnd()();
|
|
264
|
+
i0.ɵɵelementStart(4, "ngx-slider", 41);
|
|
265
|
+
i0.ɵɵlistener("valueChange", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template_ngx_slider_valueChange_4_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.value = $event); })("highValueChange", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template_ngx_slider_highValueChange_4_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.highValue = $event); })("userChange", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template_ngx_slider_userChange_4_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.onChange($event)); });
|
|
266
|
+
i0.ɵɵelementEnd()();
|
|
267
|
+
}
|
|
268
|
+
if (rf & 2) {
|
|
269
|
+
const config_r15 = i0.ɵɵnextContext(3).$implicit;
|
|
270
|
+
i0.ɵɵadvance(2);
|
|
271
|
+
i0.ɵɵproperty("value", config_r15.value);
|
|
272
|
+
i0.ɵɵadvance(1);
|
|
273
|
+
i0.ɵɵproperty("value", config_r15.highValue);
|
|
274
|
+
i0.ɵɵadvance(1);
|
|
275
|
+
i0.ɵɵproperty("value", config_r15.value)("highValue", config_r15.highValue)("options", i0.ɵɵpureFunction3(5, _c2$1, config_r15.min, config_r15.max, config_r15.step));
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_option_1_Template(rf, ctx) {
|
|
279
|
+
if (rf & 1) {
|
|
280
|
+
i0.ɵɵelementStart(0, "option", 44);
|
|
281
|
+
i0.ɵɵtext(1);
|
|
282
|
+
i0.ɵɵelementEnd();
|
|
283
|
+
}
|
|
284
|
+
if (rf & 2) {
|
|
285
|
+
const singleOption_r55 = ctx.$implicit;
|
|
286
|
+
i0.ɵɵproperty("value", singleOption_r55);
|
|
287
|
+
i0.ɵɵadvance(1);
|
|
288
|
+
i0.ɵɵtextInterpolate1(" ", singleOption_r55, " ");
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_Template(rf, ctx) {
|
|
292
|
+
if (rf & 1) {
|
|
293
|
+
const _r58 = i0.ɵɵgetCurrentView();
|
|
294
|
+
i0.ɵɵelementStart(0, "select", 42);
|
|
295
|
+
i0.ɵɵlistener("change", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_Template_select_change_0_listener($event) { i0.ɵɵrestoreView(_r58); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.onChange($event.target.value)); });
|
|
296
|
+
i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_option_1_Template, 2, 2, "option", 43);
|
|
297
|
+
i0.ɵɵelementEnd();
|
|
298
|
+
}
|
|
299
|
+
if (rf & 2) {
|
|
300
|
+
const config_r15 = i0.ɵɵnextContext(3).$implicit;
|
|
301
|
+
i0.ɵɵadvance(1);
|
|
302
|
+
i0.ɵɵproperty("ngForOf", config_r15.options);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
const _c3$1 = function (a0) { return { "p-0": a0 }; };
|
|
306
|
+
function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_Template(rf, ctx) {
|
|
307
|
+
if (rf & 1) {
|
|
308
|
+
i0.ɵɵelementStart(0, "div", 27);
|
|
309
|
+
i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_mat_checkbox_1_Template, 1, 1, "mat-checkbox", 28);
|
|
310
|
+
i0.ɵɵtemplate(2, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_app_config_slider_2_Template, 1, 5, "app-config-slider", 29);
|
|
311
|
+
i0.ɵɵtemplate(3, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_button_3_Template, 2, 1, "button", 30);
|
|
312
|
+
i0.ɵɵtemplate(4, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_input_4_Template, 1, 1, "input", 31);
|
|
313
|
+
i0.ɵɵtemplate(5, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template, 5, 9, "div", 32);
|
|
314
|
+
i0.ɵɵtemplate(6, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_Template, 2, 1, "select", 33);
|
|
315
|
+
i0.ɵɵelementEnd();
|
|
316
|
+
}
|
|
317
|
+
if (rf & 2) {
|
|
318
|
+
const config_r15 = i0.ɵɵnextContext(2).$implicit;
|
|
319
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c3$1, config_r15.type === "button"));
|
|
320
|
+
i0.ɵɵadvance(1);
|
|
321
|
+
i0.ɵɵproperty("ngSwitchCase", "checkbox");
|
|
322
|
+
i0.ɵɵadvance(1);
|
|
323
|
+
i0.ɵɵproperty("ngSwitchCase", "slider");
|
|
324
|
+
i0.ɵɵadvance(1);
|
|
325
|
+
i0.ɵɵproperty("ngSwitchCase", "button");
|
|
326
|
+
i0.ɵɵadvance(1);
|
|
327
|
+
i0.ɵɵproperty("ngSwitchCase", "color");
|
|
328
|
+
i0.ɵɵadvance(1);
|
|
329
|
+
i0.ɵɵproperty("ngSwitchCase", "rangeSlider");
|
|
330
|
+
i0.ɵɵadvance(1);
|
|
331
|
+
i0.ɵɵproperty("ngSwitchCase", "select");
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_Template(rf, ctx) {
|
|
335
|
+
if (rf & 1) {
|
|
336
|
+
i0.ɵɵelementStart(0, "label", 23);
|
|
337
|
+
i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_span_1_Template, 2, 4, "span", 24);
|
|
338
|
+
i0.ɵɵtemplate(2, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_Template, 7, 9, "div", 25);
|
|
339
|
+
i0.ɵɵelementEnd();
|
|
340
|
+
}
|
|
341
|
+
if (rf & 2) {
|
|
342
|
+
const config_r15 = i0.ɵɵnextContext().$implicit;
|
|
343
|
+
i0.ɵɵadvance(1);
|
|
344
|
+
i0.ɵɵproperty("ngIf", config_r15.type !== "button");
|
|
345
|
+
i0.ɵɵadvance(1);
|
|
346
|
+
i0.ɵɵproperty("ngIf", config_r15.type !== "label");
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
function PhoenixMenuItemComponent_div_7_ng_container_6_Template(rf, ctx) {
|
|
350
|
+
if (rf & 1) {
|
|
351
|
+
i0.ɵɵelementContainerStart(0, 21);
|
|
352
|
+
i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_Template, 3, 2, "label", 22);
|
|
353
|
+
i0.ɵɵelementContainerEnd();
|
|
354
|
+
}
|
|
355
|
+
if (rf & 2) {
|
|
356
|
+
const config_r15 = ctx.$implicit;
|
|
357
|
+
i0.ɵɵproperty("ngSwitch", config_r15.type);
|
|
358
|
+
i0.ɵɵadvance(1);
|
|
359
|
+
i0.ɵɵproperty("ngIf", !config_r15.hidden);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
const _c4$1 = function (a0) { return { "top.px": a0 }; };
|
|
363
|
+
function PhoenixMenuItemComponent_div_7_Template(rf, ctx) {
|
|
364
|
+
if (rf & 1) {
|
|
365
|
+
const _r63 = i0.ɵɵgetCurrentView();
|
|
366
|
+
i0.ɵɵelementStart(0, "div")(1, "button", 15);
|
|
367
|
+
i0.ɵɵlistener("click", function PhoenixMenuItemComponent_div_7_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r63); const ctx_r62 = i0.ɵɵnextContext(); ctx_r62.calculateConfigTop(); return i0.ɵɵresetView(ctx_r62.currentNode.configActive = !ctx_r62.currentNode.configActive); });
|
|
368
|
+
i0.ɵɵnamespaceSVG();
|
|
369
|
+
i0.ɵɵelementStart(2, "svg");
|
|
370
|
+
i0.ɵɵelement(3, "use", 16);
|
|
371
|
+
i0.ɵɵelementEnd()();
|
|
372
|
+
i0.ɵɵtemplate(4, PhoenixMenuItemComponent_div_7_div_4_Template, 1, 0, "div", 17);
|
|
373
|
+
i0.ɵɵnamespaceHTML();
|
|
374
|
+
i0.ɵɵelementStart(5, "div", 18);
|
|
375
|
+
i0.ɵɵtemplate(6, PhoenixMenuItemComponent_div_7_ng_container_6_Template, 2, 2, "ng-container", 19);
|
|
376
|
+
i0.ɵɵelementEnd()();
|
|
377
|
+
}
|
|
378
|
+
if (rf & 2) {
|
|
379
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
380
|
+
i0.ɵɵadvance(4);
|
|
381
|
+
i0.ɵɵproperty("ngIf", ctx_r4.currentNode.configActive);
|
|
382
|
+
i0.ɵɵadvance(1);
|
|
383
|
+
i0.ɵɵproperty("hidden", !ctx_r4.currentNode.configActive)("ngStyle", i0.ɵɵpureFunction1(4, _c4$1, ctx_r4.configTop));
|
|
384
|
+
i0.ɵɵadvance(1);
|
|
385
|
+
i0.ɵɵproperty("ngForOf", ctx_r4.castConfigsToAny(ctx_r4.currentNode.configs));
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
const _c5$1 = function (a0) { return { expanded: a0 }; };
|
|
389
|
+
function PhoenixMenuItemComponent_button_8_Template(rf, ctx) {
|
|
390
|
+
if (rf & 1) {
|
|
391
|
+
const _r65 = i0.ɵɵgetCurrentView();
|
|
392
|
+
i0.ɵɵelementStart(0, "button", 45);
|
|
393
|
+
i0.ɵɵlistener("click", function PhoenixMenuItemComponent_button_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r65); const ctx_r64 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r64.currentNode.childrenActive = !ctx_r64.currentNode.childrenActive); });
|
|
394
|
+
i0.ɵɵnamespaceSVG();
|
|
395
|
+
i0.ɵɵelementStart(1, "svg");
|
|
396
|
+
i0.ɵɵelement(2, "use", 46);
|
|
397
|
+
i0.ɵɵelementEnd()();
|
|
398
|
+
}
|
|
399
|
+
if (rf & 2) {
|
|
400
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
401
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c5$1, ctx_r5.currentNode.childrenActive));
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
function PhoenixMenuItemComponent_div_9_app_phoenix_menu_item_1_Template(rf, ctx) {
|
|
405
|
+
if (rf & 1) {
|
|
406
|
+
i0.ɵɵelement(0, "app-phoenix-menu-item", 49);
|
|
407
|
+
}
|
|
408
|
+
if (rf & 2) {
|
|
409
|
+
const childNode_r67 = ctx.$implicit;
|
|
410
|
+
i0.ɵɵproperty("currentNode", childNode_r67);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
function PhoenixMenuItemComponent_div_9_Template(rf, ctx) {
|
|
414
|
+
if (rf & 1) {
|
|
415
|
+
i0.ɵɵelementStart(0, "div", 47);
|
|
416
|
+
i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_9_app_phoenix_menu_item_1_Template, 1, 1, "app-phoenix-menu-item", 48);
|
|
417
|
+
i0.ɵɵelementEnd();
|
|
418
|
+
}
|
|
419
|
+
if (rf & 2) {
|
|
420
|
+
const ctx_r6 = i0.ɵɵnextContext();
|
|
421
|
+
i0.ɵɵadvance(1);
|
|
422
|
+
i0.ɵɵproperty("ngForOf", ctx_r6.currentNode.children);
|
|
423
|
+
}
|
|
424
|
+
}
|
|
86
425
|
class PhoenixMenuItemComponent {
|
|
87
426
|
constructor(cdr) {
|
|
88
427
|
this.cdr = cdr;
|
|
@@ -99,28 +438,73 @@ class PhoenixMenuItemComponent {
|
|
|
99
438
|
return configs;
|
|
100
439
|
}
|
|
101
440
|
}
|
|
102
|
-
PhoenixMenuItemComponent.ɵfac =
|
|
103
|
-
PhoenixMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: PhoenixMenuItemComponent, selector: "app-phoenix-menu-item", inputs: { currentNode: "currentNode" }, viewQueries: [{ propertyName: "phoenixMenuItem", first: true, predicate: ["phoenixMenuItem"], descendants: true }], ngImport: i0, template: "<div class=\"phoenix-menu-item\" #phoenixMenuItem>\n <div class=\"phoenix-menu-item-left align-items-center\">\n <!-- If the item has some toggle function -->\n <ng-container *ngIf=\"currentNode.onToggle; else nodeName\">\n <mat-slide-toggle\n [checked]=\"currentNode.toggleState\"\n (change)=\"currentNode.toggleSelfAndDescendants($event.checked)\"\n >\n <ng-container *ngTemplateOutlet=\"nodeName\"></ng-container>\n </mat-slide-toggle>\n </ng-container>\n <!-- If the item has no toggle function -->\n <ng-template #nodeName>\n <span class=\"d-flex w-100 align-items-center\">\n <span *ngIf=\"currentNode.icon\" class=\"icon-wrapper item-icon\">\n <svg>\n <use\n attr.href=\"assets/icons/{{ currentNode.icon }}.svg#{{\n currentNode.icon\n }}\"\n ></use>\n </svg>\n </span>\n <span class=\"item-name\" [title]=\"currentNode.name\">{{\n currentNode.name\n }}</span>\n </span>\n </ng-template>\n </div>\n <div class=\"phoenix-menu-item-right\">\n <div *ngIf=\"currentNode.configs.length > 0\">\n <button\n class=\"icon-wrapper icon-button btn-blank item-settings\"\n (click)=\"\n calculateConfigTop();\n currentNode.configActive = !currentNode.configActive\n \"\n >\n <svg>\n <use href=\"assets/icons/gear.svg#gear\"></use>\n </svg>\n </button>\n <div\n class=\"item-config-backdrop\"\n *ngIf=\"currentNode.configActive\"\n (click)=\"currentNode.configActive = false\"\n ></div>\n <div\n class=\"item-config\"\n [hidden]=\"!currentNode.configActive\"\n [ngStyle]=\"{ 'top.px': configTop }\"\n >\n <ng-container\n *ngFor=\"let config of castConfigsToAny(currentNode.configs)\"\n [ngSwitch]=\"config.type\"\n >\n <!-- Config types -->\n <label class=\"item-config-single\" *ngIf=\"!config.hidden\">\n <span\n class=\"item-config-label\"\n *ngIf=\"config.type !== 'button'\"\n [ngClass]=\"{ 'font-weight-bold w-100': config.type === 'label' }\"\n >\n {{ config.label }}\n </span>\n <div\n class=\"item-config-data\"\n [ngClass]=\"{ 'p-0': config.type === 'button' }\"\n *ngIf=\"config.type !== 'label'\"\n >\n <mat-checkbox\n *ngSwitchCase=\"'checkbox'\"\n [checked]=\"config.isChecked\"\n (change)=\"\n config.onChange($event.checked);\n config.isChecked = $event.checked\n \"\n ></mat-checkbox>\n\n <app-config-slider\n *ngSwitchCase=\"'slider'\"\n [value]=\"config.value\"\n (onChange)=\"config.onChange($event); config.value = $event\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [allowCustomValue]=\"config.allowCustomValue\"\n >\n </app-config-slider>\n\n <button\n *ngSwitchCase=\"'button'\"\n class=\"w-100\"\n (click)=\"config.onClick()\"\n mat-button\n mat-stroked-button\n >\n {{ config.label }}\n </button>\n\n <input\n *ngSwitchCase=\"'color'\"\n type=\"color\"\n [value]=\"config.color\"\n (input)=\"\n config.onChange($event.target.value);\n config.color = $event.target.value\n \"\n />\n\n <div *ngSwitchCase=\"'rangeSlider'\" class=\"range-slider\">\n <div class=\"range-slider-inputs d-flex justify-content-between\">\n <input\n type=\"number\"\n placeholder=\"Min\"\n class=\"form-control form-control-sm\"\n [value]=\"config.value\"\n (input)=\"\n config.value = $event.target.value;\n config.onChange(config)\n \"\n />\n <input\n type=\"number\"\n placeholder=\"Max\"\n class=\"form-control form-control-sm\"\n [value]=\"config.highValue\"\n (input)=\"\n config.highValue = $event.target.value;\n config.onChange(config)\n \"\n />\n </div>\n <ngx-slider\n [(value)]=\"config.value\"\n [(highValue)]=\"config.highValue\"\n (userChange)=\"config.onChange($event)\"\n [options]=\"{\n floor: config.min,\n ceil: config.max,\n step: config.step,\n animate: false\n }\"\n ></ngx-slider>\n </div>\n\n <select\n *ngSwitchCase=\"'select'\"\n class=\"w-100\"\n (change)=\"config.onChange($event.target.value)\"\n >\n <option\n *ngFor=\"let singleOption of config.options\"\n [value]=\"singleOption\"\n >\n {{ singleOption }}\n </option>\n </select>\n </div>\n </label>\n <!-- Config types END -->\n </ng-container>\n </div>\n </div>\n <button\n class=\"icon-wrapper icon-button btn-blank item-expand\"\n *ngIf=\"currentNode.children.length > 0\"\n (click)=\"currentNode.childrenActive = !currentNode.childrenActive\"\n [ngClass]=\"{ expanded: currentNode.childrenActive }\"\n data-testid=\"dropdown\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n </div>\n</div>\n<div class=\"phoenix-menu-children\" *ngIf=\"currentNode.childrenActive\">\n <app-phoenix-menu-item\n *ngFor=\"let childNode of currentNode.children\"\n [currentNode]=\"childNode\"\n >\n </app-phoenix-menu-item>\n</div>\n", styles: [".phoenix-menu-item{width:100%;padding:.6rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color);font-size:.8rem;transition:all .5s;display:flex;justify-content:space-between;align-items:center}.phoenix-menu-item-left{display:flex;justify-content:flex-start;min-width:0;padding-right:.5rem;overflow:hidden}.phoenix-menu-item-left .item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phoenix-menu-item-left .item-icon{margin-right:.2rem}.phoenix-menu-item-right{display:flex;justify-content:flex-end}.phoenix-menu-item-right .item-expand.expanded{transform:scaleY(-1)}.phoenix-menu-item-right .item-settings{margin-right:.2rem}.phoenix-menu-item-right .item-config-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:110}.phoenix-menu-item-right .item-config{position:absolute;margin-top:-5rem;right:100%;width:14rem;padding:.5rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color-secondary);box-shadow:var(--phoenix-box-shadow);display:flex;flex-direction:column;z-index:120}.phoenix-menu-item-right .item-config>*{margin-bottom:.4rem}.phoenix-menu-item-right .item-config>*:last-child{margin-bottom:0}.phoenix-menu-item-right .item-config .item-config-single{display:flex;flex-direction:row}.phoenix-menu-item-right .item-config .item-config-single .item-config-label{width:30%}.phoenix-menu-item-right .item-config .item-config-single .item-config-data{flex-grow:1;padding-left:.5rem}.phoenix-menu-item .icon-wrapper{display:inline-block;width:1.3rem;height:1.3rem;padding:.23rem;transition:all .4s}.phoenix-menu-item .icon-wrapper.icon-button:hover{background:var(--phoenix-options-icon-bg);border-radius:40%;cursor:pointer}.phoenix-menu-item .icon-wrapper svg{width:100%;height:100%;vertical-align:top}.phoenix-menu-item .mat-slide-toggle-bar{width:30px!important}.phoenix-menu-item .mat-slide-toggle-thumb{width:15px!important;height:15px!important;position:absolute;top:2px}.phoenix-menu-item .mat-slider-horizontal{min-width:0;width:100%;height:20px}.phoenix-menu-item .mat-slider-horizontal .mat-slider-wrapper{top:10px}.phoenix-menu-item label.mat-checkbox-layout{margin:0}@media screen and (max-width: 768px){.phoenix-menu-item{font-size:.75rem;padding:.5rem}.phoenix-menu-item .icon-wrapper{width:1rem;height:1rem;padding:.15rem}}.phoenix-menu-children{margin-left:.5rem;border-left:1px solid var(--phoenix-accent)}.range-slider .range-slider-inputs{gap:20%}.range-slider .ngx-slider .ngx-slider-bar{background:var(--phoenix-text-color-secondary);height:.2rem}.range-slider .ngx-slider .ngx-slider-selection{background:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer{width:1rem;height:1rem;top:-.45rem;bottom:0;background-color:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer:after{display:none}.range-slider .ngx-slider .ngx-slider-bubble{color:var(--phoenix-text-color);font-size:.8rem}.range-slider .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:var(--phoenix-text-color-secondary)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i5.SliderComponent, selector: "ngx-slider", inputs: ["value", "highValue", "options", "manualRefresh", "triggerFocus"], outputs: ["valueChange", "highValueChange", "userChangeStart", "userChange", "userChangeEnd"] }, { kind: "component", type: PhoenixMenuItemComponent, selector: "app-phoenix-menu-item", inputs: ["currentNode"] }, { kind: "component", type: ConfigSliderComponent, selector: "app-config-slider", inputs: ["value", "min", "max", "step", "allowCustomValue"], outputs: ["onChange"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
104
|
-
|
|
441
|
+
PhoenixMenuItemComponent.ɵfac = function PhoenixMenuItemComponent_Factory(t) { return new (t || PhoenixMenuItemComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
442
|
+
PhoenixMenuItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PhoenixMenuItemComponent, selectors: [["app-phoenix-menu-item"]], viewQuery: function PhoenixMenuItemComponent_Query(rf, ctx) {
|
|
443
|
+
if (rf & 1) {
|
|
444
|
+
i0.ɵɵviewQuery(_c0$9, 5);
|
|
445
|
+
}
|
|
446
|
+
if (rf & 2) {
|
|
447
|
+
let _t;
|
|
448
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.phoenixMenuItem = _t.first);
|
|
449
|
+
}
|
|
450
|
+
}, inputs: { currentNode: "currentNode" }, decls: 10, vars: 5, consts: [[1, "phoenix-menu-item"], ["phoenixMenuItem", ""], [1, "phoenix-menu-item-left", "align-items-center"], [4, "ngIf", "ngIfElse"], ["nodeName", ""], [1, "phoenix-menu-item-right"], [4, "ngIf"], ["class", "icon-wrapper icon-button btn-blank item-expand", "data-testid", "dropdown", 3, "ngClass", "click", 4, "ngIf"], ["class", "phoenix-menu-children", 4, "ngIf"], [3, "checked", "change"], [4, "ngTemplateOutlet"], [1, "d-flex", "w-100", "align-items-center"], ["class", "icon-wrapper item-icon", 4, "ngIf"], [1, "item-name", 3, "title"], [1, "icon-wrapper", "item-icon"], [1, "icon-wrapper", "icon-button", "btn-blank", "item-settings", 3, "click"], ["href", "assets/icons/gear.svg#gear"], ["class", "item-config-backdrop", 3, "click", 4, "ngIf"], [1, "item-config", 3, "hidden", "ngStyle"], [3, "ngSwitch", 4, "ngFor", "ngForOf"], [1, "item-config-backdrop", 3, "click"], [3, "ngSwitch"], ["class", "item-config-single", 4, "ngIf"], [1, "item-config-single"], ["class", "item-config-label", 3, "ngClass", 4, "ngIf"], ["class", "item-config-data", 3, "ngClass", 4, "ngIf"], [1, "item-config-label", 3, "ngClass"], [1, "item-config-data", 3, "ngClass"], [3, "checked", "change", 4, "ngSwitchCase"], [3, "value", "min", "max", "step", "allowCustomValue", "onChange", 4, "ngSwitchCase"], ["class", "w-100", "mat-button", "", "mat-stroked-button", "", 3, "click", 4, "ngSwitchCase"], ["type", "color", 3, "value", "input", 4, "ngSwitchCase"], ["class", "range-slider", 4, "ngSwitchCase"], ["class", "w-100", 3, "change", 4, "ngSwitchCase"], [3, "value", "min", "max", "step", "allowCustomValue", "onChange"], ["mat-button", "", "mat-stroked-button", "", 1, "w-100", 3, "click"], ["type", "color", 3, "value", "input"], [1, "range-slider"], [1, "range-slider-inputs", "d-flex", "justify-content-between"], ["type", "number", "placeholder", "Min", 1, "form-control", "form-control-sm", 3, "value", "input"], ["type", "number", "placeholder", "Max", 1, "form-control", "form-control-sm", 3, "value", "input"], [3, "value", "highValue", "options", "valueChange", "highValueChange", "userChange"], [1, "w-100", 3, "change"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"], ["data-testid", "dropdown", 1, "icon-wrapper", "icon-button", "btn-blank", "item-expand", 3, "ngClass", "click"], ["href", "assets/icons/expand.svg#expand"], [1, "phoenix-menu-children"], [3, "currentNode", 4, "ngFor", "ngForOf"], [3, "currentNode"]], template: function PhoenixMenuItemComponent_Template(rf, ctx) {
|
|
451
|
+
if (rf & 1) {
|
|
452
|
+
i0.ɵɵelementStart(0, "div", 0, 1)(2, "div", 2);
|
|
453
|
+
i0.ɵɵtemplate(3, PhoenixMenuItemComponent_ng_container_3_Template, 3, 2, "ng-container", 3);
|
|
454
|
+
i0.ɵɵtemplate(4, PhoenixMenuItemComponent_ng_template_4_Template, 4, 3, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
|
|
455
|
+
i0.ɵɵelementEnd();
|
|
456
|
+
i0.ɵɵelementStart(6, "div", 5);
|
|
457
|
+
i0.ɵɵtemplate(7, PhoenixMenuItemComponent_div_7_Template, 7, 6, "div", 6);
|
|
458
|
+
i0.ɵɵtemplate(8, PhoenixMenuItemComponent_button_8_Template, 3, 3, "button", 7);
|
|
459
|
+
i0.ɵɵelementEnd()();
|
|
460
|
+
i0.ɵɵtemplate(9, PhoenixMenuItemComponent_div_9_Template, 2, 1, "div", 8);
|
|
461
|
+
}
|
|
462
|
+
if (rf & 2) {
|
|
463
|
+
const _r2 = i0.ɵɵreference(5);
|
|
464
|
+
i0.ɵɵadvance(3);
|
|
465
|
+
i0.ɵɵproperty("ngIf", ctx.currentNode.onToggle)("ngIfElse", _r2);
|
|
466
|
+
i0.ɵɵadvance(4);
|
|
467
|
+
i0.ɵɵproperty("ngIf", ctx.currentNode.configs.length > 0);
|
|
468
|
+
i0.ɵɵadvance(1);
|
|
469
|
+
i0.ɵɵproperty("ngIf", ctx.currentNode.children.length > 0);
|
|
470
|
+
i0.ɵɵadvance(1);
|
|
471
|
+
i0.ɵɵproperty("ngIf", ctx.currentNode.childrenActive);
|
|
472
|
+
}
|
|
473
|
+
}, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i2.NgTemplateOutlet, i2.NgStyle, i2.NgSwitch, i2.NgSwitchCase, i2$2.MatButton, i3.MatSlideToggle, i4.MatCheckbox, i5.SliderComponent, PhoenixMenuItemComponent, ConfigSliderComponent], styles: [".phoenix-menu-item{width:100%;padding:.6rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color);font-size:.8rem;transition:all .5s;display:flex;justify-content:space-between;align-items:center}.phoenix-menu-item-left{display:flex;justify-content:flex-start;min-width:0;padding-right:.5rem;overflow:hidden}.phoenix-menu-item-left .item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phoenix-menu-item-left .item-icon{margin-right:.2rem}.phoenix-menu-item-right{display:flex;justify-content:flex-end}.phoenix-menu-item-right .item-expand.expanded{transform:scaleY(-1)}.phoenix-menu-item-right .item-settings{margin-right:.2rem}.phoenix-menu-item-right .item-config-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:110}.phoenix-menu-item-right .item-config{position:absolute;margin-top:-5rem;right:100%;width:14rem;padding:.5rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color-secondary);box-shadow:var(--phoenix-box-shadow);display:flex;flex-direction:column;z-index:120}.phoenix-menu-item-right .item-config>*{margin-bottom:.4rem}.phoenix-menu-item-right .item-config>*:last-child{margin-bottom:0}.phoenix-menu-item-right .item-config .item-config-single{display:flex;flex-direction:row}.phoenix-menu-item-right .item-config .item-config-single .item-config-label{width:30%}.phoenix-menu-item-right .item-config .item-config-single .item-config-data{flex-grow:1;padding-left:.5rem}.phoenix-menu-item .icon-wrapper{display:inline-block;width:1.3rem;height:1.3rem;padding:.23rem;transition:all .4s}.phoenix-menu-item .icon-wrapper.icon-button:hover{background:var(--phoenix-options-icon-bg);border-radius:40%;cursor:pointer}.phoenix-menu-item .icon-wrapper svg{width:100%;height:100%;vertical-align:top}.phoenix-menu-item .mat-slide-toggle-bar{width:30px!important}.phoenix-menu-item .mat-slide-toggle-thumb{width:15px!important;height:15px!important;position:absolute;top:2px}.phoenix-menu-item .mat-slider-horizontal{min-width:0;width:100%;height:20px}.phoenix-menu-item .mat-slider-horizontal .mat-slider-wrapper{top:10px}.phoenix-menu-item label.mat-checkbox-layout{margin:0}@media screen and (max-width: 768px){.phoenix-menu-item{font-size:.75rem;padding:.5rem}.phoenix-menu-item .icon-wrapper{width:1rem;height:1rem;padding:.15rem}}.phoenix-menu-children{margin-left:.5rem;border-left:1px solid var(--phoenix-accent)}.range-slider .range-slider-inputs{gap:20%}.range-slider .ngx-slider .ngx-slider-bar{background:var(--phoenix-text-color-secondary);height:.2rem}.range-slider .ngx-slider .ngx-slider-selection{background:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer{width:1rem;height:1rem;top:-.45rem;bottom:0;background-color:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer:after{display:none}.range-slider .ngx-slider .ngx-slider-bubble{color:var(--phoenix-text-color);font-size:.8rem}.range-slider .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:var(--phoenix-text-color-secondary)}\n"], encapsulation: 2 });
|
|
474
|
+
(function () {
|
|
475
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PhoenixMenuItemComponent, [{
|
|
105
476
|
type: Component,
|
|
106
477
|
args: [{ selector: 'app-phoenix-menu-item', encapsulation: ViewEncapsulation.None, template: "<div class=\"phoenix-menu-item\" #phoenixMenuItem>\n <div class=\"phoenix-menu-item-left align-items-center\">\n <!-- If the item has some toggle function -->\n <ng-container *ngIf=\"currentNode.onToggle; else nodeName\">\n <mat-slide-toggle\n [checked]=\"currentNode.toggleState\"\n (change)=\"currentNode.toggleSelfAndDescendants($event.checked)\"\n >\n <ng-container *ngTemplateOutlet=\"nodeName\"></ng-container>\n </mat-slide-toggle>\n </ng-container>\n <!-- If the item has no toggle function -->\n <ng-template #nodeName>\n <span class=\"d-flex w-100 align-items-center\">\n <span *ngIf=\"currentNode.icon\" class=\"icon-wrapper item-icon\">\n <svg>\n <use\n attr.href=\"assets/icons/{{ currentNode.icon }}.svg#{{\n currentNode.icon\n }}\"\n ></use>\n </svg>\n </span>\n <span class=\"item-name\" [title]=\"currentNode.name\">{{\n currentNode.name\n }}</span>\n </span>\n </ng-template>\n </div>\n <div class=\"phoenix-menu-item-right\">\n <div *ngIf=\"currentNode.configs.length > 0\">\n <button\n class=\"icon-wrapper icon-button btn-blank item-settings\"\n (click)=\"\n calculateConfigTop();\n currentNode.configActive = !currentNode.configActive\n \"\n >\n <svg>\n <use href=\"assets/icons/gear.svg#gear\"></use>\n </svg>\n </button>\n <div\n class=\"item-config-backdrop\"\n *ngIf=\"currentNode.configActive\"\n (click)=\"currentNode.configActive = false\"\n ></div>\n <div\n class=\"item-config\"\n [hidden]=\"!currentNode.configActive\"\n [ngStyle]=\"{ 'top.px': configTop }\"\n >\n <ng-container\n *ngFor=\"let config of castConfigsToAny(currentNode.configs)\"\n [ngSwitch]=\"config.type\"\n >\n <!-- Config types -->\n <label class=\"item-config-single\" *ngIf=\"!config.hidden\">\n <span\n class=\"item-config-label\"\n *ngIf=\"config.type !== 'button'\"\n [ngClass]=\"{ 'font-weight-bold w-100': config.type === 'label' }\"\n >\n {{ config.label }}\n </span>\n <div\n class=\"item-config-data\"\n [ngClass]=\"{ 'p-0': config.type === 'button' }\"\n *ngIf=\"config.type !== 'label'\"\n >\n <mat-checkbox\n *ngSwitchCase=\"'checkbox'\"\n [checked]=\"config.isChecked\"\n (change)=\"\n config.onChange($event.checked);\n config.isChecked = $event.checked\n \"\n ></mat-checkbox>\n\n <app-config-slider\n *ngSwitchCase=\"'slider'\"\n [value]=\"config.value\"\n (onChange)=\"config.onChange($event); config.value = $event\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [allowCustomValue]=\"config.allowCustomValue\"\n >\n </app-config-slider>\n\n <button\n *ngSwitchCase=\"'button'\"\n class=\"w-100\"\n (click)=\"config.onClick()\"\n mat-button\n mat-stroked-button\n >\n {{ config.label }}\n </button>\n\n <input\n *ngSwitchCase=\"'color'\"\n type=\"color\"\n [value]=\"config.color\"\n (input)=\"\n config.onChange($event.target.value);\n config.color = $event.target.value\n \"\n />\n\n <div *ngSwitchCase=\"'rangeSlider'\" class=\"range-slider\">\n <div class=\"range-slider-inputs d-flex justify-content-between\">\n <input\n type=\"number\"\n placeholder=\"Min\"\n class=\"form-control form-control-sm\"\n [value]=\"config.value\"\n (input)=\"\n config.value = $event.target.value;\n config.onChange(config)\n \"\n />\n <input\n type=\"number\"\n placeholder=\"Max\"\n class=\"form-control form-control-sm\"\n [value]=\"config.highValue\"\n (input)=\"\n config.highValue = $event.target.value;\n config.onChange(config)\n \"\n />\n </div>\n <ngx-slider\n [(value)]=\"config.value\"\n [(highValue)]=\"config.highValue\"\n (userChange)=\"config.onChange($event)\"\n [options]=\"{\n floor: config.min,\n ceil: config.max,\n step: config.step,\n animate: false\n }\"\n ></ngx-slider>\n </div>\n\n <select\n *ngSwitchCase=\"'select'\"\n class=\"w-100\"\n (change)=\"config.onChange($event.target.value)\"\n >\n <option\n *ngFor=\"let singleOption of config.options\"\n [value]=\"singleOption\"\n >\n {{ singleOption }}\n </option>\n </select>\n </div>\n </label>\n <!-- Config types END -->\n </ng-container>\n </div>\n </div>\n <button\n class=\"icon-wrapper icon-button btn-blank item-expand\"\n *ngIf=\"currentNode.children.length > 0\"\n (click)=\"currentNode.childrenActive = !currentNode.childrenActive\"\n [ngClass]=\"{ expanded: currentNode.childrenActive }\"\n data-testid=\"dropdown\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n </div>\n</div>\n<div class=\"phoenix-menu-children\" *ngIf=\"currentNode.childrenActive\">\n <app-phoenix-menu-item\n *ngFor=\"let childNode of currentNode.children\"\n [currentNode]=\"childNode\"\n >\n </app-phoenix-menu-item>\n</div>\n", styles: [".phoenix-menu-item{width:100%;padding:.6rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color);font-size:.8rem;transition:all .5s;display:flex;justify-content:space-between;align-items:center}.phoenix-menu-item-left{display:flex;justify-content:flex-start;min-width:0;padding-right:.5rem;overflow:hidden}.phoenix-menu-item-left .item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phoenix-menu-item-left .item-icon{margin-right:.2rem}.phoenix-menu-item-right{display:flex;justify-content:flex-end}.phoenix-menu-item-right .item-expand.expanded{transform:scaleY(-1)}.phoenix-menu-item-right .item-settings{margin-right:.2rem}.phoenix-menu-item-right .item-config-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:110}.phoenix-menu-item-right .item-config{position:absolute;margin-top:-5rem;right:100%;width:14rem;padding:.5rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color-secondary);box-shadow:var(--phoenix-box-shadow);display:flex;flex-direction:column;z-index:120}.phoenix-menu-item-right .item-config>*{margin-bottom:.4rem}.phoenix-menu-item-right .item-config>*:last-child{margin-bottom:0}.phoenix-menu-item-right .item-config .item-config-single{display:flex;flex-direction:row}.phoenix-menu-item-right .item-config .item-config-single .item-config-label{width:30%}.phoenix-menu-item-right .item-config .item-config-single .item-config-data{flex-grow:1;padding-left:.5rem}.phoenix-menu-item .icon-wrapper{display:inline-block;width:1.3rem;height:1.3rem;padding:.23rem;transition:all .4s}.phoenix-menu-item .icon-wrapper.icon-button:hover{background:var(--phoenix-options-icon-bg);border-radius:40%;cursor:pointer}.phoenix-menu-item .icon-wrapper svg{width:100%;height:100%;vertical-align:top}.phoenix-menu-item .mat-slide-toggle-bar{width:30px!important}.phoenix-menu-item .mat-slide-toggle-thumb{width:15px!important;height:15px!important;position:absolute;top:2px}.phoenix-menu-item .mat-slider-horizontal{min-width:0;width:100%;height:20px}.phoenix-menu-item .mat-slider-horizontal .mat-slider-wrapper{top:10px}.phoenix-menu-item label.mat-checkbox-layout{margin:0}@media screen and (max-width: 768px){.phoenix-menu-item{font-size:.75rem;padding:.5rem}.phoenix-menu-item .icon-wrapper{width:1rem;height:1rem;padding:.15rem}}.phoenix-menu-children{margin-left:.5rem;border-left:1px solid var(--phoenix-accent)}.range-slider .range-slider-inputs{gap:20%}.range-slider .ngx-slider .ngx-slider-bar{background:var(--phoenix-text-color-secondary);height:.2rem}.range-slider .ngx-slider .ngx-slider-selection{background:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer{width:1rem;height:1rem;top:-.45rem;bottom:0;background-color:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer:after{display:none}.range-slider .ngx-slider .ngx-slider-bubble{color:var(--phoenix-text-color);font-size:.8rem}.range-slider .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:var(--phoenix-text-color-secondary)}\n"] }]
|
|
107
|
-
}],
|
|
478
|
+
}], function () { return [{ type: i0.ChangeDetectorRef }]; }, { currentNode: [{
|
|
108
479
|
type: Input
|
|
109
480
|
}], phoenixMenuItem: [{
|
|
110
481
|
type: ViewChild,
|
|
111
482
|
args: ['phoenixMenuItem']
|
|
112
|
-
}] }
|
|
483
|
+
}] });
|
|
484
|
+
})();
|
|
113
485
|
|
|
114
486
|
class PhoenixMenuComponent {
|
|
115
487
|
}
|
|
116
|
-
PhoenixMenuComponent.ɵfac =
|
|
117
|
-
PhoenixMenuComponent.ɵcmp = i0.ɵɵ
|
|
118
|
-
|
|
488
|
+
PhoenixMenuComponent.ɵfac = function PhoenixMenuComponent_Factory(t) { return new (t || PhoenixMenuComponent)(); };
|
|
489
|
+
PhoenixMenuComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PhoenixMenuComponent, selectors: [["app-phoenix-menu"]], inputs: { rootNode: "rootNode" }, decls: 2, vars: 1, consts: [["id", "phoenixMenu"], [3, "currentNode"]], template: function PhoenixMenuComponent_Template(rf, ctx) {
|
|
490
|
+
if (rf & 1) {
|
|
491
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
492
|
+
i0.ɵɵelement(1, "app-phoenix-menu-item", 1);
|
|
493
|
+
i0.ɵɵelementEnd();
|
|
494
|
+
}
|
|
495
|
+
if (rf & 2) {
|
|
496
|
+
i0.ɵɵadvance(1);
|
|
497
|
+
i0.ɵɵproperty("currentNode", ctx.rootNode);
|
|
498
|
+
}
|
|
499
|
+
}, dependencies: [PhoenixMenuItemComponent], styles: ["[_nghost-%COMP%]{width:15rem;max-width:45%;position:absolute;top:5rem;right:1rem}#phoenixMenu[_ngcontent-%COMP%]{background:var(--phoenix-background-color-secondary);max-height:75vh;overflow-y:auto;box-shadow:var(--phoenix-box-shadow);z-index:100}@media screen and (max-width: 768px){#phoenixMenu[_ngcontent-%COMP%]{top:4rem}}"] });
|
|
500
|
+
(function () {
|
|
501
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PhoenixMenuComponent, [{
|
|
119
502
|
type: Component,
|
|
120
503
|
args: [{ selector: 'app-phoenix-menu', template: "<div id=\"phoenixMenu\">\n <app-phoenix-menu-item [currentNode]=\"rootNode\"></app-phoenix-menu-item>\n</div>\n", styles: [":host{width:15rem;max-width:45%;position:absolute;top:5rem;right:1rem}#phoenixMenu{background:var(--phoenix-background-color-secondary);max-height:75vh;overflow-y:auto;box-shadow:var(--phoenix-box-shadow);z-index:100}@media screen and (max-width: 768px){#phoenixMenu{top:4rem}}\n"] }]
|
|
121
|
-
}],
|
|
504
|
+
}], null, { rootNode: [{
|
|
122
505
|
type: Input
|
|
123
|
-
}] }
|
|
506
|
+
}] });
|
|
507
|
+
})();
|
|
124
508
|
|
|
125
509
|
/**
|
|
126
510
|
* Service for all event display related functions.
|
|
@@ -133,26 +517,46 @@ class EventDisplayService extends EventDisplay {
|
|
|
133
517
|
super();
|
|
134
518
|
}
|
|
135
519
|
}
|
|
136
|
-
EventDisplayService.ɵfac =
|
|
137
|
-
EventDisplayService.ɵprov = i0.ɵɵ
|
|
138
|
-
|
|
520
|
+
EventDisplayService.ɵfac = function EventDisplayService_Factory(t) { return new (t || EventDisplayService)(); };
|
|
521
|
+
EventDisplayService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: EventDisplayService, factory: EventDisplayService.ɵfac, providedIn: 'root' });
|
|
522
|
+
(function () {
|
|
523
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventDisplayService, [{
|
|
139
524
|
type: Injectable,
|
|
140
525
|
args: [{
|
|
141
526
|
providedIn: 'root',
|
|
142
527
|
}]
|
|
143
|
-
}],
|
|
528
|
+
}], function () { return []; }, null);
|
|
529
|
+
})();
|
|
144
530
|
|
|
531
|
+
const _c0$8 = function (a0) { return { disabled: a0 }; };
|
|
532
|
+
const _c1$3 = function (a0) { return { "active-icon": a0 }; };
|
|
145
533
|
class MenuToggleComponent {
|
|
146
534
|
constructor() {
|
|
147
535
|
this.disabled = false;
|
|
148
536
|
}
|
|
149
537
|
}
|
|
150
|
-
MenuToggleComponent.ɵfac =
|
|
151
|
-
MenuToggleComponent.ɵcmp = i0.ɵɵ
|
|
152
|
-
|
|
538
|
+
MenuToggleComponent.ɵfac = function MenuToggleComponent_Factory(t) { return new (t || MenuToggleComponent)(); };
|
|
539
|
+
MenuToggleComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuToggleComponent, selectors: [["app-menu-toggle"]], inputs: { icon: "icon", active: "active", tooltip: "tooltip", disabled: "disabled" }, decls: 3, vars: 9, consts: [["matTooltipPosition", "above", "matTooltipTouchGestures", "off", 1, "menu-toggle", 3, "ngClass", "matTooltip"], [1, "menu-toggle-icon", 3, "ngClass"]], template: function MenuToggleComponent_Template(rf, ctx) {
|
|
540
|
+
if (rf & 1) {
|
|
541
|
+
i0.ɵɵelementStart(0, "button", 0);
|
|
542
|
+
i0.ɵɵnamespaceSVG();
|
|
543
|
+
i0.ɵɵelementStart(1, "svg", 1);
|
|
544
|
+
i0.ɵɵelement(2, "use");
|
|
545
|
+
i0.ɵɵelementEnd()();
|
|
546
|
+
}
|
|
547
|
+
if (rf & 2) {
|
|
548
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(5, _c0$8, ctx.disabled))("matTooltip", ctx.tooltip);
|
|
549
|
+
i0.ɵɵadvance(1);
|
|
550
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$3, ctx.active));
|
|
551
|
+
i0.ɵɵadvance(1);
|
|
552
|
+
i0.ɵɵattributeInterpolate2("href", "assets/icons/", ctx.icon, ".svg#", ctx.icon, "");
|
|
553
|
+
}
|
|
554
|
+
}, dependencies: [i2.NgClass, i2$3.MatTooltip], styles: ["[_nghost-%COMP%]{display:flex;margin:0 .6rem}[_nghost-%COMP%] .menu-toggle[_ngcontent-%COMP%]{display:flex;background:unset;border:none;height:2.5rem;width:2.5rem;min-height:2.5rem;min-width:2.5rem;padding:.65rem;cursor:pointer;align-self:center;transition:all .4s}[_nghost-%COMP%] .menu-toggle-icon[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .menu-toggle-icon.active-icon[_ngcontent-%COMP%]{--phoenix-options-icon-path: #00bcd4}[_nghost-%COMP%] .menu-toggle[_ngcontent-%COMP%]:hover{background-color:var(--phoenix-options-icon-bg);border-radius:40%;transition:all .4s}[_nghost-%COMP%] .menu-toggle.disabled[_ngcontent-%COMP%]{cursor:not-allowed;opacity:.4}"] });
|
|
555
|
+
(function () {
|
|
556
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuToggleComponent, [{
|
|
153
557
|
type: Component,
|
|
154
558
|
args: [{ selector: 'app-menu-toggle', template: "<button\n class=\"menu-toggle\"\n [ngClass]=\"{ disabled: disabled }\"\n [matTooltip]=\"tooltip\"\n matTooltipPosition=\"above\"\n matTooltipTouchGestures=\"off\"\n>\n <svg class=\"menu-toggle-icon\" [ngClass]=\"{ 'active-icon': active }\">\n <use attr.href=\"assets/icons/{{ icon }}.svg#{{ icon }}\"></use>\n </svg>\n</button>\n", styles: [":host{display:flex;margin:0 .6rem}:host .menu-toggle{display:flex;background:unset;border:none;height:2.5rem;width:2.5rem;min-height:2.5rem;min-width:2.5rem;padding:.65rem;cursor:pointer;align-self:center;transition:all .4s}:host .menu-toggle-icon{width:100%;height:100%}:host .menu-toggle-icon.active-icon{--phoenix-options-icon-path: #00bcd4}:host .menu-toggle:hover{background-color:var(--phoenix-options-icon-bg);border-radius:40%;transition:all .4s}:host .menu-toggle.disabled{cursor:not-allowed;opacity:.4}\n"] }]
|
|
155
|
-
}],
|
|
559
|
+
}], null, { icon: [{
|
|
156
560
|
type: Input
|
|
157
561
|
}], active: [{
|
|
158
562
|
type: Input
|
|
@@ -160,8 +564,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
|
|
|
160
564
|
type: Input
|
|
161
565
|
}], disabled: [{
|
|
162
566
|
type: Input
|
|
163
|
-
}] }
|
|
567
|
+
}] });
|
|
568
|
+
})();
|
|
164
569
|
|
|
570
|
+
function AnimateCameraComponent_button_2_Template(rf, ctx) {
|
|
571
|
+
if (rf & 1) {
|
|
572
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
573
|
+
i0.ɵɵelementStart(0, "button", 2);
|
|
574
|
+
i0.ɵɵlistener("click", function AnimateCameraComponent_button_2_Template_button_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r4); const preset_r2 = restoredCtx.$implicit; const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.animatePreset(preset_r2)); });
|
|
575
|
+
i0.ɵɵtext(1);
|
|
576
|
+
i0.ɵɵelementEnd();
|
|
577
|
+
}
|
|
578
|
+
if (rf & 2) {
|
|
579
|
+
const preset_r2 = ctx.$implicit;
|
|
580
|
+
i0.ɵɵadvance(1);
|
|
581
|
+
i0.ɵɵtextInterpolate1(" ", preset_r2, " ");
|
|
582
|
+
}
|
|
583
|
+
}
|
|
165
584
|
const defaultAnimationPresets = {
|
|
166
585
|
'Preset 1': {
|
|
167
586
|
positions: [
|
|
@@ -221,14 +640,33 @@ class AnimateCameraComponent {
|
|
|
221
640
|
sceneManager.setGeometryOpacity(geometriesGroup, opacity);
|
|
222
641
|
}
|
|
223
642
|
}
|
|
224
|
-
AnimateCameraComponent.ɵfac =
|
|
225
|
-
AnimateCameraComponent.ɵcmp = i0.ɵɵ
|
|
226
|
-
|
|
643
|
+
AnimateCameraComponent.ɵfac = function AnimateCameraComponent_Factory(t) { return new (t || AnimateCameraComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
644
|
+
AnimateCameraComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AnimateCameraComponent, selectors: [["app-animate-camera"]], inputs: { animationPresets: "animationPresets" }, decls: 6, vars: 2, consts: [["animationPresets", ""], ["mat-menu-item", "", 3, "click", 4, "ngFor", "ngForOf"], ["mat-menu-item", "", 3, "click"], ["tooltip", "Preset animations", "icon", "animate-camera", 3, "matMenuTriggerFor"]], template: function AnimateCameraComponent_Template(rf, ctx) {
|
|
645
|
+
if (rf & 1) {
|
|
646
|
+
i0.ɵɵelementStart(0, "mat-menu", null, 0);
|
|
647
|
+
i0.ɵɵtemplate(2, AnimateCameraComponent_button_2_Template, 2, 1, "button", 1);
|
|
648
|
+
i0.ɵɵelementStart(3, "button", 2);
|
|
649
|
+
i0.ɵɵlistener("click", function AnimateCameraComponent_Template_button_click_3_listener() { return ctx.animateCamera(); });
|
|
650
|
+
i0.ɵɵtext(4, "Animate camera");
|
|
651
|
+
i0.ɵɵelementEnd()();
|
|
652
|
+
i0.ɵɵelement(5, "app-menu-toggle", 3);
|
|
653
|
+
}
|
|
654
|
+
if (rf & 2) {
|
|
655
|
+
const _r0 = i0.ɵɵreference(1);
|
|
656
|
+
i0.ɵɵadvance(2);
|
|
657
|
+
i0.ɵɵproperty("ngForOf", ctx.animationPresetsKeys);
|
|
658
|
+
i0.ɵɵadvance(3);
|
|
659
|
+
i0.ɵɵproperty("matMenuTriggerFor", _r0);
|
|
660
|
+
}
|
|
661
|
+
}, dependencies: [i2.NgForOf, i3$1.MatMenu, i3$1.MatMenuItem, i3$1.MatMenuTrigger, MenuToggleComponent] });
|
|
662
|
+
(function () {
|
|
663
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnimateCameraComponent, [{
|
|
227
664
|
type: Component,
|
|
228
665
|
args: [{ selector: 'app-animate-camera', template: "<mat-menu #animationPresets>\n <button\n mat-menu-item\n *ngFor=\"let preset of animationPresetsKeys\"\n (click)=\"animatePreset(preset)\"\n >\n {{ preset }}\n </button>\n <button mat-menu-item (click)=\"animateCamera()\">Animate camera</button>\n</mat-menu>\n\n<app-menu-toggle\n [matMenuTriggerFor]=\"animationPresets\"\n tooltip=\"Preset animations\"\n icon=\"animate-camera\"\n>\n</app-menu-toggle>\n" }]
|
|
229
|
-
}],
|
|
666
|
+
}], function () { return [{ type: EventDisplayService }]; }, { animationPresets: [{
|
|
230
667
|
type: Input
|
|
231
|
-
}] }
|
|
668
|
+
}] });
|
|
669
|
+
})();
|
|
232
670
|
|
|
233
671
|
class AnimateEventComponent {
|
|
234
672
|
constructor(eventDisplay) {
|
|
@@ -244,12 +682,23 @@ class AnimateEventComponent {
|
|
|
244
682
|
}
|
|
245
683
|
}
|
|
246
684
|
}
|
|
247
|
-
AnimateEventComponent.ɵfac =
|
|
248
|
-
AnimateEventComponent.ɵcmp = i0.ɵɵ
|
|
249
|
-
|
|
685
|
+
AnimateEventComponent.ɵfac = function AnimateEventComponent_Factory(t) { return new (t || AnimateEventComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
686
|
+
AnimateEventComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AnimateEventComponent, selectors: [["app-animate-event"]], decls: 1, vars: 1, consts: [["tooltip", "Animate event", "icon", "event-folder", 3, "active", "click"]], template: function AnimateEventComponent_Template(rf, ctx) {
|
|
687
|
+
if (rf & 1) {
|
|
688
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
689
|
+
i0.ɵɵlistener("click", function AnimateEventComponent_Template_app_menu_toggle_click_0_listener() { return ctx.toggleAnimateEvent(); });
|
|
690
|
+
i0.ɵɵelementEnd();
|
|
691
|
+
}
|
|
692
|
+
if (rf & 2) {
|
|
693
|
+
i0.ɵɵproperty("active", ctx.isAnimating);
|
|
694
|
+
}
|
|
695
|
+
}, dependencies: [MenuToggleComponent] });
|
|
696
|
+
(function () {
|
|
697
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnimateEventComponent, [{
|
|
250
698
|
type: Component,
|
|
251
699
|
args: [{ selector: 'app-animate-event', template: "<app-menu-toggle\n tooltip=\"Animate event\"\n icon=\"event-folder\"\n [active]=\"isAnimating\"\n (click)=\"toggleAnimateEvent()\"\n>\n</app-menu-toggle>\n" }]
|
|
252
|
-
}],
|
|
700
|
+
}], function () { return [{ type: EventDisplayService }]; }, null);
|
|
701
|
+
})();
|
|
253
702
|
|
|
254
703
|
class AutoRotateComponent {
|
|
255
704
|
constructor(eventDisplay) {
|
|
@@ -261,13 +710,93 @@ class AutoRotateComponent {
|
|
|
261
710
|
this.eventDisplay.getUIManager().setAutoRotate(this.autoRotate);
|
|
262
711
|
}
|
|
263
712
|
}
|
|
264
|
-
AutoRotateComponent.ɵfac =
|
|
265
|
-
AutoRotateComponent.ɵcmp = i0.ɵɵ
|
|
266
|
-
|
|
713
|
+
AutoRotateComponent.ɵfac = function AutoRotateComponent_Factory(t) { return new (t || AutoRotateComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
714
|
+
AutoRotateComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AutoRotateComponent, selectors: [["app-auto-rotate"]], decls: 1, vars: 1, consts: [["tooltip", "Auto rotate", "icon", "rotate", 3, "active", "click"]], template: function AutoRotateComponent_Template(rf, ctx) {
|
|
715
|
+
if (rf & 1) {
|
|
716
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
717
|
+
i0.ɵɵlistener("click", function AutoRotateComponent_Template_app_menu_toggle_click_0_listener() { return ctx.toggleAutoRotate(); });
|
|
718
|
+
i0.ɵɵelementEnd();
|
|
719
|
+
}
|
|
720
|
+
if (rf & 2) {
|
|
721
|
+
i0.ɵɵproperty("active", ctx.autoRotate);
|
|
722
|
+
}
|
|
723
|
+
}, dependencies: [MenuToggleComponent] });
|
|
724
|
+
(function () {
|
|
725
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AutoRotateComponent, [{
|
|
267
726
|
type: Component,
|
|
268
727
|
args: [{ selector: 'app-auto-rotate', template: "<app-menu-toggle\n tooltip=\"Auto rotate\"\n icon=\"rotate\"\n [active]=\"autoRotate\"\n (click)=\"toggleAutoRotate()\"\n>\n</app-menu-toggle>\n" }]
|
|
269
|
-
}],
|
|
728
|
+
}], function () { return [{ type: EventDisplayService }]; }, null);
|
|
729
|
+
})();
|
|
270
730
|
|
|
731
|
+
const _c0$7 = ["overlayCard"];
|
|
732
|
+
const _c1$2 = ["resizeHandleCorner"];
|
|
733
|
+
function OverlayComponent_div_2_div_1_Template(rf, ctx) {
|
|
734
|
+
if (rf & 1) {
|
|
735
|
+
i0.ɵɵelementStart(0, "div", 10);
|
|
736
|
+
i0.ɵɵnamespaceSVG();
|
|
737
|
+
i0.ɵɵelementStart(1, "svg");
|
|
738
|
+
i0.ɵɵelement(2, "use");
|
|
739
|
+
i0.ɵɵelementEnd()();
|
|
740
|
+
}
|
|
741
|
+
if (rf & 2) {
|
|
742
|
+
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
743
|
+
i0.ɵɵadvance(2);
|
|
744
|
+
i0.ɵɵattributeInterpolate2("href", "assets/icons/", ctx_r4.icon, ".svg#", ctx_r4.icon, "");
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
const _c2 = function (a0) { return { "with-body": a0 }; };
|
|
748
|
+
const _c3 = function (a0) { return { expand: a0 }; };
|
|
749
|
+
function OverlayComponent_div_2_Template(rf, ctx) {
|
|
750
|
+
if (rf & 1) {
|
|
751
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
752
|
+
i0.ɵɵelementStart(0, "div", 5);
|
|
753
|
+
i0.ɵɵtemplate(1, OverlayComponent_div_2_div_1_Template, 3, 2, "div", 6);
|
|
754
|
+
i0.ɵɵelementStart(2, "h5", 7);
|
|
755
|
+
i0.ɵɵtext(3);
|
|
756
|
+
i0.ɵɵelementEnd();
|
|
757
|
+
i0.ɵɵelementStart(4, "button", 8);
|
|
758
|
+
i0.ɵɵlistener("click", function OverlayComponent_div_2_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.showBody = !ctx_r5.showBody); });
|
|
759
|
+
i0.ɵɵnamespaceSVG();
|
|
760
|
+
i0.ɵɵelementStart(5, "svg");
|
|
761
|
+
i0.ɵɵelement(6, "use", 9);
|
|
762
|
+
i0.ɵɵelementEnd()()();
|
|
763
|
+
}
|
|
764
|
+
if (rf & 2) {
|
|
765
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
766
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c2, ctx_r1.showBody));
|
|
767
|
+
i0.ɵɵadvance(1);
|
|
768
|
+
i0.ɵɵproperty("ngIf", ctx_r1.icon);
|
|
769
|
+
i0.ɵɵadvance(2);
|
|
770
|
+
i0.ɵɵtextInterpolate(ctx_r1.overlayTitle);
|
|
771
|
+
i0.ɵɵadvance(1);
|
|
772
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c3, ctx_r1.showBody));
|
|
773
|
+
}
|
|
774
|
+
}
|
|
775
|
+
const _c4 = function (a0) { return { "transparent-bg": a0 }; };
|
|
776
|
+
function OverlayComponent_div_3_Template(rf, ctx) {
|
|
777
|
+
if (rf & 1) {
|
|
778
|
+
i0.ɵɵelementStart(0, "div", 11);
|
|
779
|
+
i0.ɵɵprojection(1);
|
|
780
|
+
i0.ɵɵelementEnd();
|
|
781
|
+
}
|
|
782
|
+
if (rf & 2) {
|
|
783
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
784
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c4, ctx_r2.transparentBody));
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
function OverlayComponent_span_4_Template(rf, ctx) {
|
|
788
|
+
if (rf & 1) {
|
|
789
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
790
|
+
i0.ɵɵelementStart(0, "span", 12, 13);
|
|
791
|
+
i0.ɵɵlistener("cdkDragMoved", function OverlayComponent_span_4_Template_span_cdkDragMoved_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.onResize()); });
|
|
792
|
+
i0.ɵɵelementEnd();
|
|
793
|
+
}
|
|
794
|
+
if (rf & 2) {
|
|
795
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
796
|
+
i0.ɵɵproperty("hidden", !ctx_r3.showBody);
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
const _c5 = ["*"];
|
|
271
800
|
/**
|
|
272
801
|
* Component for overlay panel.
|
|
273
802
|
*/
|
|
@@ -338,12 +867,41 @@ class OverlayComponent {
|
|
|
338
867
|
this.resizeHandleCorner.nativeElement.style.transform = `translate3d(${translateX}px, ${translateY}px, 0)`;
|
|
339
868
|
}
|
|
340
869
|
}
|
|
341
|
-
OverlayComponent.ɵfac =
|
|
342
|
-
OverlayComponent.ɵcmp = i0.ɵɵ
|
|
343
|
-
|
|
870
|
+
OverlayComponent.ɵfac = function OverlayComponent_Factory(t) { return new (t || OverlayComponent)(); };
|
|
871
|
+
OverlayComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OverlayComponent, selectors: [["app-overlay"]], viewQuery: function OverlayComponent_Query(rf, ctx) {
|
|
872
|
+
if (rf & 1) {
|
|
873
|
+
i0.ɵɵviewQuery(_c0$7, 5);
|
|
874
|
+
i0.ɵɵviewQuery(_c1$2, 5);
|
|
875
|
+
}
|
|
876
|
+
if (rf & 2) {
|
|
877
|
+
let _t;
|
|
878
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.overlayCard = _t.first);
|
|
879
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.resizeHandleCorner = _t.first);
|
|
880
|
+
}
|
|
881
|
+
}, inputs: { overlayTitle: "overlayTitle", active: "active", icon: "icon", resizable: "resizable", transparentBody: "transparentBody" }, ngContentSelectors: _c5, decls: 5, vars: 4, consts: [["cdkDrag", "", "cdkDragBoundary", "body", 1, "overlay-card", "card", 3, "hidden"], ["overlayCard", ""], ["class", "card-header d-flex justify-content-between", "cdkDragHandle", "", 3, "ngClass", 4, "ngIf"], ["class", "overlay-card-content", 3, "ngClass", 4, "ngIf"], ["class", "resize-handle corner", "cdkDrag", "", 3, "hidden", "cdkDragMoved", 4, "ngIf"], ["cdkDragHandle", "", 1, "card-header", "d-flex", "justify-content-between", 3, "ngClass"], ["class", "align-self-center card-icon", 4, "ngIf"], [1, "align-self-center", "m-0", "px-2"], ["matTooltip", "Expand / Collapse", "matTooltipPosition", "right", 1, "align-self-center", "card-icon", "btn-blank", "expandCollapse", 3, "ngClass", "click"], ["href", "assets/icons/expand.svg#expand"], [1, "align-self-center", "card-icon"], [1, "overlay-card-content", 3, "ngClass"], ["cdkDrag", "", 1, "resize-handle", "corner", 3, "hidden", "cdkDragMoved"], ["resizeHandleCorner", ""]], template: function OverlayComponent_Template(rf, ctx) {
|
|
882
|
+
if (rf & 1) {
|
|
883
|
+
i0.ɵɵprojectionDef();
|
|
884
|
+
i0.ɵɵelementStart(0, "div", 0, 1);
|
|
885
|
+
i0.ɵɵtemplate(2, OverlayComponent_div_2_Template, 7, 8, "div", 2);
|
|
886
|
+
i0.ɵɵtemplate(3, OverlayComponent_div_3_Template, 2, 3, "div", 3);
|
|
887
|
+
i0.ɵɵtemplate(4, OverlayComponent_span_4_Template, 2, 1, "span", 4);
|
|
888
|
+
i0.ɵɵelementEnd();
|
|
889
|
+
}
|
|
890
|
+
if (rf & 2) {
|
|
891
|
+
i0.ɵɵproperty("hidden", !ctx.active);
|
|
892
|
+
i0.ɵɵadvance(2);
|
|
893
|
+
i0.ɵɵproperty("ngIf", ctx.overlayTitle);
|
|
894
|
+
i0.ɵɵadvance(1);
|
|
895
|
+
i0.ɵɵproperty("ngIf", ctx.showBody);
|
|
896
|
+
i0.ɵɵadvance(1);
|
|
897
|
+
i0.ɵɵproperty("ngIf", ctx.resizable);
|
|
898
|
+
}
|
|
899
|
+
}, dependencies: [i2.NgClass, i2.NgIf, i2$4.CdkDrag, i2$4.CdkDragHandle, i2$3.MatTooltip], styles: [".overlay-card.card{color:var(--phoenix-text-color);background:none;max-width:100vw;font-size:12px;min-width:300px;height:100%;max-height:70vh;box-shadow:none;border:none;position:relative;z-index:200}.overlay-card.card .card-header{width:12rem;background:var(--phoenix-background-color-secondary);box-shadow:var(--phoenix-box-shadow);padding:.4rem .8rem;border-radius:10px;border:none;cursor:move;text-align:center;transition:all .2s}.overlay-card.card .card-header.with-body{border-bottom-left-radius:0;border-bottom-right-radius:0}.overlay-card.card .card-header .card-icon{display:flex;height:.7rem;width:.7rem}.overlay-card.card .card-header h5{font-size:.9rem}.overlay-card.card .card-header .expandCollapse{cursor:pointer;transition:all .2s}.overlay-card.card .card-header .expandCollapse.expand{transform:scaleY(-1)}.overlay-card.card .card-header .expandCollapse svg{width:100%;height:100%}.overlay-card.card .overlay-card-content{background:var(--phoenix-background-color-secondary);box-shadow:var(--phoenix-box-shadow);border-radius:0 10px 10px;overflow:auto;height:100%}.overlay-card.card .overlay-card-content.transparent-bg{background:none}.overlay-card.card .list-group{color:var(--phoenix-text-color-secondary);background:var(--phoenix-background-color-secondary);max-height:40vh;overflow:auto}.overlay-card.card .list-group .list-group-item{background-color:var(--phoenix-background-color-secondary);border-color:var(--phoenix-border)}.overlay-card.card .resize-handle{width:1rem;height:1rem;cursor:nwse-resize;position:absolute}.overlay-card.card .resize-handle.corner{border-right:.2rem solid var(--phoenix-text-color);border-bottom:.2rem solid var(--phoenix-text-color)}\n"], encapsulation: 2 });
|
|
900
|
+
(function () {
|
|
901
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OverlayComponent, [{
|
|
344
902
|
type: Component,
|
|
345
903
|
args: [{ selector: 'app-overlay', encapsulation: ViewEncapsulation.None, template: "<div\n #overlayCard\n class=\"overlay-card card\"\n [hidden]=\"!active\"\n cdkDrag\n cdkDragBoundary=\"body\"\n>\n <div\n class=\"card-header d-flex justify-content-between\"\n [ngClass]=\"{ 'with-body': showBody }\"\n cdkDragHandle\n *ngIf=\"overlayTitle\"\n >\n <div class=\"align-self-center card-icon\" *ngIf=\"icon\">\n <svg>\n <use attr.href=\"assets/icons/{{ icon }}.svg#{{ icon }}\"></use>\n </svg>\n </div>\n <h5 class=\"align-self-center m-0 px-2\">{{ overlayTitle }}</h5>\n <button\n class=\"align-self-center card-icon btn-blank expandCollapse\"\n matTooltip=\"Expand / Collapse\"\n matTooltipPosition=\"right\"\n [ngClass]=\"{ expand: showBody }\"\n (click)=\"showBody = !showBody\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n </div>\n <div\n class=\"overlay-card-content\"\n *ngIf=\"showBody\"\n [ngClass]=\"{ 'transparent-bg': transparentBody }\"\n >\n <ng-content></ng-content>\n </div>\n <!-- Making the overlay resizable -->\n <span\n #resizeHandleCorner\n class=\"resize-handle corner\"\n *ngIf=\"resizable\"\n [hidden]=\"!showBody\"\n cdkDrag\n (cdkDragMoved)=\"onResize()\"\n ></span>\n</div>\n", styles: [".overlay-card.card{color:var(--phoenix-text-color);background:none;max-width:100vw;font-size:12px;min-width:300px;height:100%;max-height:70vh;box-shadow:none;border:none;position:relative;z-index:200}.overlay-card.card .card-header{width:12rem;background:var(--phoenix-background-color-secondary);box-shadow:var(--phoenix-box-shadow);padding:.4rem .8rem;border-radius:10px;border:none;cursor:move;text-align:center;transition:all .2s}.overlay-card.card .card-header.with-body{border-bottom-left-radius:0;border-bottom-right-radius:0}.overlay-card.card .card-header .card-icon{display:flex;height:.7rem;width:.7rem}.overlay-card.card .card-header h5{font-size:.9rem}.overlay-card.card .card-header .expandCollapse{cursor:pointer;transition:all .2s}.overlay-card.card .card-header .expandCollapse.expand{transform:scaleY(-1)}.overlay-card.card .card-header .expandCollapse svg{width:100%;height:100%}.overlay-card.card .overlay-card-content{background:var(--phoenix-background-color-secondary);box-shadow:var(--phoenix-box-shadow);border-radius:0 10px 10px;overflow:auto;height:100%}.overlay-card.card .overlay-card-content.transparent-bg{background:none}.overlay-card.card .list-group{color:var(--phoenix-text-color-secondary);background:var(--phoenix-background-color-secondary);max-height:40vh;overflow:auto}.overlay-card.card .list-group .list-group-item{background-color:var(--phoenix-background-color-secondary);border-color:var(--phoenix-border)}.overlay-card.card .resize-handle{width:1rem;height:1rem;cursor:nwse-resize;position:absolute}.overlay-card.card .resize-handle.corner{border-right:.2rem solid var(--phoenix-text-color);border-bottom:.2rem solid var(--phoenix-text-color)}\n"] }]
|
|
346
|
-
}],
|
|
904
|
+
}], null, { overlayTitle: [{
|
|
347
905
|
type: Input
|
|
348
906
|
}], active: [{
|
|
349
907
|
type: Input
|
|
@@ -359,8 +917,207 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
|
|
|
359
917
|
}], resizeHandleCorner: [{
|
|
360
918
|
type: ViewChild,
|
|
361
919
|
args: ['resizeHandleCorner']
|
|
362
|
-
}] }
|
|
920
|
+
}] });
|
|
921
|
+
})();
|
|
363
922
|
|
|
923
|
+
function CollectionsInfoOverlayComponent_div_1_div_1_option_10_Template(rf, ctx) {
|
|
924
|
+
if (rf & 1) {
|
|
925
|
+
i0.ɵɵelementStart(0, "option", 15);
|
|
926
|
+
i0.ɵɵtext(1);
|
|
927
|
+
i0.ɵɵelementEnd();
|
|
928
|
+
}
|
|
929
|
+
if (rf & 2) {
|
|
930
|
+
const collection_r6 = ctx.$implicit;
|
|
931
|
+
i0.ɵɵproperty("value", collection_r6);
|
|
932
|
+
i0.ɵɵadvance(1);
|
|
933
|
+
i0.ɵɵtextInterpolate1(" ", collection_r6, " ");
|
|
934
|
+
}
|
|
935
|
+
}
|
|
936
|
+
function CollectionsInfoOverlayComponent_div_1_div_1_mat_checkbox_11_Template(rf, ctx) {
|
|
937
|
+
if (rf & 1) {
|
|
938
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
939
|
+
i0.ɵɵelementStart(0, "mat-checkbox", 16);
|
|
940
|
+
i0.ɵɵlistener("change", function CollectionsInfoOverlayComponent_div_1_div_1_mat_checkbox_11_Template_mat_checkbox_change_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r7.toggleInvisible($event.checked)); });
|
|
941
|
+
i0.ɵɵtext(1, " Hide Invisible Objects ");
|
|
942
|
+
i0.ɵɵelementEnd();
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
function CollectionsInfoOverlayComponent_div_1_div_1_Template(rf, ctx) {
|
|
946
|
+
if (rf & 1) {
|
|
947
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
948
|
+
i0.ɵɵelementStart(0, "div", 7)(1, "div", 8)(2, "span");
|
|
949
|
+
i0.ɵɵtext(3, "Choose a collection: ");
|
|
950
|
+
i0.ɵɵelementEnd();
|
|
951
|
+
i0.ɵɵelementStart(4, "div", 9)(5, "label", 10);
|
|
952
|
+
i0.ɵɵtext(6, "Event");
|
|
953
|
+
i0.ɵɵelementEnd();
|
|
954
|
+
i0.ɵɵelementStart(7, "select", 11);
|
|
955
|
+
i0.ɵɵlistener("change", function CollectionsInfoOverlayComponent_div_1_div_1_Template_select_change_7_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r9.changeCollection($event.target.value)); });
|
|
956
|
+
i0.ɵɵelementStart(8, "option", 12);
|
|
957
|
+
i0.ɵɵtext(9, "Choose Collection");
|
|
958
|
+
i0.ɵɵelementEnd();
|
|
959
|
+
i0.ɵɵtemplate(10, CollectionsInfoOverlayComponent_div_1_div_1_option_10_Template, 2, 2, "option", 13);
|
|
960
|
+
i0.ɵɵelementEnd()();
|
|
961
|
+
i0.ɵɵtemplate(11, CollectionsInfoOverlayComponent_div_1_div_1_mat_checkbox_11_Template, 2, 0, "mat-checkbox", 14);
|
|
962
|
+
i0.ɵɵelementEnd()();
|
|
963
|
+
}
|
|
964
|
+
if (rf & 2) {
|
|
965
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
966
|
+
i0.ɵɵadvance(10);
|
|
967
|
+
i0.ɵɵproperty("ngForOf", ctx_r1.collections);
|
|
968
|
+
i0.ɵɵadvance(1);
|
|
969
|
+
i0.ɵɵproperty("ngIf", ctx_r1.showingCollection);
|
|
970
|
+
}
|
|
971
|
+
}
|
|
972
|
+
function CollectionsInfoOverlayComponent_div_1_table_3_th_9_Template(rf, ctx) {
|
|
973
|
+
if (rf & 1) {
|
|
974
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
975
|
+
i0.ɵɵelementStart(0, "th")(1, "div", 20)(2, "div");
|
|
976
|
+
i0.ɵɵtext(3);
|
|
977
|
+
i0.ɵɵelementEnd();
|
|
978
|
+
i0.ɵɵelementStart(4, "div", 21)(5, "button", 22);
|
|
979
|
+
i0.ɵɵlistener("click", function CollectionsInfoOverlayComponent_div_1_table_3_th_9_Template_button_click_5_listener() { const restoredCtx = i0.ɵɵrestoreView(_r15); const column_r13 = restoredCtx.$implicit; const ctx_r14 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r14.sort(column_r13, "dec")); });
|
|
980
|
+
i0.ɵɵnamespaceSVG();
|
|
981
|
+
i0.ɵɵelementStart(6, "svg");
|
|
982
|
+
i0.ɵɵelement(7, "use", 23);
|
|
983
|
+
i0.ɵɵelementEnd()();
|
|
984
|
+
i0.ɵɵnamespaceHTML();
|
|
985
|
+
i0.ɵɵelementStart(8, "button", 24);
|
|
986
|
+
i0.ɵɵlistener("click", function CollectionsInfoOverlayComponent_div_1_table_3_th_9_Template_button_click_8_listener() { const restoredCtx = i0.ɵɵrestoreView(_r15); const column_r13 = restoredCtx.$implicit; const ctx_r16 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r16.sort(column_r13, "asc")); });
|
|
987
|
+
i0.ɵɵnamespaceSVG();
|
|
988
|
+
i0.ɵɵelementStart(9, "svg");
|
|
989
|
+
i0.ɵɵelement(10, "use", 23);
|
|
990
|
+
i0.ɵɵelementEnd()()()()();
|
|
991
|
+
}
|
|
992
|
+
if (rf & 2) {
|
|
993
|
+
const column_r13 = ctx.$implicit;
|
|
994
|
+
const ctx_r11 = i0.ɵɵnextContext(3);
|
|
995
|
+
i0.ɵɵadvance(3);
|
|
996
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r11.getPrettySymbol(column_r13), " ");
|
|
997
|
+
}
|
|
998
|
+
}
|
|
999
|
+
function CollectionsInfoOverlayComponent_div_1_table_3_tr_11_div_4_Template(rf, ctx) {
|
|
1000
|
+
if (rf & 1) {
|
|
1001
|
+
const _r23 = i0.ɵɵgetCurrentView();
|
|
1002
|
+
i0.ɵɵelementStart(0, "div", 33)(1, "button", 34);
|
|
1003
|
+
i0.ɵɵlistener("click", function CollectionsInfoOverlayComponent_div_1_table_3_tr_11_div_4_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r23); const object_r17 = i0.ɵɵnextContext().$implicit; const ctx_r21 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r21.lookAtObject(object_r17.uuid)); });
|
|
1004
|
+
i0.ɵɵnamespaceSVG();
|
|
1005
|
+
i0.ɵɵelementStart(2, "svg");
|
|
1006
|
+
i0.ɵɵelement(3, "use", 35);
|
|
1007
|
+
i0.ɵɵelementEnd()();
|
|
1008
|
+
i0.ɵɵnamespaceHTML();
|
|
1009
|
+
i0.ɵɵelementStart(4, "button", 36);
|
|
1010
|
+
i0.ɵɵlistener("click", function CollectionsInfoOverlayComponent_div_1_table_3_tr_11_div_4_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r23); const object_r17 = i0.ɵɵnextContext().$implicit; const ctx_r24 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r24.highlightObject(object_r17.uuid)); });
|
|
1011
|
+
i0.ɵɵnamespaceSVG();
|
|
1012
|
+
i0.ɵɵelementStart(5, "svg");
|
|
1013
|
+
i0.ɵɵelement(6, "use", 37);
|
|
1014
|
+
i0.ɵɵelementEnd()()();
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
function CollectionsInfoOverlayComponent_div_1_table_3_tr_11_td_13_Template(rf, ctx) {
|
|
1018
|
+
if (rf & 1) {
|
|
1019
|
+
i0.ɵɵnamespaceSVG();
|
|
1020
|
+
i0.ɵɵnamespaceHTML();
|
|
1021
|
+
i0.ɵɵelementStart(0, "td");
|
|
1022
|
+
i0.ɵɵtext(1);
|
|
1023
|
+
i0.ɵɵelementEnd();
|
|
1024
|
+
}
|
|
1025
|
+
if (rf & 2) {
|
|
1026
|
+
const column_r26 = ctx.$implicit;
|
|
1027
|
+
const object_r17 = i0.ɵɵnextContext().$implicit;
|
|
1028
|
+
i0.ɵɵadvance(1);
|
|
1029
|
+
i0.ɵɵtextInterpolate1(" ", object_r17[column_r26], " ");
|
|
1030
|
+
}
|
|
1031
|
+
}
|
|
1032
|
+
const _c0$6 = function (a0, a1, a2) { return { "active-object": a0, "is-cut": a1, "d-none": a2 }; };
|
|
1033
|
+
function CollectionsInfoOverlayComponent_div_1_table_3_tr_11_Template(rf, ctx) {
|
|
1034
|
+
if (rf & 1) {
|
|
1035
|
+
const _r29 = i0.ɵɵgetCurrentView();
|
|
1036
|
+
i0.ɵɵelementStart(0, "tr", 25)(1, "td");
|
|
1037
|
+
i0.ɵɵtext(2);
|
|
1038
|
+
i0.ɵɵelementEnd();
|
|
1039
|
+
i0.ɵɵelementStart(3, "td");
|
|
1040
|
+
i0.ɵɵtemplate(4, CollectionsInfoOverlayComponent_div_1_table_3_tr_11_div_4_Template, 7, 0, "div", 26);
|
|
1041
|
+
i0.ɵɵelementEnd();
|
|
1042
|
+
i0.ɵɵelementStart(5, "td")(6, "div", 27)(7, "div", 28);
|
|
1043
|
+
i0.ɵɵelement(8, "input", 29);
|
|
1044
|
+
i0.ɵɵelementEnd();
|
|
1045
|
+
i0.ɵɵelementStart(9, "div", 30)(10, "button", 31);
|
|
1046
|
+
i0.ɵɵlistener("click", function CollectionsInfoOverlayComponent_div_1_table_3_tr_11_Template_button_click_10_listener() { const restoredCtx = i0.ɵɵrestoreView(_r29); const i_r18 = restoredCtx.index; const object_r17 = restoredCtx.$implicit; const ctx_r28 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r28.addLabel(i_r18, object_r17.uuid)); });
|
|
1047
|
+
i0.ɵɵnamespaceSVG();
|
|
1048
|
+
i0.ɵɵelementStart(11, "svg");
|
|
1049
|
+
i0.ɵɵelement(12, "use", 32);
|
|
1050
|
+
i0.ɵɵelementEnd()()()()();
|
|
1051
|
+
i0.ɵɵtemplate(13, CollectionsInfoOverlayComponent_div_1_table_3_tr_11_td_13_Template, 2, 1, "td", 18);
|
|
1052
|
+
i0.ɵɵelementEnd();
|
|
1053
|
+
}
|
|
1054
|
+
if (rf & 2) {
|
|
1055
|
+
const object_r17 = ctx.$implicit;
|
|
1056
|
+
const i_r18 = ctx.index;
|
|
1057
|
+
const ctx_r12 = i0.ɵɵnextContext(3);
|
|
1058
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(6, _c0$6, ctx_r12.activeObject && ctx_r12.activeObject.value === object_r17.uuid, object_r17.isCut, object_r17.isCut && ctx_r12.hideInvisible));
|
|
1059
|
+
i0.ɵɵattribute("id", object_r17.uuid);
|
|
1060
|
+
i0.ɵɵadvance(2);
|
|
1061
|
+
i0.ɵɵtextInterpolate1("#", i_r18, "");
|
|
1062
|
+
i0.ɵɵadvance(2);
|
|
1063
|
+
i0.ɵɵproperty("ngIf", object_r17.uuid);
|
|
1064
|
+
i0.ɵɵadvance(4);
|
|
1065
|
+
i0.ɵɵproperty("id", "label" + i_r18);
|
|
1066
|
+
i0.ɵɵadvance(5);
|
|
1067
|
+
i0.ɵɵproperty("ngForOf", ctx_r12.collectionColumns);
|
|
1068
|
+
}
|
|
1069
|
+
}
|
|
1070
|
+
function CollectionsInfoOverlayComponent_div_1_table_3_Template(rf, ctx) {
|
|
1071
|
+
if (rf & 1) {
|
|
1072
|
+
i0.ɵɵelementStart(0, "table", 17)(1, "thead")(2, "tr")(3, "th");
|
|
1073
|
+
i0.ɵɵtext(4, "No.");
|
|
1074
|
+
i0.ɵɵelementEnd();
|
|
1075
|
+
i0.ɵɵelementStart(5, "th");
|
|
1076
|
+
i0.ɵɵtext(6, "Selection");
|
|
1077
|
+
i0.ɵɵelementEnd();
|
|
1078
|
+
i0.ɵɵelementStart(7, "th");
|
|
1079
|
+
i0.ɵɵtext(8, "Label");
|
|
1080
|
+
i0.ɵɵelementEnd();
|
|
1081
|
+
i0.ɵɵtemplate(9, CollectionsInfoOverlayComponent_div_1_table_3_th_9_Template, 11, 1, "th", 18);
|
|
1082
|
+
i0.ɵɵelementEnd()();
|
|
1083
|
+
i0.ɵɵelementStart(10, "tbody");
|
|
1084
|
+
i0.ɵɵtemplate(11, CollectionsInfoOverlayComponent_div_1_table_3_tr_11_Template, 14, 10, "tr", 19);
|
|
1085
|
+
i0.ɵɵelementEnd()();
|
|
1086
|
+
}
|
|
1087
|
+
if (rf & 2) {
|
|
1088
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
1089
|
+
i0.ɵɵadvance(9);
|
|
1090
|
+
i0.ɵɵproperty("ngForOf", ctx_r2.collectionColumns);
|
|
1091
|
+
i0.ɵɵadvance(2);
|
|
1092
|
+
i0.ɵɵproperty("ngForOf", ctx_r2.showingCollection);
|
|
1093
|
+
}
|
|
1094
|
+
}
|
|
1095
|
+
function CollectionsInfoOverlayComponent_div_1_p_4_Template(rf, ctx) {
|
|
1096
|
+
if (rf & 1) {
|
|
1097
|
+
i0.ɵɵelementStart(0, "p", 38);
|
|
1098
|
+
i0.ɵɵtext(1, " Load event data to be able to display information about the collections here. ");
|
|
1099
|
+
i0.ɵɵelementEnd();
|
|
1100
|
+
}
|
|
1101
|
+
}
|
|
1102
|
+
function CollectionsInfoOverlayComponent_div_1_Template(rf, ctx) {
|
|
1103
|
+
if (rf & 1) {
|
|
1104
|
+
i0.ɵɵelementStart(0, "div", 2);
|
|
1105
|
+
i0.ɵɵtemplate(1, CollectionsInfoOverlayComponent_div_1_div_1_Template, 12, 2, "div", 3);
|
|
1106
|
+
i0.ɵɵelementStart(2, "div", 4);
|
|
1107
|
+
i0.ɵɵtemplate(3, CollectionsInfoOverlayComponent_div_1_table_3_Template, 12, 2, "table", 5);
|
|
1108
|
+
i0.ɵɵtemplate(4, CollectionsInfoOverlayComponent_div_1_p_4_Template, 2, 0, "p", 6);
|
|
1109
|
+
i0.ɵɵelementEnd()();
|
|
1110
|
+
}
|
|
1111
|
+
if (rf & 2) {
|
|
1112
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
1113
|
+
i0.ɵɵadvance(1);
|
|
1114
|
+
i0.ɵɵproperty("ngIf", ctx_r0.collections != null);
|
|
1115
|
+
i0.ɵɵadvance(2);
|
|
1116
|
+
i0.ɵɵproperty("ngIf", ctx_r0.showingCollection);
|
|
1117
|
+
i0.ɵɵadvance(1);
|
|
1118
|
+
i0.ɵɵproperty("ngIf", !ctx_r0.collections);
|
|
1119
|
+
}
|
|
1120
|
+
}
|
|
364
1121
|
class CollectionsInfoOverlayComponent {
|
|
365
1122
|
constructor(elementRef, eventDisplay) {
|
|
366
1123
|
this.elementRef = elementRef;
|
|
@@ -424,14 +1181,27 @@ class CollectionsInfoOverlayComponent {
|
|
|
424
1181
|
.getObjectByName(SceneManager.EVENT_DATA_ID);
|
|
425
1182
|
}
|
|
426
1183
|
}
|
|
427
|
-
CollectionsInfoOverlayComponent.ɵfac =
|
|
428
|
-
CollectionsInfoOverlayComponent.ɵcmp = i0.ɵɵ
|
|
429
|
-
|
|
1184
|
+
CollectionsInfoOverlayComponent.ɵfac = function CollectionsInfoOverlayComponent_Factory(t) { return new (t || CollectionsInfoOverlayComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
1185
|
+
CollectionsInfoOverlayComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollectionsInfoOverlayComponent, selectors: [["app-collections-info-overlay"]], inputs: { showObjectsInfo: "showObjectsInfo" }, decls: 2, vars: 3, consts: [["overlayTitle", "Collections Info", "icon", "info", 3, "resizable", "active"], ["class", "collectionsInfo m-2", 4, "ngIf"], [1, "collectionsInfo", "m-2"], ["class", "collectionSelector mb-2 d-flex align-items-center", 4, "ngIf"], [1, "boxBody", "table-responsive"], ["id", "collectionTable", "class", "table table-borderless table-sm", 4, "ngIf"], ["class", "emptyBox", 4, "ngIf"], [1, "collectionSelector", "mb-2", "d-flex", "align-items-center"], [1, "d-flex", "align-items-center"], [1, "eventSelector"], ["for", "event"], ["id", "collection", "name", "collection", 3, "change"], ["value", "", "selected", "", "disabled", "", "hidden", ""], [3, "value", 4, "ngFor", "ngForOf"], [3, "change", 4, "ngIf"], [3, "value"], [3, "change"], ["id", "collectionTable", 1, "table", "table-borderless", "table-sm"], [4, "ngFor", "ngForOf"], [3, "ngClass", 4, "ngFor", "ngForOf"], [1, "head-wrapper"], [1, "sort-options"], [1, "icon-wrapper", "icon-button", "btn-blank", "up", 3, "click"], ["href", "assets/icons/expand.svg#expand"], [1, "icon-wrapper", "icon-button", "btn-blank", 3, "click"], [3, "ngClass"], ["class", "row justify-content-center icon-wrapper", 4, "ngIf"], [1, "row", "m-0", "add-label"], [1, "col-10", "p-0"], ["type", "text", 1, "form-control", "form-control-sm", 3, "id"], [1, "col-2", "p-0", "pl-2", "text-center", "icon-wrapper"], ["matTooltip", "Add, update or remove object label", 1, "object-select", "btn-blank", 3, "click"], ["href", "assets/icons/update.svg#update"], [1, "row", "justify-content-center", "icon-wrapper"], ["matTooltip", "Move camera to object", 1, "object-select", "btn-blank", 3, "click"], ["href", "assets/icons/views.svg#views"], ["matTooltip", "Highlight object", 1, "object-select", "btn-blank", 3, "click"], ["href", "assets/icons/cursor.svg#cursor"], [1, "emptyBox"]], template: function CollectionsInfoOverlayComponent_Template(rf, ctx) {
|
|
1186
|
+
if (rf & 1) {
|
|
1187
|
+
i0.ɵɵelementStart(0, "app-overlay", 0);
|
|
1188
|
+
i0.ɵɵtemplate(1, CollectionsInfoOverlayComponent_div_1_Template, 5, 3, "div", 1);
|
|
1189
|
+
i0.ɵɵelementEnd();
|
|
1190
|
+
}
|
|
1191
|
+
if (rf & 2) {
|
|
1192
|
+
i0.ɵɵproperty("resizable", true)("active", ctx.showObjectsInfo);
|
|
1193
|
+
i0.ɵɵadvance(1);
|
|
1194
|
+
i0.ɵɵproperty("ngIf", ctx.showObjectsInfo);
|
|
1195
|
+
}
|
|
1196
|
+
}, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i2$3.MatTooltip, i4.MatCheckbox, OverlayComponent], styles: [".collectionsInfo[_ngcontent-%COMP%]{height:95%}.collectionsInfo[_ngcontent-%COMP%] .collectionSelector[_ngcontent-%COMP%]{height:15%;min-height:2rem}.collectionsInfo[_ngcontent-%COMP%] .collectionSelector[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--phoenix-text-color-secondary);margin-right:1rem}.collectionsInfo[_ngcontent-%COMP%] .collectionSelector[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{margin-left:1rem}.boxBody[_ngcontent-%COMP%]{height:85%;overflow:scroll}.boxBody[_ngcontent-%COMP%] p.emptyBox[_ngcontent-%COMP%]{max-width:21em}.boxBody[_ngcontent-%COMP%] .add-label[_ngcontent-%COMP%]{min-width:8rem}.boxBody[_ngcontent-%COMP%] .add-label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding:.1rem .3rem;font-size:.75rem}#collectionTable[_ngcontent-%COMP%]{position:relative;color:var(--phoenix-text-color-secondary)}#collectionTable[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{position:sticky;top:0;z-index:100;background:var(--phoenix-background-color-secondary)}#collectionTable[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] .head-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center}#collectionTable[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] .head-wrapper[_ngcontent-%COMP%] .sort-options[_ngcontent-%COMP%]{display:flex;flex-direction:row}#collectionTable[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] .head-wrapper[_ngcontent-%COMP%] .sort-options[_ngcontent-%COMP%] .icon-wrapper[_ngcontent-%COMP%]{display:flex;width:1rem;height:1rem;padding:.2rem}#collectionTable[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] .head-wrapper[_ngcontent-%COMP%] .sort-options[_ngcontent-%COMP%] .icon-wrapper.up[_ngcontent-%COMP%]{transform:rotate(180deg)}#collectionTable[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] .head-wrapper[_ngcontent-%COMP%] .sort-options[_ngcontent-%COMP%] .icon-wrapper[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:100%;height:100%}#collectionTable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{padding-right:1.2rem}#collectionTable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] *[_ngcontent-%COMP%]:last-child{padding-right:0}#collectionTable[_ngcontent-%COMP%] tr.is-cut[_ngcontent-%COMP%]{opacity:.5}#collectionTable[_ngcontent-%COMP%] tr.active-object[_ngcontent-%COMP%]{color:var(--phoenix-background-color);background:var(--phoenix-text-color);box-shadow:0 0 15px var(--phoenix-text-color)}#collectionTable[_ngcontent-%COMP%] tr.active-object[_ngcontent-%COMP%] div.icon-wrapper[_ngcontent-%COMP%]{--phoenix-options-icon-path: var(--phoenix-background-color);--phoenix-options-icon-bg: var(--phoenix-text-color-hover)}#collectionTable[_ngcontent-%COMP%] tr.active-object[_ngcontent-%COMP%] .add-label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{--phoenix-text-color: var(--phoenix-background-color);--phoenix-background-color-tertiary: var( --phoenix-text-color-secondary );--phoenix-border: var(--phoenix-background-color)}#collectionTable[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .object-select[_ngcontent-%COMP%]{position:relative;width:1.6rem;height:1.6rem;margin-right:.4em;text-align:center;background-color:var(--phoenix-options-icon-bg);border-radius:10px;cursor:pointer}#collectionTable[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .object-select[_ngcontent-%COMP%]:last-child{margin-right:0}#collectionTable[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .object-select[_ngcontent-%COMP%]:hover{border:1px solid var(--phoenix-options-icon-path)}#collectionTable[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .object-select[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{position:absolute;top:0;left:0;padding:.4rem;width:100%;height:100%;vertical-align:top}.eventSelector[_ngcontent-%COMP%]{display:flex}.eventSelector[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:none;color:var(--phoenix-text-color-secondary)}.eventSelector[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:9rem;padding:5px 10px;font-size:12px;border:1px solid rgba(88,88,88,.08);box-shadow:var(--phoenix-icon-shadow);background-color:var(--phoenix-background-color-tertiary);color:var(--phoenix-text-color-secondary)}"] });
|
|
1197
|
+
(function () {
|
|
1198
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CollectionsInfoOverlayComponent, [{
|
|
430
1199
|
type: Component,
|
|
431
1200
|
args: [{ selector: 'app-collections-info-overlay', template: "<!-- Show objects -->\n<app-overlay\n overlayTitle=\"Collections Info\"\n icon=\"info\"\n [resizable]=\"true\"\n [active]=\"showObjectsInfo\"\n>\n <!-- Using ngIf to remove it from DOM since this panel requires heavy computing -->\n <div *ngIf=\"showObjectsInfo\" class=\"collectionsInfo m-2\">\n <div\n class=\"collectionSelector mb-2 d-flex align-items-center\"\n *ngIf=\"collections != null\"\n >\n <div class=\"d-flex align-items-center\">\n <span>Choose a collection: </span>\n <div class=\"eventSelector\">\n <label for=\"event\">Event</label>\n <select\n id=\"collection\"\n name=\"collection\"\n (change)=\"changeCollection($event.target.value)\"\n >\n <option value=\"\" selected disabled hidden>Choose Collection</option>\n <option *ngFor=\"let collection of collections\" [value]=\"collection\">\n {{ collection }}\n </option>\n </select>\n </div>\n <mat-checkbox\n *ngIf=\"showingCollection\"\n (change)=\"toggleInvisible($event.checked)\"\n >\n Hide Invisible Objects\n </mat-checkbox>\n </div>\n </div>\n\n <div class=\"boxBody table-responsive\">\n <table\n id=\"collectionTable\"\n class=\"table table-borderless table-sm\"\n *ngIf=\"showingCollection\"\n >\n <thead>\n <tr>\n <th>No.</th>\n <th>Selection</th>\n <th>Label</th>\n <th *ngFor=\"let column of collectionColumns\">\n <div class=\"head-wrapper\">\n <div>\n {{ getPrettySymbol(column) }}\n </div>\n <div class=\"sort-options\">\n <button\n class=\"icon-wrapper icon-button btn-blank up\"\n (click)=\"sort(column, 'dec')\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n <button\n class=\"icon-wrapper icon-button btn-blank\"\n (click)=\"sort(column, 'asc')\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n </div>\n </div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let object of showingCollection; index as i\"\n [attr.id]=\"object.uuid\"\n [ngClass]=\"{\n 'active-object':\n activeObject && activeObject.value === object.uuid,\n 'is-cut': object.isCut,\n 'd-none': object.isCut && hideInvisible\n }\"\n >\n <td>#{{ i }}</td>\n <td>\n <div\n *ngIf=\"object.uuid\"\n class=\"row justify-content-center icon-wrapper\"\n >\n <button\n class=\"object-select btn-blank\"\n matTooltip=\"Move camera to object\"\n (click)=\"lookAtObject(object.uuid)\"\n >\n <svg>\n <use href=\"assets/icons/views.svg#views\"></use>\n </svg>\n </button>\n <button\n class=\"object-select btn-blank\"\n matTooltip=\"Highlight object\"\n (click)=\"highlightObject(object.uuid)\"\n >\n <svg>\n <use href=\"assets/icons/cursor.svg#cursor\"></use>\n </svg>\n </button>\n </div>\n </td>\n <td>\n <div class=\"row m-0 add-label\">\n <div class=\"col-10 p-0\">\n <input\n class=\"form-control form-control-sm\"\n type=\"text\"\n [id]=\"'label' + i\"\n />\n </div>\n <div class=\"col-2 p-0 pl-2 text-center icon-wrapper\">\n <button\n class=\"object-select btn-blank\"\n matTooltip=\"Add, update or remove object label\"\n (click)=\"addLabel(i, object.uuid)\"\n >\n <svg>\n <use href=\"assets/icons/update.svg#update\"></use>\n </svg>\n </button>\n </div>\n </div>\n </td>\n <td *ngFor=\"let column of collectionColumns\">\n {{ object[column] }}\n </td>\n </tr>\n </tbody>\n </table>\n <p class=\"emptyBox\" *ngIf=\"!collections\">\n Load event data to be able to display information about the collections\n here.\n </p>\n </div>\n </div>\n</app-overlay>\n", styles: [".collectionsInfo{height:95%}.collectionsInfo .collectionSelector{height:15%;min-height:2rem}.collectionsInfo .collectionSelector span{color:var(--phoenix-text-color-secondary);margin-right:1rem}.collectionsInfo .collectionSelector mat-checkbox{margin-left:1rem}.boxBody{height:85%;overflow:scroll}.boxBody p.emptyBox{max-width:21em}.boxBody .add-label{min-width:8rem}.boxBody .add-label input{padding:.1rem .3rem;font-size:.75rem}#collectionTable{position:relative;color:var(--phoenix-text-color-secondary)}#collectionTable thead tr th{position:sticky;top:0;z-index:100;background:var(--phoenix-background-color-secondary)}#collectionTable thead tr th .head-wrapper{display:flex;align-items:center}#collectionTable thead tr th .head-wrapper .sort-options{display:flex;flex-direction:row}#collectionTable thead tr th .head-wrapper .sort-options .icon-wrapper{display:flex;width:1rem;height:1rem;padding:.2rem}#collectionTable thead tr th .head-wrapper .sort-options .icon-wrapper.up{transform:rotate(180deg)}#collectionTable thead tr th .head-wrapper .sort-options .icon-wrapper svg{width:100%;height:100%}#collectionTable tr *{padding-right:1.2rem}#collectionTable tr *:last-child{padding-right:0}#collectionTable tr.is-cut{opacity:.5}#collectionTable tr.active-object{color:var(--phoenix-background-color);background:var(--phoenix-text-color);box-shadow:0 0 15px var(--phoenix-text-color)}#collectionTable tr.active-object div.icon-wrapper{--phoenix-options-icon-path: var(--phoenix-background-color);--phoenix-options-icon-bg: var(--phoenix-text-color-hover)}#collectionTable tr.active-object .add-label input{--phoenix-text-color: var(--phoenix-background-color);--phoenix-background-color-tertiary: var( --phoenix-text-color-secondary );--phoenix-border: var(--phoenix-background-color)}#collectionTable td .object-select{position:relative;width:1.6rem;height:1.6rem;margin-right:.4em;text-align:center;background-color:var(--phoenix-options-icon-bg);border-radius:10px;cursor:pointer}#collectionTable td .object-select:last-child{margin-right:0}#collectionTable td .object-select:hover{border:1px solid var(--phoenix-options-icon-path)}#collectionTable td .object-select svg{position:absolute;top:0;left:0;padding:.4rem;width:100%;height:100%;vertical-align:top}.eventSelector{display:flex}.eventSelector label{display:none;color:var(--phoenix-text-color-secondary)}.eventSelector select{width:9rem;padding:5px 10px;font-size:12px;border:1px solid rgba(88,88,88,.08);box-shadow:var(--phoenix-icon-shadow);background-color:var(--phoenix-background-color-tertiary);color:var(--phoenix-text-color-secondary)}\n"] }]
|
|
432
|
-
}],
|
|
1201
|
+
}], function () { return [{ type: i0.ElementRef }, { type: EventDisplayService }]; }, { showObjectsInfo: [{
|
|
433
1202
|
type: Input
|
|
434
|
-
}] }
|
|
1203
|
+
}] });
|
|
1204
|
+
})();
|
|
435
1205
|
|
|
436
1206
|
class CollectionsInfoComponent {
|
|
437
1207
|
constructor(overlay) {
|
|
@@ -452,12 +1222,23 @@ class CollectionsInfoComponent {
|
|
|
452
1222
|
this.overlayWindow.instance.showObjectsInfo = this.showObjectsInfo;
|
|
453
1223
|
}
|
|
454
1224
|
}
|
|
455
|
-
CollectionsInfoComponent.ɵfac =
|
|
456
|
-
CollectionsInfoComponent.ɵcmp = i0.ɵɵ
|
|
457
|
-
|
|
1225
|
+
CollectionsInfoComponent.ɵfac = function CollectionsInfoComponent_Factory(t) { return new (t || CollectionsInfoComponent)(i0.ɵɵdirectiveInject(i1$1.Overlay)); };
|
|
1226
|
+
CollectionsInfoComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollectionsInfoComponent, selectors: [["app-collections-info"]], decls: 1, vars: 1, consts: [["tooltip", "Event data collections info", "icon", "info", 3, "active", "click"]], template: function CollectionsInfoComponent_Template(rf, ctx) {
|
|
1227
|
+
if (rf & 1) {
|
|
1228
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
1229
|
+
i0.ɵɵlistener("click", function CollectionsInfoComponent_Template_app_menu_toggle_click_0_listener() { return ctx.toggleOverlay(); });
|
|
1230
|
+
i0.ɵɵelementEnd();
|
|
1231
|
+
}
|
|
1232
|
+
if (rf & 2) {
|
|
1233
|
+
i0.ɵɵproperty("active", ctx.showObjectsInfo);
|
|
1234
|
+
}
|
|
1235
|
+
}, dependencies: [MenuToggleComponent] });
|
|
1236
|
+
(function () {
|
|
1237
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CollectionsInfoComponent, [{
|
|
458
1238
|
type: Component,
|
|
459
1239
|
args: [{ selector: 'app-collections-info', template: "<app-menu-toggle\n tooltip=\"Event data collections info\"\n icon=\"info\"\n [active]=\"showObjectsInfo\"\n (click)=\"toggleOverlay()\"\n>\n</app-menu-toggle>\n" }]
|
|
460
|
-
}],
|
|
1240
|
+
}], function () { return [{ type: i1$1.Overlay }]; }, null);
|
|
1241
|
+
})();
|
|
461
1242
|
|
|
462
1243
|
class DarkThemeComponent {
|
|
463
1244
|
constructor(eventDisplay) {
|
|
@@ -472,13 +1253,51 @@ class DarkThemeComponent {
|
|
|
472
1253
|
this.eventDisplay.getUIManager().setDarkTheme(this.darkTheme);
|
|
473
1254
|
}
|
|
474
1255
|
}
|
|
475
|
-
DarkThemeComponent.ɵfac =
|
|
476
|
-
DarkThemeComponent.ɵcmp = i0.ɵɵ
|
|
477
|
-
|
|
1256
|
+
DarkThemeComponent.ɵfac = function DarkThemeComponent_Factory(t) { return new (t || DarkThemeComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
1257
|
+
DarkThemeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DarkThemeComponent, selectors: [["app-dark-theme"]], decls: 1, vars: 1, consts: [["tooltip", "Dark theme", "icon", "dark", 3, "active", "click"]], template: function DarkThemeComponent_Template(rf, ctx) {
|
|
1258
|
+
if (rf & 1) {
|
|
1259
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
1260
|
+
i0.ɵɵlistener("click", function DarkThemeComponent_Template_app_menu_toggle_click_0_listener() { return ctx.setDarkTheme(); });
|
|
1261
|
+
i0.ɵɵelementEnd();
|
|
1262
|
+
}
|
|
1263
|
+
if (rf & 2) {
|
|
1264
|
+
i0.ɵɵproperty("active", ctx.darkTheme);
|
|
1265
|
+
}
|
|
1266
|
+
}, dependencies: [MenuToggleComponent] });
|
|
1267
|
+
(function () {
|
|
1268
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DarkThemeComponent, [{
|
|
478
1269
|
type: Component,
|
|
479
1270
|
args: [{ selector: 'app-dark-theme', template: "<app-menu-toggle\n tooltip=\"Dark theme\"\n [active]=\"darkTheme\"\n icon=\"dark\"\n (click)=\"setDarkTheme()\"\n>\n</app-menu-toggle>\n" }]
|
|
480
|
-
}],
|
|
1271
|
+
}], function () { return [{ type: EventDisplayService }]; }, null);
|
|
1272
|
+
})();
|
|
481
1273
|
|
|
1274
|
+
function EventSelectorComponent_div_0_option_2_Template(rf, ctx) {
|
|
1275
|
+
if (rf & 1) {
|
|
1276
|
+
i0.ɵɵelementStart(0, "option", 4);
|
|
1277
|
+
i0.ɵɵtext(1);
|
|
1278
|
+
i0.ɵɵelementEnd();
|
|
1279
|
+
}
|
|
1280
|
+
if (rf & 2) {
|
|
1281
|
+
const event_r2 = ctx.$implicit;
|
|
1282
|
+
i0.ɵɵproperty("value", event_r2);
|
|
1283
|
+
i0.ɵɵadvance(1);
|
|
1284
|
+
i0.ɵɵtextInterpolate1(" ", event_r2, " ");
|
|
1285
|
+
}
|
|
1286
|
+
}
|
|
1287
|
+
function EventSelectorComponent_div_0_Template(rf, ctx) {
|
|
1288
|
+
if (rf & 1) {
|
|
1289
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
1290
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "select", 2);
|
|
1291
|
+
i0.ɵɵlistener("change", function EventSelectorComponent_div_0_Template_select_change_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.changeEvent($event)); });
|
|
1292
|
+
i0.ɵɵtemplate(2, EventSelectorComponent_div_0_option_2_Template, 2, 2, "option", 3);
|
|
1293
|
+
i0.ɵɵelementEnd()();
|
|
1294
|
+
}
|
|
1295
|
+
if (rf & 2) {
|
|
1296
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
1297
|
+
i0.ɵɵadvance(2);
|
|
1298
|
+
i0.ɵɵproperty("ngForOf", ctx_r0.events);
|
|
1299
|
+
}
|
|
1300
|
+
}
|
|
482
1301
|
class EventSelectorComponent {
|
|
483
1302
|
constructor(eventDisplay) {
|
|
484
1303
|
this.eventDisplay = eventDisplay;
|
|
@@ -491,13 +1310,91 @@ class EventSelectorComponent {
|
|
|
491
1310
|
this.eventDisplay.loadEvent(value);
|
|
492
1311
|
}
|
|
493
1312
|
}
|
|
494
|
-
EventSelectorComponent.ɵfac =
|
|
495
|
-
EventSelectorComponent.ɵcmp = i0.ɵɵ
|
|
496
|
-
|
|
1313
|
+
EventSelectorComponent.ɵfac = function EventSelectorComponent_Factory(t) { return new (t || EventSelectorComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
1314
|
+
EventSelectorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EventSelectorComponent, selectors: [["app-event-selector"]], decls: 1, vars: 1, consts: [["class", "eventSelector mx-2", "matTooltip", "Event selector", "matTooltipPosition", "above", 4, "ngIf"], ["matTooltip", "Event selector", "matTooltipPosition", "above", 1, "eventSelector", "mx-2"], ["name", "event", 3, "change"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"]], template: function EventSelectorComponent_Template(rf, ctx) {
|
|
1315
|
+
if (rf & 1) {
|
|
1316
|
+
i0.ɵɵtemplate(0, EventSelectorComponent_div_0_Template, 3, 1, "div", 0);
|
|
1317
|
+
}
|
|
1318
|
+
if (rf & 2) {
|
|
1319
|
+
i0.ɵɵproperty("ngIf", ctx.events != null);
|
|
1320
|
+
}
|
|
1321
|
+
}, dependencies: [i2.NgForOf, i2.NgIf, i2$3.MatTooltip], styles: [".eventSelector[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:9rem;padding:5px 10px;font-size:12px;border:1px solid rgba(88,88,88,.08);box-shadow:var(--phoenix-icon-shadow);background-color:var(--phoenix-background-color-tertiary);color:var(--phoenix-text-color-secondary)}"] });
|
|
1322
|
+
(function () {
|
|
1323
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventSelectorComponent, [{
|
|
497
1324
|
type: Component,
|
|
498
1325
|
args: [{ selector: 'app-event-selector', template: "<div\n class=\"eventSelector mx-2\"\n *ngIf=\"events != null\"\n matTooltip=\"Event selector\"\n matTooltipPosition=\"above\"\n>\n <select name=\"event\" (change)=\"changeEvent($event)\">\n <option *ngFor=\"let event of events\" [value]=\"event\">\n {{ event }}\n </option>\n </select>\n</div>\n", styles: [".eventSelector select{width:9rem;padding:5px 10px;font-size:12px;border:1px solid rgba(88,88,88,.08);box-shadow:var(--phoenix-icon-shadow);background-color:var(--phoenix-background-color-tertiary);color:var(--phoenix-text-color-secondary)}\n"] }]
|
|
499
|
-
}],
|
|
1326
|
+
}], function () { return [{ type: EventDisplayService }]; }, null);
|
|
1327
|
+
})();
|
|
500
1328
|
|
|
1329
|
+
function ExperimentInfoComponent_a_1_Template(rf, ctx) {
|
|
1330
|
+
if (rf & 1) {
|
|
1331
|
+
i0.ɵɵelementStart(0, "a", 5);
|
|
1332
|
+
i0.ɵɵelement(1, "img", 6);
|
|
1333
|
+
i0.ɵɵelementEnd();
|
|
1334
|
+
}
|
|
1335
|
+
if (rf & 2) {
|
|
1336
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
1337
|
+
i0.ɵɵproperty("href", ctx_r0.url, i0.ɵɵsanitizeUrl);
|
|
1338
|
+
i0.ɵɵadvance(1);
|
|
1339
|
+
i0.ɵɵproperty("src", ctx_r0.logo, i0.ɵɵsanitizeUrl);
|
|
1340
|
+
}
|
|
1341
|
+
}
|
|
1342
|
+
function ExperimentInfoComponent_p_3_Template(rf, ctx) {
|
|
1343
|
+
if (rf & 1) {
|
|
1344
|
+
i0.ɵɵelementStart(0, "p")(1, "b");
|
|
1345
|
+
i0.ɵɵtext(2);
|
|
1346
|
+
i0.ɵɵelementEnd()();
|
|
1347
|
+
}
|
|
1348
|
+
if (rf & 2) {
|
|
1349
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
1350
|
+
i0.ɵɵadvance(2);
|
|
1351
|
+
i0.ɵɵtextInterpolate(ctx_r1.tagline);
|
|
1352
|
+
}
|
|
1353
|
+
}
|
|
1354
|
+
function ExperimentInfoComponent_p_4_ng_container_1_Template(rf, ctx) {
|
|
1355
|
+
if (rf & 1) {
|
|
1356
|
+
i0.ɵɵelementContainerStart(0);
|
|
1357
|
+
i0.ɵɵelementStart(1, "b");
|
|
1358
|
+
i0.ɵɵtext(2);
|
|
1359
|
+
i0.ɵɵelementEnd();
|
|
1360
|
+
i0.ɵɵtext(3);
|
|
1361
|
+
i0.ɵɵelementContainerEnd();
|
|
1362
|
+
}
|
|
1363
|
+
if (rf & 2) {
|
|
1364
|
+
const infoField_r3 = i0.ɵɵnextContext().$implicit;
|
|
1365
|
+
i0.ɵɵadvance(2);
|
|
1366
|
+
i0.ɵɵtextInterpolate1("", infoField_r3.label, ": ");
|
|
1367
|
+
i0.ɵɵadvance(1);
|
|
1368
|
+
i0.ɵɵtextInterpolate1("", infoField_r3.value, " ");
|
|
1369
|
+
}
|
|
1370
|
+
}
|
|
1371
|
+
function ExperimentInfoComponent_p_4_ng_container_2_Template(rf, ctx) {
|
|
1372
|
+
if (rf & 1) {
|
|
1373
|
+
i0.ɵɵelementContainerStart(0);
|
|
1374
|
+
i0.ɵɵtext(1);
|
|
1375
|
+
i0.ɵɵelementContainerEnd();
|
|
1376
|
+
}
|
|
1377
|
+
if (rf & 2) {
|
|
1378
|
+
const infoField_r3 = i0.ɵɵnextContext().$implicit;
|
|
1379
|
+
i0.ɵɵadvance(1);
|
|
1380
|
+
i0.ɵɵtextInterpolate1(" ", infoField_r3, " ");
|
|
1381
|
+
}
|
|
1382
|
+
}
|
|
1383
|
+
function ExperimentInfoComponent_p_4_Template(rf, ctx) {
|
|
1384
|
+
if (rf & 1) {
|
|
1385
|
+
i0.ɵɵelementStart(0, "p");
|
|
1386
|
+
i0.ɵɵtemplate(1, ExperimentInfoComponent_p_4_ng_container_1_Template, 4, 2, "ng-container", 3);
|
|
1387
|
+
i0.ɵɵtemplate(2, ExperimentInfoComponent_p_4_ng_container_2_Template, 2, 1, "ng-container", 3);
|
|
1388
|
+
i0.ɵɵelementEnd();
|
|
1389
|
+
}
|
|
1390
|
+
if (rf & 2) {
|
|
1391
|
+
const infoField_r3 = ctx.$implicit;
|
|
1392
|
+
i0.ɵɵadvance(1);
|
|
1393
|
+
i0.ɵɵproperty("ngIf", infoField_r3.label);
|
|
1394
|
+
i0.ɵɵadvance(1);
|
|
1395
|
+
i0.ɵɵproperty("ngIf", !infoField_r3.label);
|
|
1396
|
+
}
|
|
1397
|
+
}
|
|
501
1398
|
class ExperimentInfoComponent {
|
|
502
1399
|
constructor(eventDisplay) {
|
|
503
1400
|
this.eventDisplay = eventDisplay;
|
|
@@ -508,19 +1405,57 @@ class ExperimentInfoComponent {
|
|
|
508
1405
|
});
|
|
509
1406
|
}
|
|
510
1407
|
}
|
|
511
|
-
ExperimentInfoComponent.ɵfac =
|
|
512
|
-
ExperimentInfoComponent.ɵcmp = i0.ɵɵ
|
|
513
|
-
|
|
1408
|
+
ExperimentInfoComponent.ɵfac = function ExperimentInfoComponent_Factory(t) { return new (t || ExperimentInfoComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
1409
|
+
ExperimentInfoComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ExperimentInfoComponent, selectors: [["app-experiment-info"]], inputs: { url: "url", logo: "logo", tagline: "tagline" }, decls: 5, vars: 3, consts: [["id", "experimentInfo", "cdkDrag", "", "cdkDragBoundary", "body", 1, "experimentInfo"], ["class", "experimentLogoWrapper", "target", "_blank", "rel", "noopener noreferrer", 3, "href", 4, "ngIf"], [1, "textInfo"], [4, "ngIf"], [4, "ngFor", "ngForOf"], ["target", "_blank", "rel", "noopener noreferrer", 1, "experimentLogoWrapper", 3, "href"], ["alt", "", 1, "experimentLogo", 3, "src"]], template: function ExperimentInfoComponent_Template(rf, ctx) {
|
|
1410
|
+
if (rf & 1) {
|
|
1411
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
1412
|
+
i0.ɵɵtemplate(1, ExperimentInfoComponent_a_1_Template, 2, 2, "a", 1);
|
|
1413
|
+
i0.ɵɵelementStart(2, "div", 2);
|
|
1414
|
+
i0.ɵɵtemplate(3, ExperimentInfoComponent_p_3_Template, 3, 1, "p", 3);
|
|
1415
|
+
i0.ɵɵtemplate(4, ExperimentInfoComponent_p_4_Template, 3, 2, "p", 4);
|
|
1416
|
+
i0.ɵɵelementEnd()();
|
|
1417
|
+
}
|
|
1418
|
+
if (rf & 2) {
|
|
1419
|
+
i0.ɵɵadvance(1);
|
|
1420
|
+
i0.ɵɵproperty("ngIf", ctx.url);
|
|
1421
|
+
i0.ɵɵadvance(2);
|
|
1422
|
+
i0.ɵɵproperty("ngIf", ctx.tagline);
|
|
1423
|
+
i0.ɵɵadvance(1);
|
|
1424
|
+
i0.ɵɵproperty("ngForOf", ctx.experimentInfo);
|
|
1425
|
+
}
|
|
1426
|
+
}, dependencies: [i2.NgForOf, i2.NgIf, i2$4.CdkDrag], styles: [".experimentInfo[_ngcontent-%COMP%]{position:absolute;top:5rem;left:1rem;display:flex;flex-direction:row;justify-items:flex-end;justify-content:flex-end;align-items:center;align-content:center;cursor:move}.experimentLogoWrapper[_ngcontent-%COMP%]{width:6rem}.experimentLogoWrapper[_ngcontent-%COMP%] .experimentLogo[_ngcontent-%COMP%]{width:100%;height:100%}.textInfo[_ngcontent-%COMP%]{margin-left:1rem}.textInfo[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--phoenix-text-color-secondary);font-size:.8rem;margin-bottom:.5rem;-webkit-user-select:none;user-select:none}@media screen and (max-width: 768px){.experimentInfo[_ngcontent-%COMP%]{top:4rem;max-width:40%}.experimentLogoWrapper[_ngcontent-%COMP%]{height:4rem}.textInfo[_ngcontent-%COMP%]{display:none}}"] });
|
|
1427
|
+
(function () {
|
|
1428
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ExperimentInfoComponent, [{
|
|
514
1429
|
type: Component,
|
|
515
1430
|
args: [{ selector: 'app-experiment-info', template: "<div id=\"experimentInfo\" class=\"experimentInfo\" cdkDrag cdkDragBoundary=\"body\">\n <a\n class=\"experimentLogoWrapper\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n *ngIf=\"url\"\n [href]=\"url\"\n >\n <img class=\"experimentLogo\" [src]=\"logo\" alt=\"\" />\n </a>\n <div class=\"textInfo\">\n <p *ngIf=\"tagline\">\n <b>{{ tagline }}</b>\n </p>\n <p *ngFor=\"let infoField of experimentInfo\">\n <ng-container *ngIf=\"infoField.label\">\n <b>{{ infoField.label }}: </b>{{ infoField.value }}\n </ng-container>\n <ng-container *ngIf=\"!infoField.label\">\n {{ infoField }}\n </ng-container>\n </p>\n </div>\n</div>\n", styles: [".experimentInfo{position:absolute;top:5rem;left:1rem;display:flex;flex-direction:row;justify-items:flex-end;justify-content:flex-end;align-items:center;align-content:center;cursor:move}.experimentLogoWrapper{width:6rem}.experimentLogoWrapper .experimentLogo{width:100%;height:100%}.textInfo{margin-left:1rem}.textInfo p{color:var(--phoenix-text-color-secondary);font-size:.8rem;margin-bottom:.5rem;-webkit-user-select:none;user-select:none}@media screen and (max-width: 768px){.experimentInfo{top:4rem;max-width:40%}.experimentLogoWrapper{height:4rem}.textInfo{display:none}}\n"] }]
|
|
516
|
-
}],
|
|
1431
|
+
}], function () { return [{ type: EventDisplayService }]; }, { url: [{
|
|
517
1432
|
type: Input
|
|
518
1433
|
}], logo: [{
|
|
519
1434
|
type: Input
|
|
520
1435
|
}], tagline: [{
|
|
521
1436
|
type: Input
|
|
522
|
-
}] }
|
|
1437
|
+
}] });
|
|
1438
|
+
})();
|
|
523
1439
|
|
|
1440
|
+
function InfoPanelOverlayComponent_li_4_Template(rf, ctx) {
|
|
1441
|
+
if (rf & 1) {
|
|
1442
|
+
i0.ɵɵelementStart(0, "li", 2);
|
|
1443
|
+
i0.ɵɵtext(1, " No actions. ");
|
|
1444
|
+
i0.ɵɵelementEnd();
|
|
1445
|
+
}
|
|
1446
|
+
}
|
|
1447
|
+
function InfoPanelOverlayComponent_li_5_Template(rf, ctx) {
|
|
1448
|
+
if (rf & 1) {
|
|
1449
|
+
i0.ɵɵelementStart(0, "li", 2);
|
|
1450
|
+
i0.ɵɵtext(1);
|
|
1451
|
+
i0.ɵɵelementEnd();
|
|
1452
|
+
}
|
|
1453
|
+
if (rf & 2) {
|
|
1454
|
+
const action_r2 = ctx.$implicit;
|
|
1455
|
+
i0.ɵɵadvance(1);
|
|
1456
|
+
i0.ɵɵtextInterpolate1(" ", action_r2, " ");
|
|
1457
|
+
}
|
|
1458
|
+
}
|
|
524
1459
|
/**
|
|
525
1460
|
* Component for displaying information from the logger
|
|
526
1461
|
*/
|
|
@@ -543,14 +1478,34 @@ class InfoPanelOverlayComponent {
|
|
|
543
1478
|
this.actionsList = this.eventDisplay.getInfoLogger().getInfoLoggerList();
|
|
544
1479
|
}
|
|
545
1480
|
}
|
|
546
|
-
InfoPanelOverlayComponent.ɵfac =
|
|
547
|
-
InfoPanelOverlayComponent.ɵcmp = i0.ɵɵ
|
|
548
|
-
|
|
1481
|
+
InfoPanelOverlayComponent.ɵfac = function InfoPanelOverlayComponent_Factory(t) { return new (t || InfoPanelOverlayComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
1482
|
+
InfoPanelOverlayComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InfoPanelOverlayComponent, selectors: [["app-info-panel-overlay"]], inputs: { showInfoPanel: "showInfoPanel" }, decls: 6, vars: 5, consts: [["overlayTitle", "Info Panel", "icon", "info-panel", 3, "resizable", "active"], [1, "list-group", "list-group-flush"], [1, "list-group-item"], ["class", "list-group-item", 4, "ngIf"], ["class", "list-group-item", 4, "ngFor", "ngForOf"]], template: function InfoPanelOverlayComponent_Template(rf, ctx) {
|
|
1483
|
+
if (rf & 1) {
|
|
1484
|
+
i0.ɵɵelementStart(0, "app-overlay", 0)(1, "ul", 1)(2, "li", 2);
|
|
1485
|
+
i0.ɵɵtext(3);
|
|
1486
|
+
i0.ɵɵelementEnd();
|
|
1487
|
+
i0.ɵɵtemplate(4, InfoPanelOverlayComponent_li_4_Template, 2, 0, "li", 3);
|
|
1488
|
+
i0.ɵɵtemplate(5, InfoPanelOverlayComponent_li_5_Template, 2, 1, "li", 4);
|
|
1489
|
+
i0.ɵɵelementEnd()();
|
|
1490
|
+
}
|
|
1491
|
+
if (rf & 2) {
|
|
1492
|
+
i0.ɵɵproperty("resizable", true)("active", ctx.showInfoPanel);
|
|
1493
|
+
i0.ɵɵadvance(3);
|
|
1494
|
+
i0.ɵɵtextInterpolate1(" Phoenix Version: ", ctx.version, " ");
|
|
1495
|
+
i0.ɵɵadvance(1);
|
|
1496
|
+
i0.ɵɵproperty("ngIf", ctx.actionsList.length === 0);
|
|
1497
|
+
i0.ɵɵadvance(1);
|
|
1498
|
+
i0.ɵɵproperty("ngForOf", ctx.actionsList);
|
|
1499
|
+
}
|
|
1500
|
+
}, dependencies: [i2.NgForOf, i2.NgIf, OverlayComponent], styles: [".list-group-item[_ngcontent-%COMP%]{font-size:.8rem;padding:.5rem 1rem}"] });
|
|
1501
|
+
(function () {
|
|
1502
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoPanelOverlayComponent, [{
|
|
549
1503
|
type: Component,
|
|
550
1504
|
args: [{ selector: 'app-info-panel-overlay', template: "<app-overlay\n overlayTitle=\"Info Panel\"\n icon=\"info-panel\"\n [resizable]=\"true\"\n [active]=\"showInfoPanel\"\n>\n <ul class=\"list-group list-group-flush\">\n <li class=\"list-group-item\">\n <!-- Show Phoenix Current Version (ON by Default) -->\n Phoenix Version: {{ version }}\n </li>\n <li class=\"list-group-item\" *ngIf=\"actionsList.length === 0\">\n No actions.\n </li>\n <li class=\"list-group-item\" *ngFor=\"let action of actionsList\">\n {{ action }}\n </li>\n </ul>\n</app-overlay>\n", styles: [".list-group-item{font-size:.8rem;padding:.5rem 1rem}\n"] }]
|
|
551
|
-
}],
|
|
1505
|
+
}], function () { return [{ type: EventDisplayService }]; }, { showInfoPanel: [{
|
|
552
1506
|
type: Input
|
|
553
|
-
}] }
|
|
1507
|
+
}] });
|
|
1508
|
+
})();
|
|
554
1509
|
|
|
555
1510
|
/**
|
|
556
1511
|
* Component for toggling info panel overlay
|
|
@@ -588,16 +1543,28 @@ class InfoPanelComponent {
|
|
|
588
1543
|
this.overlayWindow.instance.showInfoPanel = this.showInfoPanel;
|
|
589
1544
|
}
|
|
590
1545
|
}
|
|
591
|
-
InfoPanelComponent.ɵfac =
|
|
592
|
-
InfoPanelComponent.ɵcmp = i0.ɵɵ
|
|
593
|
-
|
|
1546
|
+
InfoPanelComponent.ɵfac = function InfoPanelComponent_Factory(t) { return new (t || InfoPanelComponent)(i0.ɵɵdirectiveInject(i1$1.Overlay)); };
|
|
1547
|
+
InfoPanelComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InfoPanelComponent, selectors: [["app-info-panel"]], decls: 1, vars: 1, consts: [["tooltip", "Info panel", "icon", "info-panel", 3, "active", "click"]], template: function InfoPanelComponent_Template(rf, ctx) {
|
|
1548
|
+
if (rf & 1) {
|
|
1549
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
1550
|
+
i0.ɵɵlistener("click", function InfoPanelComponent_Template_app_menu_toggle_click_0_listener() { return ctx.toggleOverlay(); });
|
|
1551
|
+
i0.ɵɵelementEnd();
|
|
1552
|
+
}
|
|
1553
|
+
if (rf & 2) {
|
|
1554
|
+
i0.ɵɵproperty("active", ctx.showInfoPanel);
|
|
1555
|
+
}
|
|
1556
|
+
}, dependencies: [MenuToggleComponent] });
|
|
1557
|
+
(function () {
|
|
1558
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoPanelComponent, [{
|
|
594
1559
|
type: Component,
|
|
595
1560
|
args: [{ selector: 'app-info-panel', template: "<app-menu-toggle\n tooltip=\"Info panel\"\n icon=\"info-panel\"\n [active]=\"showInfoPanel\"\n (click)=\"toggleOverlay()\"\n>\n</app-menu-toggle>\n" }]
|
|
596
|
-
}],
|
|
1561
|
+
}], function () { return [{ type: i1$1.Overlay }]; }, null);
|
|
1562
|
+
})();
|
|
597
1563
|
|
|
598
1564
|
var EventDataFormat;
|
|
599
1565
|
(function (EventDataFormat) {
|
|
600
1566
|
EventDataFormat["JSON"] = "JSON";
|
|
1567
|
+
EventDataFormat["EDM4HEPJSON"] = "EDM4HEPJSON";
|
|
601
1568
|
EventDataFormat["JIVEXML"] = "JIVEXML";
|
|
602
1569
|
EventDataFormat["IG"] = "IG";
|
|
603
1570
|
EventDataFormat["ZIP"] = "ZIP";
|
|
@@ -611,6 +1578,43 @@ class ImportOption {
|
|
|
611
1578
|
}
|
|
612
1579
|
}
|
|
613
1580
|
|
|
1581
|
+
function IOOptionsDialogComponent_div_4_ng_container_5_Template(rf, ctx) {
|
|
1582
|
+
if (rf & 1) {
|
|
1583
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
1584
|
+
i0.ɵɵelementContainerStart(0);
|
|
1585
|
+
i0.ɵɵelementStart(1, "input", 28, 29);
|
|
1586
|
+
i0.ɵɵlistener("change", function IOOptionsDialogComponent_div_4_ng_container_5_Template_input_change_1_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r10); const eventDataImportOption_r7 = restoredCtx.$implicit; return i0.ɵɵresetView(eventDataImportOption_r7.handler($event.target.files)); });
|
|
1587
|
+
i0.ɵɵelementEnd();
|
|
1588
|
+
i0.ɵɵelementStart(3, "button", 8);
|
|
1589
|
+
i0.ɵɵlistener("click", function IOOptionsDialogComponent_div_4_ng_container_5_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r10); const _r8 = i0.ɵɵreference(2); return i0.ɵɵresetView(_r8.click()); });
|
|
1590
|
+
i0.ɵɵelement(4, "img", 30);
|
|
1591
|
+
i0.ɵɵtext(5);
|
|
1592
|
+
i0.ɵɵelementEnd();
|
|
1593
|
+
i0.ɵɵelementContainerEnd();
|
|
1594
|
+
}
|
|
1595
|
+
if (rf & 2) {
|
|
1596
|
+
const eventDataImportOption_r7 = ctx.$implicit;
|
|
1597
|
+
i0.ɵɵadvance(1);
|
|
1598
|
+
i0.ɵɵproperty("accept", eventDataImportOption_r7.accept);
|
|
1599
|
+
i0.ɵɵadvance(4);
|
|
1600
|
+
i0.ɵɵtextInterpolate1(" Load ", eventDataImportOption_r7.fileType, " ");
|
|
1601
|
+
}
|
|
1602
|
+
}
|
|
1603
|
+
function IOOptionsDialogComponent_div_4_Template(rf, ctx) {
|
|
1604
|
+
if (rf & 1) {
|
|
1605
|
+
i0.ɵɵelementStart(0, "div")(1, "p", 4)(2, "b");
|
|
1606
|
+
i0.ɵɵtext(3, "Event data");
|
|
1607
|
+
i0.ɵɵelementEnd()();
|
|
1608
|
+
i0.ɵɵelementStart(4, "div", 5);
|
|
1609
|
+
i0.ɵɵtemplate(5, IOOptionsDialogComponent_div_4_ng_container_5_Template, 6, 2, "ng-container", 27);
|
|
1610
|
+
i0.ɵɵelementEnd()();
|
|
1611
|
+
}
|
|
1612
|
+
if (rf & 2) {
|
|
1613
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
1614
|
+
i0.ɵɵadvance(5);
|
|
1615
|
+
i0.ɵɵproperty("ngForOf", ctx_r0.eventDataOptionsWithHandler);
|
|
1616
|
+
}
|
|
1617
|
+
}
|
|
614
1618
|
class IOOptionsDialogComponent {
|
|
615
1619
|
constructor(eventDisplay, dialogRef) {
|
|
616
1620
|
this.eventDisplay = eventDisplay;
|
|
@@ -618,6 +1622,7 @@ class IOOptionsDialogComponent {
|
|
|
618
1622
|
this.eventDataImportOptions = [EventDataFormat.JSON];
|
|
619
1623
|
this.supportedEventDataFormats = [
|
|
620
1624
|
new ImportOption(EventDataFormat.JSON, '.json', this.handleJSONEventDataInput.bind(this), 'application/json'),
|
|
1625
|
+
new ImportOption(EventDataFormat.EDM4HEPJSON, '.edm4hep.json', this.handleEDM4HEPJSONEventDataInput.bind(this), 'application/json'),
|
|
621
1626
|
new ImportOption(EventDataFormat.JIVEXML, '.xml', this.handleJiveXMLDataInput.bind(this), 'text/xml'),
|
|
622
1627
|
new ImportOption(EventDataFormat.ZIP, '.zip', this.handleZipEventDataInput.bind(this), '.zip'),
|
|
623
1628
|
new ImportOption(EventDataFormat.IG, '.ig', this.handleIgEventDataInput.bind(this), '.ig'),
|
|
@@ -657,6 +1662,16 @@ class IOOptionsDialogComponent {
|
|
|
657
1662
|
};
|
|
658
1663
|
this.handleFileInput(files[0], 'json', callback);
|
|
659
1664
|
}
|
|
1665
|
+
handleEDM4HEPJSONEventDataInput(files) {
|
|
1666
|
+
const callback = (content) => {
|
|
1667
|
+
const json = typeof content === 'string' ? JSON.parse(content) : content;
|
|
1668
|
+
const edm4hepJsonLoader = new Edm4hepJsonLoader();
|
|
1669
|
+
edm4hepJsonLoader.setRawEventData(json);
|
|
1670
|
+
edm4hepJsonLoader.processEventData();
|
|
1671
|
+
this.eventDisplay.parsePhoenixEvents(edm4hepJsonLoader.getEventData());
|
|
1672
|
+
};
|
|
1673
|
+
this.handleFileInput(files[0], 'json', callback);
|
|
1674
|
+
}
|
|
660
1675
|
handleJiveXMLDataInput(files) {
|
|
661
1676
|
const callback = (content) => {
|
|
662
1677
|
const jiveloader = new JiveXMLLoader();
|
|
@@ -778,14 +1793,89 @@ class IOOptionsDialogComponent {
|
|
|
778
1793
|
this.eventDisplay.exportToOBJ();
|
|
779
1794
|
}
|
|
780
1795
|
}
|
|
781
|
-
IOOptionsDialogComponent.ɵfac =
|
|
782
|
-
IOOptionsDialogComponent.ɵcmp = i0.ɵɵ
|
|
783
|
-
|
|
1796
|
+
IOOptionsDialogComponent.ɵfac = function IOOptionsDialogComponent_Factory(t) { return new (t || IOOptionsDialogComponent)(i0.ɵɵdirectiveInject(EventDisplayService), i0.ɵɵdirectiveInject(i1$2.MatDialogRef)); };
|
|
1797
|
+
IOOptionsDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: IOOptionsDialogComponent, selectors: [["app-io-options-dialog"]], inputs: { eventDataImportOptions: "eventDataImportOptions" }, decls: 47, vars: 1, consts: [[1, "dialog"], ["mat-dialog-title", ""], ["mat-dialog-content", "", 1, "dialog-content"], [4, "ngIf"], [1, "text-center"], [1, "row", "centered"], ["type", "file", "tabindex", "-1", "accept", ".obj", "name", "image", 1, "file-input", 3, "change"], ["objFileInput", ""], [1, "file-input-button", 3, "click"], ["src", "assets/icons/obj.svg", "alt", ""], ["type", "file", "tabindex", "-1", "accept", ".gltf", "name", "image", 1, "file-input", 3, "change"], ["gltfFileInput", ""], ["src", "assets/icons/gltf.svg", "alt", ""], ["type", "file", "tabindex", "-1", "accept", ".root", 1, "file-input", 3, "change"], ["rootFileInput", ""], ["src", "assets/icons/file-import.svg", "alt", ""], ["type", "file", "tabindex", "-1", "accept", ".json.gz", 1, "file-input", 3, "change"], ["rootJSONFileInput", ""], ["id", "exportScene", 1, "file-input-button", "load-export", 3, "click"], ["src", "assets/icons/save.svg", "alt", ""], ["type", "file", "tabindex", "-1", "accept", ".phnx", "name", "image", 1, "file-input", 3, "change"], ["loadSceneInput", ""], ["id", "importScene", 1, "file-input-button", "load-export", 3, "click"], ["src", "assets/icons/upload.svg", "alt", ""], ["id", "exportOBJ", 1, "file-input-button", "export-button", 3, "click"], ["mat-dialog-actions", "", "align", "end"], ["mat-flat-button", "", "color", "primary", "cdkFocusInitial", "", 3, "click"], [4, "ngFor", "ngForOf"], ["type", "file", "tabindex", "-1", 1, "file-input", 3, "accept", "change"], ["eventDataFileInput", ""], ["src", "assets/icons/eventData.svg", "alt", "Event data icon"]], template: function IOOptionsDialogComponent_Template(rf, ctx) {
|
|
1798
|
+
if (rf & 1) {
|
|
1799
|
+
const _r12 = i0.ɵɵgetCurrentView();
|
|
1800
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "h1", 1);
|
|
1801
|
+
i0.ɵɵtext(2, "Import and export");
|
|
1802
|
+
i0.ɵɵelementEnd();
|
|
1803
|
+
i0.ɵɵelementStart(3, "div", 2);
|
|
1804
|
+
i0.ɵɵtemplate(4, IOOptionsDialogComponent_div_4_Template, 6, 1, "div", 3);
|
|
1805
|
+
i0.ɵɵelementStart(5, "p", 4)(6, "b");
|
|
1806
|
+
i0.ɵɵtext(7, "Geometries");
|
|
1807
|
+
i0.ɵɵelementEnd()();
|
|
1808
|
+
i0.ɵɵelementStart(8, "div", 5)(9, "input", 6, 7);
|
|
1809
|
+
i0.ɵɵlistener("change", function IOOptionsDialogComponent_Template_input_change_9_listener($event) { return ctx.handleOBJInput($event.target.files); });
|
|
1810
|
+
i0.ɵɵelementEnd();
|
|
1811
|
+
i0.ɵɵelementStart(11, "button", 8);
|
|
1812
|
+
i0.ɵɵlistener("click", function IOOptionsDialogComponent_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r12); const _r1 = i0.ɵɵreference(10); return i0.ɵɵresetView(_r1.click()); });
|
|
1813
|
+
i0.ɵɵelement(12, "img", 9);
|
|
1814
|
+
i0.ɵɵtext(13, " Load .obj ");
|
|
1815
|
+
i0.ɵɵelementEnd();
|
|
1816
|
+
i0.ɵɵelementStart(14, "input", 10, 11);
|
|
1817
|
+
i0.ɵɵlistener("change", function IOOptionsDialogComponent_Template_input_change_14_listener($event) { return ctx.handleGLTFInput($event.target.files); });
|
|
1818
|
+
i0.ɵɵelementEnd();
|
|
1819
|
+
i0.ɵɵelementStart(16, "button", 8);
|
|
1820
|
+
i0.ɵɵlistener("click", function IOOptionsDialogComponent_Template_button_click_16_listener() { i0.ɵɵrestoreView(_r12); const _r2 = i0.ɵɵreference(15); return i0.ɵɵresetView(_r2.click()); });
|
|
1821
|
+
i0.ɵɵelement(17, "img", 12);
|
|
1822
|
+
i0.ɵɵtext(18, " Load .gltf ");
|
|
1823
|
+
i0.ɵɵelementEnd();
|
|
1824
|
+
i0.ɵɵelementStart(19, "input", 13, 14);
|
|
1825
|
+
i0.ɵɵlistener("change", function IOOptionsDialogComponent_Template_input_change_19_listener($event) { return ctx.handleROOTInput($event.target.files); });
|
|
1826
|
+
i0.ɵɵelementEnd();
|
|
1827
|
+
i0.ɵɵelementStart(21, "button", 8);
|
|
1828
|
+
i0.ɵɵlistener("click", function IOOptionsDialogComponent_Template_button_click_21_listener() { i0.ɵɵrestoreView(_r12); const _r3 = i0.ɵɵreference(20); return i0.ɵɵresetView(_r3.click()); });
|
|
1829
|
+
i0.ɵɵelement(22, "img", 15);
|
|
1830
|
+
i0.ɵɵtext(23, " Load .root ");
|
|
1831
|
+
i0.ɵɵelementEnd();
|
|
1832
|
+
i0.ɵɵelementStart(24, "input", 16, 17);
|
|
1833
|
+
i0.ɵɵlistener("change", function IOOptionsDialogComponent_Template_input_change_24_listener($event) { return ctx.handleRootJSONInput($event.target.files); });
|
|
1834
|
+
i0.ɵɵelementEnd();
|
|
1835
|
+
i0.ɵɵelementStart(26, "button", 8);
|
|
1836
|
+
i0.ɵɵlistener("click", function IOOptionsDialogComponent_Template_button_click_26_listener() { i0.ɵɵrestoreView(_r12); const _r4 = i0.ɵɵreference(25); return i0.ɵɵresetView(_r4.click()); });
|
|
1837
|
+
i0.ɵɵelement(27, "img", 15);
|
|
1838
|
+
i0.ɵɵtext(28, " Load .json.gz ");
|
|
1839
|
+
i0.ɵɵelementEnd()();
|
|
1840
|
+
i0.ɵɵelementStart(29, "p", 4)(30, "b");
|
|
1841
|
+
i0.ɵɵtext(31, "Scene");
|
|
1842
|
+
i0.ɵɵelementEnd()();
|
|
1843
|
+
i0.ɵɵelementStart(32, "div", 5)(33, "button", 18);
|
|
1844
|
+
i0.ɵɵlistener("click", function IOOptionsDialogComponent_Template_button_click_33_listener() { return ctx.saveScene(); });
|
|
1845
|
+
i0.ɵɵelement(34, "img", 19);
|
|
1846
|
+
i0.ɵɵtext(35, " Save scene ");
|
|
1847
|
+
i0.ɵɵelementEnd();
|
|
1848
|
+
i0.ɵɵelementStart(36, "input", 20, 21);
|
|
1849
|
+
i0.ɵɵlistener("change", function IOOptionsDialogComponent_Template_input_change_36_listener($event) { return ctx.handlePhoenixInput($event.target.files); });
|
|
1850
|
+
i0.ɵɵelementEnd();
|
|
1851
|
+
i0.ɵɵelementStart(38, "button", 22);
|
|
1852
|
+
i0.ɵɵlistener("click", function IOOptionsDialogComponent_Template_button_click_38_listener() { i0.ɵɵrestoreView(_r12); const _r5 = i0.ɵɵreference(37); return i0.ɵɵresetView(_r5.click()); });
|
|
1853
|
+
i0.ɵɵelement(39, "img", 23);
|
|
1854
|
+
i0.ɵɵtext(40, " Load scene ");
|
|
1855
|
+
i0.ɵɵelementEnd();
|
|
1856
|
+
i0.ɵɵelementStart(41, "button", 24);
|
|
1857
|
+
i0.ɵɵlistener("click", function IOOptionsDialogComponent_Template_button_click_41_listener() { return ctx.exportOBJ(); });
|
|
1858
|
+
i0.ɵɵelement(42, "img", 9);
|
|
1859
|
+
i0.ɵɵtext(43, " Save OBJ ");
|
|
1860
|
+
i0.ɵɵelementEnd()()();
|
|
1861
|
+
i0.ɵɵelementStart(44, "div", 25)(45, "button", 26);
|
|
1862
|
+
i0.ɵɵlistener("click", function IOOptionsDialogComponent_Template_button_click_45_listener() { return ctx.onClose(); });
|
|
1863
|
+
i0.ɵɵtext(46, " Close ");
|
|
1864
|
+
i0.ɵɵelementEnd()()();
|
|
1865
|
+
}
|
|
1866
|
+
if (rf & 2) {
|
|
1867
|
+
i0.ɵɵadvance(4);
|
|
1868
|
+
i0.ɵɵproperty("ngIf", ctx.eventDataImportOptions.length > 0);
|
|
1869
|
+
}
|
|
1870
|
+
}, dependencies: [i2.NgForOf, i2.NgIf, i1$2.MatDialogTitle, i1$2.MatDialogContent, i1$2.MatDialogActions, i2$2.MatButton], styles: [".row[_ngcontent-%COMP%]{justify-content:center;margin:1rem 0}.file-input[_ngcontent-%COMP%]{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.file-input-button[_ngcontent-%COMP%]{font-size:1em;font-weight:700;color:#fff;background-color:#6eaece;padding:1em .5em;border:none;border-radius:10px;width:8rem;margin:0 .4rem}.file-input-button.load-export[_ngcontent-%COMP%]{padding:.8em .2em;width:7rem}.file-input-button.load-export[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-height:1.2em}.file-input-button.export-button[_ngcontent-%COMP%]{background-color:#cb7133}.file-input-button.export-button[_ngcontent-%COMP%]:hover{background-color:#ad5b2d}.file-input-button[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-height:2em;display:block;width:100%}.file-input-button[_ngcontent-%COMP%]:hover{background-color:#118ab2}#exportScene[_ngcontent-%COMP%]{background-color:#5bd99e}#exportScene[_ngcontent-%COMP%]:hover{background-color:#05c292}#importScene[_ngcontent-%COMP%]{background-color:#ecc25e}#importScene[_ngcontent-%COMP%]:hover{background-color:#d6b44d}"] });
|
|
1871
|
+
(function () {
|
|
1872
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IOOptionsDialogComponent, [{
|
|
784
1873
|
type: Component,
|
|
785
|
-
args: [{ selector: 'app-io-options-dialog', template: "<div class=\"dialog\">\n <h1 mat-dialog-title>Import and export
|
|
786
|
-
}],
|
|
1874
|
+
args: [{ selector: 'app-io-options-dialog', template: "<div class=\"dialog\">\n <h1 mat-dialog-title>Import and export</h1>\n <div mat-dialog-content class=\"dialog-content\">\n <div *ngIf=\"eventDataImportOptions.length > 0\">\n <p class=\"text-center\"><b>Event data</b></p>\n\n <div class=\"row centered\">\n <ng-container\n *ngFor=\"let eventDataImportOption of eventDataOptionsWithHandler\"\n >\n <input\n #eventDataFileInput\n type=\"file\"\n tabindex=\"-1\"\n class=\"file-input\"\n [accept]=\"eventDataImportOption.accept\"\n (change)=\"eventDataImportOption.handler($event.target.files)\"\n />\n <button\n class=\"file-input-button\"\n (click)=\"eventDataFileInput.click()\"\n >\n <img src=\"assets/icons/eventData.svg\" alt=\"Event data icon\" />\n Load {{ eventDataImportOption.fileType }}\n </button>\n </ng-container>\n </div>\n </div>\n\n <p class=\"text-center\"><b>Geometries</b></p>\n\n <div class=\"row centered\">\n <input\n #objFileInput\n type=\"file\"\n tabindex=\"-1\"\n class=\"file-input\"\n accept=\".obj\"\n name=\"image\"\n (change)=\"handleOBJInput($event.target.files)\"\n />\n <button class=\"file-input-button\" (click)=\"objFileInput.click()\">\n <img src=\"assets/icons/obj.svg\" alt=\"\" /> Load .obj\n </button>\n\n <input\n #gltfFileInput\n type=\"file\"\n tabindex=\"-1\"\n class=\"file-input\"\n accept=\".gltf\"\n name=\"image\"\n (change)=\"handleGLTFInput($event.target.files)\"\n />\n <button class=\"file-input-button\" (click)=\"gltfFileInput.click()\">\n <img src=\"assets/icons/gltf.svg\" alt=\"\" /> Load .gltf\n </button>\n\n <input\n #rootFileInput\n type=\"file\"\n tabindex=\"-1\"\n class=\"file-input\"\n accept=\".root\"\n (change)=\"handleROOTInput($event.target.files)\"\n />\n <button class=\"file-input-button\" (click)=\"rootFileInput.click()\">\n <img src=\"assets/icons/file-import.svg\" alt=\"\" /> Load .root\n </button>\n\n <input\n #rootJSONFileInput\n type=\"file\"\n tabindex=\"-1\"\n class=\"file-input\"\n accept=\".json.gz\"\n (change)=\"handleRootJSONInput($event.target.files)\"\n />\n <button class=\"file-input-button\" (click)=\"rootJSONFileInput.click()\">\n <img src=\"assets/icons/file-import.svg\" alt=\"\" /> Load .json.gz\n </button>\n </div>\n\n <p class=\"text-center\"><b>Scene</b></p>\n\n <div class=\"row centered\">\n <button\n class=\"file-input-button load-export\"\n id=\"exportScene\"\n (click)=\"saveScene()\"\n >\n <img src=\"assets/icons/save.svg\" alt=\"\" /> Save scene\n </button>\n\n <input\n #loadSceneInput\n type=\"file\"\n tabindex=\"-1\"\n class=\"file-input\"\n accept=\".phnx\"\n name=\"image\"\n (change)=\"handlePhoenixInput($event.target.files)\"\n />\n <button\n class=\"file-input-button load-export\"\n id=\"importScene\"\n (click)=\"loadSceneInput.click()\"\n >\n <img src=\"assets/icons/upload.svg\" alt=\"\" /> Load scene\n </button>\n\n <button\n class=\"file-input-button export-button\"\n id=\"exportOBJ\"\n (click)=\"exportOBJ()\"\n >\n <img src=\"assets/icons/obj.svg\" alt=\"\" /> Save OBJ\n </button>\n </div>\n </div>\n\n <div mat-dialog-actions align=\"end\">\n <button mat-flat-button color=\"primary\" (click)=\"onClose()\" cdkFocusInitial>\n Close\n </button>\n </div>\n</div>\n", styles: [".row{justify-content:center;margin:1rem 0}.file-input{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.file-input-button{font-size:1em;font-weight:700;color:#fff;background-color:#6eaece;padding:1em .5em;border:none;border-radius:10px;width:8rem;margin:0 .4rem}.file-input-button.load-export{padding:.8em .2em;width:7rem}.file-input-button.load-export img{max-height:1.2em}.file-input-button.export-button{background-color:#cb7133}.file-input-button.export-button:hover{background-color:#ad5b2d}.file-input-button img{max-height:2em;display:block;width:100%}.file-input-button:hover{background-color:#118ab2}#exportScene{background-color:#5bd99e}#exportScene:hover{background-color:#05c292}#importScene{background-color:#ecc25e}#importScene:hover{background-color:#d6b44d}\n"] }]
|
|
1875
|
+
}], function () { return [{ type: EventDisplayService }, { type: i1$2.MatDialogRef }]; }, { eventDataImportOptions: [{
|
|
787
1876
|
type: Input
|
|
788
|
-
}] }
|
|
1877
|
+
}] });
|
|
1878
|
+
})();
|
|
789
1879
|
|
|
790
1880
|
class IoOptionsComponent {
|
|
791
1881
|
constructor(dialog) {
|
|
@@ -800,14 +1890,25 @@ class IoOptionsComponent {
|
|
|
800
1890
|
this.eventDataImportOptions;
|
|
801
1891
|
}
|
|
802
1892
|
}
|
|
803
|
-
IoOptionsComponent.ɵfac =
|
|
804
|
-
IoOptionsComponent.ɵcmp = i0.ɵɵ
|
|
805
|
-
|
|
1893
|
+
IoOptionsComponent.ɵfac = function IoOptionsComponent_Factory(t) { return new (t || IoOptionsComponent)(i0.ɵɵdirectiveInject(i1$2.MatDialog)); };
|
|
1894
|
+
IoOptionsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: IoOptionsComponent, selectors: [["app-io-options"]], inputs: { eventDataImportOptions: "eventDataImportOptions" }, decls: 1, vars: 1, consts: [["tooltip", "Import and export options", "icon", "import", 3, "active", "click"]], template: function IoOptionsComponent_Template(rf, ctx) {
|
|
1895
|
+
if (rf & 1) {
|
|
1896
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
1897
|
+
i0.ɵɵlistener("click", function IoOptionsComponent_Template_app_menu_toggle_click_0_listener() { return ctx.openIODialog(); });
|
|
1898
|
+
i0.ɵɵelementEnd();
|
|
1899
|
+
}
|
|
1900
|
+
if (rf & 2) {
|
|
1901
|
+
i0.ɵɵproperty("active", false);
|
|
1902
|
+
}
|
|
1903
|
+
}, dependencies: [MenuToggleComponent] });
|
|
1904
|
+
(function () {
|
|
1905
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IoOptionsComponent, [{
|
|
806
1906
|
type: Component,
|
|
807
1907
|
args: [{ selector: 'app-io-options', template: "<app-menu-toggle\n tooltip=\"Import and export options\"\n icon=\"import\"\n [active]=\"false\"\n (click)=\"openIODialog()\"\n>\n</app-menu-toggle>\n" }]
|
|
808
|
-
}],
|
|
1908
|
+
}], function () { return [{ type: i1$2.MatDialog }]; }, { eventDataImportOptions: [{
|
|
809
1909
|
type: Input
|
|
810
|
-
}] }
|
|
1910
|
+
}] });
|
|
1911
|
+
})();
|
|
811
1912
|
|
|
812
1913
|
class MainViewToggleComponent {
|
|
813
1914
|
constructor(eventDisplay) {
|
|
@@ -821,12 +1922,23 @@ class MainViewToggleComponent {
|
|
|
821
1922
|
.toggleOrthographicView(this.orthographicView);
|
|
822
1923
|
}
|
|
823
1924
|
}
|
|
824
|
-
MainViewToggleComponent.ɵfac =
|
|
825
|
-
MainViewToggleComponent.ɵcmp = i0.ɵɵ
|
|
826
|
-
|
|
1925
|
+
MainViewToggleComponent.ɵfac = function MainViewToggleComponent_Factory(t) { return new (t || MainViewToggleComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
1926
|
+
MainViewToggleComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MainViewToggleComponent, selectors: [["app-main-view-toggle"]], decls: 1, vars: 2, consts: [[3, "icon", "matTooltip", "click"]], template: function MainViewToggleComponent_Template(rf, ctx) {
|
|
1927
|
+
if (rf & 1) {
|
|
1928
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
1929
|
+
i0.ɵɵlistener("click", function MainViewToggleComponent_Template_app_menu_toggle_click_0_listener() { return ctx.switchMainView(); });
|
|
1930
|
+
i0.ɵɵelementEnd();
|
|
1931
|
+
}
|
|
1932
|
+
if (rf & 2) {
|
|
1933
|
+
i0.ɵɵproperty("icon", ctx.orthographicView ? "perspective" : "orthographic")("matTooltip", "Switch to " + (ctx.orthographicView ? "perspective" : "orthographic") + " view");
|
|
1934
|
+
}
|
|
1935
|
+
}, dependencies: [i2$3.MatTooltip, MenuToggleComponent] });
|
|
1936
|
+
(function () {
|
|
1937
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MainViewToggleComponent, [{
|
|
827
1938
|
type: Component,
|
|
828
1939
|
args: [{ selector: 'app-main-view-toggle', template: "<app-menu-toggle\n [icon]=\"orthographicView ? 'perspective' : 'orthographic'\"\n [matTooltip]=\"\n 'Switch to ' + (orthographicView ? 'perspective' : 'orthographic') + ' view'\n \"\n (click)=\"switchMainView()\"\n>\n</app-menu-toggle>\n" }]
|
|
829
|
-
}],
|
|
1940
|
+
}], function () { return [{ type: EventDisplayService }]; }, null);
|
|
1941
|
+
})();
|
|
830
1942
|
|
|
831
1943
|
class ObjectClippingComponent {
|
|
832
1944
|
constructor(eventDisplay) {
|
|
@@ -836,12 +1948,10 @@ class ObjectClippingComponent {
|
|
|
836
1948
|
stateManager.startClippingAngle.onUpdate((value) => (this.startClippingAngle = value));
|
|
837
1949
|
stateManager.openingClippingAngle.onUpdate((value) => (this.openingClippingAngle = value));
|
|
838
1950
|
}
|
|
839
|
-
changeStartClippingAngle(
|
|
840
|
-
const startingAngle = change.value;
|
|
1951
|
+
changeStartClippingAngle(startingAngle) {
|
|
841
1952
|
this.eventDisplay.getUIManager().rotateStartAngleClipping(startingAngle);
|
|
842
1953
|
}
|
|
843
|
-
changeOpeningClippingAngle(
|
|
844
|
-
const openingAngle = change.value;
|
|
1954
|
+
changeOpeningClippingAngle(openingAngle) {
|
|
845
1955
|
this.eventDisplay.getUIManager().rotateOpeningAngleClipping(openingAngle);
|
|
846
1956
|
}
|
|
847
1957
|
toggleClipping(change) {
|
|
@@ -850,12 +1960,50 @@ class ObjectClippingComponent {
|
|
|
850
1960
|
this.clippingEnabled = value;
|
|
851
1961
|
}
|
|
852
1962
|
}
|
|
853
|
-
ObjectClippingComponent.ɵfac =
|
|
854
|
-
ObjectClippingComponent.ɵcmp = i0.ɵɵ
|
|
855
|
-
|
|
1963
|
+
ObjectClippingComponent.ɵfac = function ObjectClippingComponent_Factory(t) { return new (t || ObjectClippingComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
1964
|
+
ObjectClippingComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ObjectClippingComponent, selectors: [["app-object-clipping"]], decls: 17, vars: 5, consts: [[1, "mat-menu"], ["menu", ""], ["mat-menu-item", "", 3, "click"], [3, "checked", "click", "change"], ["clippingCheckbox", ""], ["mat-menu-item", "", 1, "slider-btn", 3, "focus"], ["min", "0", "max", "360", "step", "1", "thumbLabel", ""], ["matSliderThumb", "", 3, "value", "valueChange"], ["startingAngleSlider", ""], ["openingAngleSlider", ""], ["tooltip", "Geometry clipping", "icon", "clipping", 3, "matMenuTriggerFor", "active"]], template: function ObjectClippingComponent_Template(rf, ctx) {
|
|
1965
|
+
if (rf & 1) {
|
|
1966
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
1967
|
+
i0.ɵɵelementStart(0, "mat-menu", 0, 1)(2, "button", 2);
|
|
1968
|
+
i0.ɵɵlistener("click", function ObjectClippingComponent_Template_button_click_2_listener($event) { i0.ɵɵrestoreView(_r4); const _r1 = i0.ɵɵreference(4); $event.stopPropagation(); return i0.ɵɵresetView(_r1._inputElement.nativeElement.click()); });
|
|
1969
|
+
i0.ɵɵelementStart(3, "mat-checkbox", 3, 4);
|
|
1970
|
+
i0.ɵɵlistener("click", function ObjectClippingComponent_Template_mat_checkbox_click_3_listener($event) { return $event.stopPropagation(); })("change", function ObjectClippingComponent_Template_mat_checkbox_change_3_listener($event) { return ctx.toggleClipping($event); });
|
|
1971
|
+
i0.ɵɵtext(5, " Clipping ");
|
|
1972
|
+
i0.ɵɵelementEnd()();
|
|
1973
|
+
i0.ɵɵelementStart(6, "button", 5);
|
|
1974
|
+
i0.ɵɵlistener("focus", function ObjectClippingComponent_Template_button_focus_6_listener() { i0.ɵɵrestoreView(_r4); const _r2 = i0.ɵɵreference(9); return i0.ɵɵresetView(_r2.focus()); });
|
|
1975
|
+
i0.ɵɵelementStart(7, "mat-slider", 6)(8, "input", 7, 8);
|
|
1976
|
+
i0.ɵɵlistener("valueChange", function ObjectClippingComponent_Template_input_valueChange_8_listener($event) { return ctx.changeStartClippingAngle($event); });
|
|
1977
|
+
i0.ɵɵelementEnd()();
|
|
1978
|
+
i0.ɵɵtext(10, " Start Angle ");
|
|
1979
|
+
i0.ɵɵelementEnd();
|
|
1980
|
+
i0.ɵɵelementStart(11, "button", 5);
|
|
1981
|
+
i0.ɵɵlistener("focus", function ObjectClippingComponent_Template_button_focus_11_listener() { i0.ɵɵrestoreView(_r4); const _r3 = i0.ɵɵreference(14); return i0.ɵɵresetView(_r3.focus()); });
|
|
1982
|
+
i0.ɵɵelementStart(12, "mat-slider", 6)(13, "input", 7, 9);
|
|
1983
|
+
i0.ɵɵlistener("valueChange", function ObjectClippingComponent_Template_input_valueChange_13_listener($event) { return ctx.changeOpeningClippingAngle($event); });
|
|
1984
|
+
i0.ɵɵelementEnd()();
|
|
1985
|
+
i0.ɵɵtext(15, " Opening Angle ");
|
|
1986
|
+
i0.ɵɵelementEnd()();
|
|
1987
|
+
i0.ɵɵelement(16, "app-menu-toggle", 10);
|
|
1988
|
+
}
|
|
1989
|
+
if (rf & 2) {
|
|
1990
|
+
const _r0 = i0.ɵɵreference(1);
|
|
1991
|
+
i0.ɵɵadvance(3);
|
|
1992
|
+
i0.ɵɵproperty("checked", ctx.clippingEnabled);
|
|
1993
|
+
i0.ɵɵadvance(5);
|
|
1994
|
+
i0.ɵɵproperty("value", ctx.startClippingAngle);
|
|
1995
|
+
i0.ɵɵadvance(5);
|
|
1996
|
+
i0.ɵɵproperty("value", ctx.openingClippingAngle);
|
|
1997
|
+
i0.ɵɵadvance(3);
|
|
1998
|
+
i0.ɵɵproperty("matMenuTriggerFor", _r0)("active", ctx.clippingEnabled);
|
|
1999
|
+
}
|
|
2000
|
+
}, dependencies: [i3$1.MatMenu, i3$1.MatMenuItem, i3$1.MatMenuTrigger, i2$1.MatSlider, i2$1.MatSliderThumb, i4.MatCheckbox, MenuToggleComponent], styles: [".slider-btn[_ngcontent-%COMP%]{overflow:visible}mat-slider[_ngcontent-%COMP%]{margin-left:.75rem;margin-right:.75rem}"] });
|
|
2001
|
+
(function () {
|
|
2002
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ObjectClippingComponent, [{
|
|
856
2003
|
type: Component,
|
|
857
|
-
args: [{ selector: 'app-object-clipping', template: "<mat-menu class=\"mat-menu\" #menu>\n <button\n mat-menu-item\n (click)=\"\n $event.stopPropagation();\n clippingCheckbox._inputElement.nativeElement.click()\n \"\n >\n <mat-checkbox\n #clippingCheckbox\n [checked]=\"clippingEnabled\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleClipping($event)\"\n
|
|
858
|
-
}],
|
|
2004
|
+
args: [{ selector: 'app-object-clipping', template: "<mat-menu class=\"mat-menu\" #menu>\n <button\n mat-menu-item\n (click)=\"\n $event.stopPropagation();\n clippingCheckbox._inputElement.nativeElement.click()\n \"\n >\n <mat-checkbox\n #clippingCheckbox\n [checked]=\"clippingEnabled\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleClipping($event)\"\n >\n Clipping\n </mat-checkbox>\n </button>\n <button\n class=\"slider-btn\"\n mat-menu-item\n (focus)=\"startingAngleSlider.focus()\"\n >\n <mat-slider min=\"0\" max=\"360\" step=\"1\" thumbLabel>\n <input\n #startingAngleSlider\n matSliderThumb\n [value]=\"startClippingAngle\"\n (valueChange)=\"changeStartClippingAngle($event)\"\n />\n </mat-slider>\n Start Angle\n </button>\n <button class=\"slider-btn\" mat-menu-item (focus)=\"openingAngleSlider.focus()\">\n <mat-slider min=\"0\" max=\"360\" step=\"1\" thumbLabel>\n <input\n #openingAngleSlider\n matSliderThumb\n [value]=\"openingClippingAngle\"\n (valueChange)=\"changeOpeningClippingAngle($event)\"\n />\n </mat-slider>\n Opening Angle\n </button>\n</mat-menu>\n\n<app-menu-toggle\n [matMenuTriggerFor]=\"menu\"\n tooltip=\"Geometry clipping\"\n icon=\"clipping\"\n [active]=\"clippingEnabled\"\n>\n</app-menu-toggle>\n", styles: [".slider-btn{overflow:visible}mat-slider{margin-left:.75rem;margin-right:.75rem}\n"] }]
|
|
2005
|
+
}], function () { return [{ type: EventDisplayService }]; }, null);
|
|
2006
|
+
})();
|
|
859
2007
|
|
|
860
2008
|
/**
|
|
861
2009
|
* Pipe for transforming selected object attributes to a better format.
|
|
@@ -879,15 +2027,46 @@ class AttributePipe {
|
|
|
879
2027
|
return transformedValue;
|
|
880
2028
|
}
|
|
881
2029
|
}
|
|
882
|
-
AttributePipe.ɵfac =
|
|
883
|
-
AttributePipe.ɵpipe = i0.ɵɵ
|
|
884
|
-
|
|
2030
|
+
AttributePipe.ɵfac = function AttributePipe_Factory(t) { return new (t || AttributePipe)(); };
|
|
2031
|
+
AttributePipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "attributePipe", type: AttributePipe, pure: true });
|
|
2032
|
+
(function () {
|
|
2033
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AttributePipe, [{
|
|
885
2034
|
type: Pipe,
|
|
886
2035
|
args: [{
|
|
887
2036
|
name: 'attributePipe',
|
|
888
2037
|
}]
|
|
889
|
-
}]
|
|
2038
|
+
}], null, null);
|
|
2039
|
+
})();
|
|
890
2040
|
|
|
2041
|
+
function ObjectSelectionOverlayComponent_div_1_div_1_Template(rf, ctx) {
|
|
2042
|
+
if (rf & 1) {
|
|
2043
|
+
i0.ɵɵelementStart(0, "div", 4)(1, "strong");
|
|
2044
|
+
i0.ɵɵtext(2);
|
|
2045
|
+
i0.ɵɵelementEnd();
|
|
2046
|
+
i0.ɵɵtext(3);
|
|
2047
|
+
i0.ɵɵpipe(4, "attributePipe");
|
|
2048
|
+
i0.ɵɵelementEnd();
|
|
2049
|
+
}
|
|
2050
|
+
if (rf & 2) {
|
|
2051
|
+
const attribute_r2 = ctx.$implicit;
|
|
2052
|
+
i0.ɵɵadvance(2);
|
|
2053
|
+
i0.ɵɵtextInterpolate(attribute_r2.attributeName);
|
|
2054
|
+
i0.ɵɵadvance(1);
|
|
2055
|
+
i0.ɵɵtextInterpolate1(" : ", i0.ɵɵpipeBind1(4, 2, attribute_r2.attributeValue), " ");
|
|
2056
|
+
}
|
|
2057
|
+
}
|
|
2058
|
+
function ObjectSelectionOverlayComponent_div_1_Template(rf, ctx) {
|
|
2059
|
+
if (rf & 1) {
|
|
2060
|
+
i0.ɵɵelementStart(0, "div", 2);
|
|
2061
|
+
i0.ɵɵtemplate(1, ObjectSelectionOverlayComponent_div_1_div_1_Template, 5, 4, "div", 3);
|
|
2062
|
+
i0.ɵɵelementEnd();
|
|
2063
|
+
}
|
|
2064
|
+
if (rf & 2) {
|
|
2065
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
2066
|
+
i0.ɵɵadvance(1);
|
|
2067
|
+
i0.ɵɵproperty("ngForOf", ctx_r0.selectedObject.attributes);
|
|
2068
|
+
}
|
|
2069
|
+
}
|
|
891
2070
|
class ObjectSelectionOverlayComponent {
|
|
892
2071
|
constructor(eventDisplay) {
|
|
893
2072
|
this.eventDisplay = eventDisplay;
|
|
@@ -897,14 +2076,27 @@ class ObjectSelectionOverlayComponent {
|
|
|
897
2076
|
this.eventDisplay.allowSelection(this.selectedObject);
|
|
898
2077
|
}
|
|
899
2078
|
}
|
|
900
|
-
ObjectSelectionOverlayComponent.ɵfac =
|
|
901
|
-
ObjectSelectionOverlayComponent.ɵcmp = i0.ɵɵ
|
|
902
|
-
|
|
2079
|
+
ObjectSelectionOverlayComponent.ɵfac = function ObjectSelectionOverlayComponent_Factory(t) { return new (t || ObjectSelectionOverlayComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
2080
|
+
ObjectSelectionOverlayComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ObjectSelectionOverlayComponent, selectors: [["app-object-selection-overlay"]], inputs: { hiddenSelectedInfo: "hiddenSelectedInfo" }, decls: 2, vars: 3, consts: [["icon", "cursor", 3, "overlayTitle", "active"], ["id", "selectedObjectPanelBody", "class", "m-1", 4, "ngIf"], ["id", "selectedObjectPanelBody", 1, "m-1"], ["class", "attributeField", 4, "ngFor", "ngForOf"], [1, "attributeField"]], template: function ObjectSelectionOverlayComponent_Template(rf, ctx) {
|
|
2081
|
+
if (rf & 1) {
|
|
2082
|
+
i0.ɵɵelementStart(0, "app-overlay", 0);
|
|
2083
|
+
i0.ɵɵtemplate(1, ObjectSelectionOverlayComponent_div_1_Template, 2, 1, "div", 1);
|
|
2084
|
+
i0.ɵɵelementEnd();
|
|
2085
|
+
}
|
|
2086
|
+
if (rf & 2) {
|
|
2087
|
+
i0.ɵɵproperty("overlayTitle", ctx.selectedObject.name)("active", !ctx.hiddenSelectedInfo);
|
|
2088
|
+
i0.ɵɵadvance(1);
|
|
2089
|
+
i0.ɵɵproperty("ngIf", ctx.selectedObject.attributes.length > 0);
|
|
2090
|
+
}
|
|
2091
|
+
}, dependencies: [i2.NgForOf, i2.NgIf, OverlayComponent, AttributePipe], styles: ["#selectedObjectPanelBody[_ngcontent-%COMP%]{padding:0 .8em;overflow:auto;max-width:300px;max-height:16rem;min-width:7rem}"] });
|
|
2092
|
+
(function () {
|
|
2093
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ObjectSelectionOverlayComponent, [{
|
|
903
2094
|
type: Component,
|
|
904
2095
|
args: [{ selector: 'app-object-selection-overlay', template: "<app-overlay\n icon=\"cursor\"\n [overlayTitle]=\"selectedObject.name\"\n [active]=\"!hiddenSelectedInfo\"\n>\n <div\n id=\"selectedObjectPanelBody\"\n class=\"m-1\"\n *ngIf=\"selectedObject.attributes.length > 0\"\n >\n <div\n *ngFor=\"let attribute of selectedObject.attributes\"\n class=\"attributeField\"\n >\n <strong>{{ attribute.attributeName }}</strong>\n : {{ attribute.attributeValue | attributePipe }}\n </div>\n </div>\n</app-overlay>\n", styles: ["#selectedObjectPanelBody{padding:0 .8em;overflow:auto;max-width:300px;max-height:16rem;min-width:7rem}\n"] }]
|
|
905
|
-
}],
|
|
2096
|
+
}], function () { return [{ type: EventDisplayService }]; }, { hiddenSelectedInfo: [{
|
|
906
2097
|
type: Input
|
|
907
|
-
}] }
|
|
2098
|
+
}] });
|
|
2099
|
+
})();
|
|
908
2100
|
|
|
909
2101
|
class ObjectSelectionComponent {
|
|
910
2102
|
constructor(overlay, eventDisplay) {
|
|
@@ -928,13 +2120,25 @@ class ObjectSelectionComponent {
|
|
|
928
2120
|
this.eventDisplay.enableSelecting(!this.hiddenSelectedInfo);
|
|
929
2121
|
}
|
|
930
2122
|
}
|
|
931
|
-
ObjectSelectionComponent.ɵfac =
|
|
932
|
-
ObjectSelectionComponent.ɵcmp = i0.ɵɵ
|
|
933
|
-
|
|
2123
|
+
ObjectSelectionComponent.ɵfac = function ObjectSelectionComponent_Factory(t) { return new (t || ObjectSelectionComponent)(i0.ɵɵdirectiveInject(i1$1.Overlay), i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
2124
|
+
ObjectSelectionComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ObjectSelectionComponent, selectors: [["app-object-selection"]], decls: 1, vars: 1, consts: [["tooltip", "Object selection", "icon", "cursor", 3, "active", "click"]], template: function ObjectSelectionComponent_Template(rf, ctx) {
|
|
2125
|
+
if (rf & 1) {
|
|
2126
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
2127
|
+
i0.ɵɵlistener("click", function ObjectSelectionComponent_Template_app_menu_toggle_click_0_listener() { return ctx.toggleOverlay(); });
|
|
2128
|
+
i0.ɵɵelementEnd();
|
|
2129
|
+
}
|
|
2130
|
+
if (rf & 2) {
|
|
2131
|
+
i0.ɵɵproperty("active", !ctx.hiddenSelectedInfo);
|
|
2132
|
+
}
|
|
2133
|
+
}, dependencies: [MenuToggleComponent] });
|
|
2134
|
+
(function () {
|
|
2135
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ObjectSelectionComponent, [{
|
|
934
2136
|
type: Component,
|
|
935
2137
|
args: [{ selector: 'app-object-selection', template: "<app-menu-toggle\n tooltip=\"Object selection\"\n icon=\"cursor\"\n [active]=\"!hiddenSelectedInfo\"\n (click)=\"toggleOverlay()\"\n>\n</app-menu-toggle>\n" }]
|
|
936
|
-
}],
|
|
2138
|
+
}], function () { return [{ type: i1$1.Overlay }, { type: EventDisplayService }]; }, null);
|
|
2139
|
+
})();
|
|
937
2140
|
|
|
2141
|
+
const _c0$5 = ["overlayWindow"];
|
|
938
2142
|
class OverlayViewWindowComponent {
|
|
939
2143
|
constructor(eventDisplay) {
|
|
940
2144
|
this.eventDisplay = eventDisplay;
|
|
@@ -970,17 +2174,50 @@ class OverlayViewWindowComponent {
|
|
|
970
2174
|
this.transparentBody = !this.transparentBody;
|
|
971
2175
|
}
|
|
972
2176
|
}
|
|
973
|
-
OverlayViewWindowComponent.ɵfac =
|
|
974
|
-
OverlayViewWindowComponent.ɵcmp = i0.ɵɵ
|
|
975
|
-
|
|
2177
|
+
OverlayViewWindowComponent.ɵfac = function OverlayViewWindowComponent_Factory(t) { return new (t || OverlayViewWindowComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
2178
|
+
OverlayViewWindowComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OverlayViewWindowComponent, selectors: [["app-overlay-view-window"]], viewQuery: function OverlayViewWindowComponent_Query(rf, ctx) {
|
|
2179
|
+
if (rf & 1) {
|
|
2180
|
+
i0.ɵɵviewQuery(_c0$5, 5);
|
|
2181
|
+
}
|
|
2182
|
+
if (rf & 2) {
|
|
2183
|
+
let _t;
|
|
2184
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.overlayWindow = _t.first);
|
|
2185
|
+
}
|
|
2186
|
+
}, inputs: { showOverlay: "showOverlay" }, decls: 8, vars: 8, consts: [["overlayTitle", "Overlay View", "icon", "overlay", 3, "resizable", "transparentBody", "active"], [1, "overlay-view-wrapper"], ["id", "overlay-canvas", 3, "hidden"], ["overlayWindow", ""], [1, "overlay-view-controls", "position-absolute", "d-flex", "flex-row"], ["icon", "transparent", "matTooltip", "Toggle background transparency", 1, "overlay-view-control", 3, "click"], ["icon", "move-lock", 1, "overlay-view-control", 3, "matTooltip", "active", "click"], [1, "overlay-view-control", 3, "icon", "matTooltip", "click"]], template: function OverlayViewWindowComponent_Template(rf, ctx) {
|
|
2187
|
+
if (rf & 1) {
|
|
2188
|
+
i0.ɵɵelementStart(0, "app-overlay", 0)(1, "div", 1);
|
|
2189
|
+
i0.ɵɵelement(2, "canvas", 2, 3);
|
|
2190
|
+
i0.ɵɵelementStart(4, "div", 4)(5, "app-menu-toggle", 5);
|
|
2191
|
+
i0.ɵɵlistener("click", function OverlayViewWindowComponent_Template_app_menu_toggle_click_5_listener() { return ctx.toggleBgTransparency(); });
|
|
2192
|
+
i0.ɵɵelementEnd();
|
|
2193
|
+
i0.ɵɵelementStart(6, "app-menu-toggle", 6);
|
|
2194
|
+
i0.ɵɵlistener("click", function OverlayViewWindowComponent_Template_app_menu_toggle_click_6_listener() { return ctx.fixOverlayView(); });
|
|
2195
|
+
i0.ɵɵelementEnd();
|
|
2196
|
+
i0.ɵɵelementStart(7, "app-menu-toggle", 7);
|
|
2197
|
+
i0.ɵɵlistener("click", function OverlayViewWindowComponent_Template_app_menu_toggle_click_7_listener() { return ctx.switchOverlayView(); });
|
|
2198
|
+
i0.ɵɵelementEnd()()()();
|
|
2199
|
+
}
|
|
2200
|
+
if (rf & 2) {
|
|
2201
|
+
i0.ɵɵproperty("resizable", true)("transparentBody", ctx.transparentBody)("active", ctx.showOverlay);
|
|
2202
|
+
i0.ɵɵadvance(2);
|
|
2203
|
+
i0.ɵɵproperty("hidden", !ctx.showOverlay);
|
|
2204
|
+
i0.ɵɵadvance(4);
|
|
2205
|
+
i0.ɵɵproperty("matTooltip", (ctx.overlayViewFixed ? "Restore" : "Fix") + " overlay view")("active", ctx.overlayViewFixed);
|
|
2206
|
+
i0.ɵɵadvance(1);
|
|
2207
|
+
i0.ɵɵproperty("icon", ctx.orthographicView ? "orthographic" : "perspective")("matTooltip", "Switch to " + (ctx.orthographicView ? "orthographic" : "perspective") + " view");
|
|
2208
|
+
}
|
|
2209
|
+
}, dependencies: [i2$3.MatTooltip, MenuToggleComponent, OverlayComponent], styles: ["#overlay-canvas[_ngcontent-%COMP%]{background-color:#0000001a;width:100%}.overlay-view-controls[_ngcontent-%COMP%]{bottom:1em;right:1em;opacity:0;transition:opacity .2s}.overlay-view-controls[_ngcontent-%COMP%] .overlay-view-control[_ngcontent-%COMP%]{background:var(--phoenix-background-color-secondary);box-shadow:var(--phoenix-box-shadow);overflow:hidden;width:2.5rem;height:2.5rem;border-radius:50%;display:flex;justify-content:center;align-items:center}.overlay-view-wrapper[_ngcontent-%COMP%]:hover .overlay-view-controls[_ngcontent-%COMP%]{opacity:1;transition:opacity .2s}"] });
|
|
2210
|
+
(function () {
|
|
2211
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OverlayViewWindowComponent, [{
|
|
976
2212
|
type: Component,
|
|
977
2213
|
args: [{ selector: 'app-overlay-view-window', template: "<app-overlay\n overlayTitle=\"Overlay View\"\n icon=\"overlay\"\n [resizable]=\"true\"\n [transparentBody]=\"transparentBody\"\n [active]=\"showOverlay\"\n>\n <div class=\"overlay-view-wrapper\">\n <canvas #overlayWindow id=\"overlay-canvas\" [hidden]=\"!showOverlay\">\n </canvas>\n <div class=\"overlay-view-controls position-absolute d-flex flex-row\">\n <app-menu-toggle\n class=\"overlay-view-control\"\n icon=\"transparent\"\n matTooltip=\"Toggle background transparency\"\n (click)=\"toggleBgTransparency()\"\n >\n </app-menu-toggle>\n <app-menu-toggle\n class=\"overlay-view-control\"\n icon=\"move-lock\"\n [matTooltip]=\"(overlayViewFixed ? 'Restore' : 'Fix') + ' overlay view'\"\n [active]=\"overlayViewFixed\"\n (click)=\"fixOverlayView()\"\n >\n </app-menu-toggle>\n <app-menu-toggle\n class=\"overlay-view-control\"\n [icon]=\"orthographicView ? 'orthographic' : 'perspective'\"\n [matTooltip]=\"\n 'Switch to ' +\n (orthographicView ? 'orthographic' : 'perspective') +\n ' view'\n \"\n (click)=\"switchOverlayView()\"\n >\n </app-menu-toggle>\n </div>\n </div>\n</app-overlay>\n", styles: ["#overlay-canvas{background-color:#0000001a;width:100%}.overlay-view-controls{bottom:1em;right:1em;opacity:0;transition:opacity .2s}.overlay-view-controls .overlay-view-control{background:var(--phoenix-background-color-secondary);box-shadow:var(--phoenix-box-shadow);overflow:hidden;width:2.5rem;height:2.5rem;border-radius:50%;display:flex;justify-content:center;align-items:center}.overlay-view-wrapper:hover .overlay-view-controls{opacity:1;transition:opacity .2s}\n"] }]
|
|
978
|
-
}],
|
|
2214
|
+
}], function () { return [{ type: EventDisplayService }]; }, { showOverlay: [{
|
|
979
2215
|
type: Input
|
|
980
2216
|
}], overlayWindow: [{
|
|
981
2217
|
type: ViewChild,
|
|
982
2218
|
args: ['overlayWindow']
|
|
983
|
-
}] }
|
|
2219
|
+
}] });
|
|
2220
|
+
})();
|
|
984
2221
|
|
|
985
2222
|
class OverlayViewComponent {
|
|
986
2223
|
constructor(overlay) {
|
|
@@ -1001,13 +2238,81 @@ class OverlayViewComponent {
|
|
|
1001
2238
|
this.overlayWindow.instance.showOverlay = this.showOverlay;
|
|
1002
2239
|
}
|
|
1003
2240
|
}
|
|
1004
|
-
OverlayViewComponent.ɵfac =
|
|
1005
|
-
OverlayViewComponent.ɵcmp = i0.ɵɵ
|
|
1006
|
-
|
|
2241
|
+
OverlayViewComponent.ɵfac = function OverlayViewComponent_Factory(t) { return new (t || OverlayViewComponent)(i0.ɵɵdirectiveInject(i1$1.Overlay)); };
|
|
2242
|
+
OverlayViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OverlayViewComponent, selectors: [["app-overlay-view"]], decls: 1, vars: 1, consts: [["tooltip", "Overlay view", "icon", "overlay", 3, "active", "click"]], template: function OverlayViewComponent_Template(rf, ctx) {
|
|
2243
|
+
if (rf & 1) {
|
|
2244
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
2245
|
+
i0.ɵɵlistener("click", function OverlayViewComponent_Template_app_menu_toggle_click_0_listener() { return ctx.toggleOverlay(); });
|
|
2246
|
+
i0.ɵɵelementEnd();
|
|
2247
|
+
}
|
|
2248
|
+
if (rf & 2) {
|
|
2249
|
+
i0.ɵɵproperty("active", ctx.showOverlay);
|
|
2250
|
+
}
|
|
2251
|
+
}, dependencies: [MenuToggleComponent] });
|
|
2252
|
+
(function () {
|
|
2253
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OverlayViewComponent, [{
|
|
1007
2254
|
type: Component,
|
|
1008
2255
|
args: [{ selector: 'app-overlay-view', template: "<app-menu-toggle\n tooltip=\"Overlay view\"\n icon=\"overlay\"\n [active]=\"showOverlay\"\n (click)=\"toggleOverlay()\"\n>\n</app-menu-toggle>\n" }]
|
|
1009
|
-
}],
|
|
2256
|
+
}], function () { return [{ type: i1$1.Overlay }]; }, null);
|
|
2257
|
+
})();
|
|
1010
2258
|
|
|
2259
|
+
function TreeMenuItemComponent_ng_container_0_button_2_Template(rf, ctx) {
|
|
2260
|
+
if (rf & 1) {
|
|
2261
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
2262
|
+
i0.ɵɵelementStart(0, "button", 7);
|
|
2263
|
+
i0.ɵɵlistener("click", function TreeMenuItemComponent_ng_container_0_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r3.isExpanded = !ctx_r3.isExpanded); });
|
|
2264
|
+
i0.ɵɵelementStart(1, "mat-icon", 8);
|
|
2265
|
+
i0.ɵɵtext(2);
|
|
2266
|
+
i0.ɵɵelementEnd()();
|
|
2267
|
+
}
|
|
2268
|
+
if (rf & 2) {
|
|
2269
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
2270
|
+
i0.ɵɵadvance(2);
|
|
2271
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.isExpanded ? "expand_more" : "chevron_right", " ");
|
|
2272
|
+
}
|
|
2273
|
+
}
|
|
2274
|
+
function TreeMenuItemComponent_ng_container_0_li_7_Template(rf, ctx) {
|
|
2275
|
+
if (rf & 1) {
|
|
2276
|
+
i0.ɵɵelementStart(0, "li");
|
|
2277
|
+
i0.ɵɵelement(1, "app-tree-menu-item", 9);
|
|
2278
|
+
i0.ɵɵelementEnd();
|
|
2279
|
+
}
|
|
2280
|
+
if (rf & 2) {
|
|
2281
|
+
const node_r5 = ctx.$implicit;
|
|
2282
|
+
i0.ɵɵadvance(1);
|
|
2283
|
+
i0.ɵɵproperty("node", node_r5);
|
|
2284
|
+
}
|
|
2285
|
+
}
|
|
2286
|
+
const _c0$4 = function (a0) { return { visible: a0 }; };
|
|
2287
|
+
function TreeMenuItemComponent_ng_container_0_Template(rf, ctx) {
|
|
2288
|
+
if (rf & 1) {
|
|
2289
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
2290
|
+
i0.ɵɵelementContainerStart(0);
|
|
2291
|
+
i0.ɵɵelementStart(1, "div", 1);
|
|
2292
|
+
i0.ɵɵtemplate(2, TreeMenuItemComponent_ng_container_0_button_2_Template, 3, 1, "button", 2);
|
|
2293
|
+
i0.ɵɵelementStart(3, "div", 3);
|
|
2294
|
+
i0.ɵɵlistener("click", function TreeMenuItemComponent_ng_container_0_Template_div_click_3_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.toggleVisibility(!ctx_r6.visible)); });
|
|
2295
|
+
i0.ɵɵtext(4);
|
|
2296
|
+
i0.ɵɵelementEnd()();
|
|
2297
|
+
i0.ɵɵelementStart(5, "ul", 4)(6, "div", 5);
|
|
2298
|
+
i0.ɵɵtemplate(7, TreeMenuItemComponent_ng_container_0_li_7_Template, 2, 1, "li", 6);
|
|
2299
|
+
i0.ɵɵelementEnd()();
|
|
2300
|
+
i0.ɵɵelementContainerEnd();
|
|
2301
|
+
}
|
|
2302
|
+
if (rf & 2) {
|
|
2303
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
2304
|
+
i0.ɵɵadvance(1);
|
|
2305
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(5, _c0$4, ctx_r0.visible));
|
|
2306
|
+
i0.ɵɵadvance(1);
|
|
2307
|
+
i0.ɵɵproperty("ngIf", ctx_r0.node.children);
|
|
2308
|
+
i0.ɵɵadvance(2);
|
|
2309
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.node.name, " ");
|
|
2310
|
+
i0.ɵɵadvance(1);
|
|
2311
|
+
i0.ɵɵproperty("hidden", !ctx_r0.isExpanded);
|
|
2312
|
+
i0.ɵɵadvance(2);
|
|
2313
|
+
i0.ɵɵproperty("ngForOf", ctx_r0.node.children);
|
|
2314
|
+
}
|
|
2315
|
+
}
|
|
1011
2316
|
class TreeMenuItemComponent {
|
|
1012
2317
|
constructor(eventDisplay) {
|
|
1013
2318
|
this.eventDisplay = eventDisplay;
|
|
@@ -1023,17 +2328,34 @@ class TreeMenuItemComponent {
|
|
|
1023
2328
|
this.children.forEach((child) => child.toggleVisibility(visible));
|
|
1024
2329
|
}
|
|
1025
2330
|
}
|
|
1026
|
-
TreeMenuItemComponent.ɵfac =
|
|
1027
|
-
TreeMenuItemComponent.ɵcmp = i0.ɵɵ
|
|
1028
|
-
|
|
2331
|
+
TreeMenuItemComponent.ɵfac = function TreeMenuItemComponent_Factory(t) { return new (t || TreeMenuItemComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
2332
|
+
TreeMenuItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TreeMenuItemComponent, selectors: [["app-tree-menu-item"]], viewQuery: function TreeMenuItemComponent_Query(rf, ctx) {
|
|
2333
|
+
if (rf & 1) {
|
|
2334
|
+
i0.ɵɵviewQuery(TreeMenuItemComponent, 5);
|
|
2335
|
+
}
|
|
2336
|
+
if (rf & 2) {
|
|
2337
|
+
let _t;
|
|
2338
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.children = _t);
|
|
2339
|
+
}
|
|
2340
|
+
}, inputs: { node: "node" }, decls: 1, vars: 1, consts: [[4, "ngIf"], [1, "header", 3, "ngClass"], ["mat-icon-button", "", "matTreeNodeToggle", "", 3, "click", 4, "ngIf"], [1, "node-name", 3, "click"], ["hid", "", 3, "hidden"], [1, "children"], [4, "ngFor", "ngForOf"], ["mat-icon-button", "", "matTreeNodeToggle", "", 3, "click"], [1, "mat-icon-rtl-mirror"], [3, "node"]], template: function TreeMenuItemComponent_Template(rf, ctx) {
|
|
2341
|
+
if (rf & 1) {
|
|
2342
|
+
i0.ɵɵtemplate(0, TreeMenuItemComponent_ng_container_0_Template, 8, 7, "ng-container", 0);
|
|
2343
|
+
}
|
|
2344
|
+
if (rf & 2) {
|
|
2345
|
+
i0.ɵɵproperty("ngIf", ctx.node);
|
|
2346
|
+
}
|
|
2347
|
+
}, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i2$2.MatIconButton, i4$1.MatIcon, TreeMenuItemComponent], styles: [".header[_ngcontent-%COMP%]{cursor:pointer;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;display:flex;flex-direction:row;align-items:center}.header[_ngcontent-%COMP%] .node-name[_ngcontent-%COMP%], .header[_ngcontent-%COMP%] .mat-icon-rtl-mirror[_ngcontent-%COMP%]{color:var(--phoenix-text-color-secondary)}.header.visible[_ngcontent-%COMP%] .node-name[_ngcontent-%COMP%], .header.visible[_ngcontent-%COMP%] .mat-icon-rtl-mirror[_ngcontent-%COMP%]{color:var(--phoenix-accent)}.children[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{list-style-type:none}"] });
|
|
2348
|
+
(function () {
|
|
2349
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TreeMenuItemComponent, [{
|
|
1029
2350
|
type: Component,
|
|
1030
2351
|
args: [{ selector: 'app-tree-menu-item', template: "<ng-container *ngIf=\"node\">\n <div class=\"header\" [ngClass]=\"{ visible: visible }\">\n <button\n *ngIf=\"node.children\"\n mat-icon-button\n matTreeNodeToggle\n (click)=\"isExpanded = !isExpanded\"\n >\n <mat-icon class=\"mat-icon-rtl-mirror\">\n {{ isExpanded ? 'expand_more' : 'chevron_right' }}\n </mat-icon>\n </button>\n <div (click)=\"toggleVisibility(!visible)\" class=\"node-name\">\n {{ node.name }}\n </div>\n </div>\n <ul [hidden]=\"!isExpanded\" hid>\n <div class=\"children\">\n <li *ngFor=\"let node of node.children\">\n <app-tree-menu-item [node]=\"node\"></app-tree-menu-item>\n </li>\n </div>\n </ul>\n</ng-container>\n", styles: [".header{cursor:pointer;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;display:flex;flex-direction:row;align-items:center}.header .node-name,.header .mat-icon-rtl-mirror{color:var(--phoenix-text-color-secondary)}.header.visible .node-name,.header.visible .mat-icon-rtl-mirror{color:var(--phoenix-accent)}.children li{list-style-type:none}\n"] }]
|
|
1031
|
-
}],
|
|
2352
|
+
}], function () { return [{ type: EventDisplayService }]; }, { children: [{
|
|
1032
2353
|
type: ViewChildren,
|
|
1033
2354
|
args: [TreeMenuItemComponent]
|
|
1034
2355
|
}], node: [{
|
|
1035
2356
|
type: Input
|
|
1036
|
-
}] }
|
|
2357
|
+
}] });
|
|
2358
|
+
})();
|
|
1037
2359
|
|
|
1038
2360
|
class TreeMenuComponent {
|
|
1039
2361
|
constructor() {
|
|
@@ -1096,13 +2418,55 @@ class TreeMenuComponent {
|
|
|
1096
2418
|
}
|
|
1097
2419
|
ngOnInit() { }
|
|
1098
2420
|
}
|
|
1099
|
-
TreeMenuComponent.ɵfac =
|
|
1100
|
-
TreeMenuComponent.ɵcmp = i0.ɵɵ
|
|
1101
|
-
|
|
2421
|
+
TreeMenuComponent.ɵfac = function TreeMenuComponent_Factory(t) { return new (t || TreeMenuComponent)(); };
|
|
2422
|
+
TreeMenuComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TreeMenuComponent, selectors: [["app-tree-menu"]], decls: 3, vars: 1, consts: [[1, "tree-wrapper"], [1, "tree-menu"], [3, "node"]], template: function TreeMenuComponent_Template(rf, ctx) {
|
|
2423
|
+
if (rf & 1) {
|
|
2424
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
2425
|
+
i0.ɵɵelement(2, "app-tree-menu-item", 2);
|
|
2426
|
+
i0.ɵɵelementEnd()();
|
|
2427
|
+
}
|
|
2428
|
+
if (rf & 2) {
|
|
2429
|
+
i0.ɵɵadvance(2);
|
|
2430
|
+
i0.ɵɵproperty("node", ctx.rootNode);
|
|
2431
|
+
}
|
|
2432
|
+
}, dependencies: [TreeMenuItemComponent], styles: [".tree-wrapper[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;align-content:center}.tree-menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;align-content:center;max-height:70vh;overflow-y:scroll}.example-tree-invisible[_ngcontent-%COMP%]{display:none}.example-tree[_ngcontent-%COMP%] ul[_ngcontent-%COMP%], .example-tree[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin-top:0;margin-bottom:0;list-style-type:none}"] });
|
|
2433
|
+
(function () {
|
|
2434
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TreeMenuComponent, [{
|
|
1102
2435
|
type: Component,
|
|
1103
2436
|
args: [{ selector: 'app-tree-menu', template: "<div class=\"tree-wrapper\">\n <div class=\"tree-menu\">\n <app-tree-menu-item [node]=\"rootNode\"></app-tree-menu-item>\n </div>\n</div>\n", styles: [".tree-wrapper{position:absolute;top:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;align-content:center}.tree-menu{display:flex;flex-direction:column;justify-content:center;align-items:center;align-content:center;max-height:70vh;overflow-y:scroll}.example-tree-invisible{display:none}.example-tree ul,.example-tree li{margin-top:0;margin-bottom:0;list-style-type:none}\n"] }]
|
|
1104
|
-
}],
|
|
2437
|
+
}], function () { return []; }, null);
|
|
2438
|
+
})();
|
|
1105
2439
|
|
|
2440
|
+
function ViewOptionsComponent_button_10__svg_svg_1_Template(rf, ctx) {
|
|
2441
|
+
if (rf & 1) {
|
|
2442
|
+
i0.ɵɵnamespaceSVG();
|
|
2443
|
+
i0.ɵɵelementStart(0, "svg", 8);
|
|
2444
|
+
i0.ɵɵelement(1, "use");
|
|
2445
|
+
i0.ɵɵelementEnd();
|
|
2446
|
+
}
|
|
2447
|
+
if (rf & 2) {
|
|
2448
|
+
const view_r4 = i0.ɵɵnextContext().$implicit;
|
|
2449
|
+
i0.ɵɵadvance(1);
|
|
2450
|
+
i0.ɵɵattributeInterpolate2("href", "assets/icons/", view_r4.icon, ".svg#", view_r4.icon, "");
|
|
2451
|
+
}
|
|
2452
|
+
}
|
|
2453
|
+
function ViewOptionsComponent_button_10_Template(rf, ctx) {
|
|
2454
|
+
if (rf & 1) {
|
|
2455
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
2456
|
+
i0.ɵɵelementStart(0, "button", 1);
|
|
2457
|
+
i0.ɵɵlistener("click", function ViewOptionsComponent_button_10_Template_button_click_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r8); const view_r4 = restoredCtx.$implicit; const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.displayView($event, view_r4)); });
|
|
2458
|
+
i0.ɵɵtemplate(1, ViewOptionsComponent_button_10__svg_svg_1_Template, 2, 2, "svg", 7);
|
|
2459
|
+
i0.ɵɵtext(2);
|
|
2460
|
+
i0.ɵɵelementEnd();
|
|
2461
|
+
}
|
|
2462
|
+
if (rf & 2) {
|
|
2463
|
+
const view_r4 = ctx.$implicit;
|
|
2464
|
+
i0.ɵɵadvance(1);
|
|
2465
|
+
i0.ɵɵproperty("ngIf", view_r4.icon);
|
|
2466
|
+
i0.ɵɵadvance(1);
|
|
2467
|
+
i0.ɵɵtextInterpolate1(" ", view_r4.name, " ");
|
|
2468
|
+
}
|
|
2469
|
+
}
|
|
1106
2470
|
class ViewOptionsComponent {
|
|
1107
2471
|
constructor(eventDisplay) {
|
|
1108
2472
|
this.eventDisplay = eventDisplay;
|
|
@@ -1123,12 +2487,40 @@ class ViewOptionsComponent {
|
|
|
1123
2487
|
this.eventDisplay.getUIManager().setShowGrid(value);
|
|
1124
2488
|
}
|
|
1125
2489
|
}
|
|
1126
|
-
ViewOptionsComponent.ɵfac =
|
|
1127
|
-
ViewOptionsComponent.ɵcmp = i0.ɵɵ
|
|
1128
|
-
|
|
2490
|
+
ViewOptionsComponent.ɵfac = function ViewOptionsComponent_Factory(t) { return new (t || ViewOptionsComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
2491
|
+
ViewOptionsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ViewOptionsComponent, selectors: [["app-view-options"]], decls: 12, vars: 3, consts: [["viewOptions", ""], ["mat-menu-item", "", 3, "click"], [3, "click", "change"], ["showGridCheckbox", ""], ["showAxisCheckbox", ""], ["mat-menu-item", "", 3, "click", 4, "ngFor", "ngForOf"], ["tooltip", "View options", "icon", "views", 3, "matMenuTriggerFor", "active"], ["class", "view-icon", 4, "ngIf"], [1, "view-icon"]], template: function ViewOptionsComponent_Template(rf, ctx) {
|
|
2492
|
+
if (rf & 1) {
|
|
2493
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
2494
|
+
i0.ɵɵelementStart(0, "mat-menu", null, 0)(2, "button", 1);
|
|
2495
|
+
i0.ɵɵlistener("click", function ViewOptionsComponent_Template_button_click_2_listener($event) { i0.ɵɵrestoreView(_r9); const _r1 = i0.ɵɵreference(4); $event.stopPropagation(); return i0.ɵɵresetView(_r1._inputElement.nativeElement.click()); });
|
|
2496
|
+
i0.ɵɵelementStart(3, "mat-checkbox", 2, 3);
|
|
2497
|
+
i0.ɵɵlistener("click", function ViewOptionsComponent_Template_mat_checkbox_click_3_listener($event) { return $event.stopPropagation(); })("change", function ViewOptionsComponent_Template_mat_checkbox_change_3_listener($event) { return ctx.setGrid($event); });
|
|
2498
|
+
i0.ɵɵtext(5, "Show Grid ");
|
|
2499
|
+
i0.ɵɵelementEnd()();
|
|
2500
|
+
i0.ɵɵelementStart(6, "button", 1);
|
|
2501
|
+
i0.ɵɵlistener("click", function ViewOptionsComponent_Template_button_click_6_listener($event) { i0.ɵɵrestoreView(_r9); const _r2 = i0.ɵɵreference(8); $event.stopPropagation(); return i0.ɵɵresetView(_r2._inputElement.nativeElement.click()); });
|
|
2502
|
+
i0.ɵɵelementStart(7, "mat-checkbox", 2, 4);
|
|
2503
|
+
i0.ɵɵlistener("click", function ViewOptionsComponent_Template_mat_checkbox_click_7_listener($event) { return $event.stopPropagation(); })("change", function ViewOptionsComponent_Template_mat_checkbox_change_7_listener($event) { return ctx.setAxis($event); });
|
|
2504
|
+
i0.ɵɵtext(9, "Show Axis ");
|
|
2505
|
+
i0.ɵɵelementEnd()();
|
|
2506
|
+
i0.ɵɵtemplate(10, ViewOptionsComponent_button_10_Template, 3, 2, "button", 5);
|
|
2507
|
+
i0.ɵɵelementEnd();
|
|
2508
|
+
i0.ɵɵelement(11, "app-menu-toggle", 6);
|
|
2509
|
+
}
|
|
2510
|
+
if (rf & 2) {
|
|
2511
|
+
const _r0 = i0.ɵɵreference(1);
|
|
2512
|
+
i0.ɵɵadvance(10);
|
|
2513
|
+
i0.ɵɵproperty("ngForOf", ctx.views);
|
|
2514
|
+
i0.ɵɵadvance(1);
|
|
2515
|
+
i0.ɵɵproperty("matMenuTriggerFor", _r0)("active", false);
|
|
2516
|
+
}
|
|
2517
|
+
}, dependencies: [i2.NgForOf, i2.NgIf, i3$1.MatMenu, i3$1.MatMenuItem, i3$1.MatMenuTrigger, i4.MatCheckbox, MenuToggleComponent], styles: [".view-icon[_ngcontent-%COMP%]{width:1.2rem;height:1.2rem;margin-right:.5rem}"] });
|
|
2518
|
+
(function () {
|
|
2519
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ViewOptionsComponent, [{
|
|
1129
2520
|
type: Component,
|
|
1130
2521
|
args: [{ selector: 'app-view-options', template: "<mat-menu #viewOptions>\n <button\n mat-menu-item\n (click)=\"\n $event.stopPropagation();\n showGridCheckbox._inputElement.nativeElement.click()\n \"\n >\n <mat-checkbox\n #showGridCheckbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"setGrid($event)\"\n >Show Grid\n </mat-checkbox>\n </button>\n <button\n mat-menu-item\n (click)=\"\n $event.stopPropagation();\n showAxisCheckbox._inputElement.nativeElement.click()\n \"\n >\n <mat-checkbox\n #showAxisCheckbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"setAxis($event)\"\n >Show Axis\n </mat-checkbox>\n </button>\n <button\n mat-menu-item\n *ngFor=\"let view of views\"\n (click)=\"displayView($event, view)\"\n >\n <svg class=\"view-icon\" *ngIf=\"view.icon\">\n <use attr.href=\"assets/icons/{{ view.icon }}.svg#{{ view.icon }}\"></use>\n </svg>\n {{ view.name }}\n </button>\n</mat-menu>\n\n<app-menu-toggle\n [matMenuTriggerFor]=\"viewOptions\"\n tooltip=\"View options\"\n icon=\"views\"\n [active]=\"false\"\n>\n</app-menu-toggle>\n", styles: [".view-icon{width:1.2rem;height:1.2rem;margin-right:.5rem}\n"] }]
|
|
1131
|
-
}],
|
|
2522
|
+
}], function () { return [{ type: EventDisplayService }]; }, null);
|
|
2523
|
+
})();
|
|
1132
2524
|
|
|
1133
2525
|
class VrToggleComponent {
|
|
1134
2526
|
constructor(eventDisplay) {
|
|
@@ -1160,13 +2552,46 @@ class VrToggleComponent {
|
|
|
1160
2552
|
}
|
|
1161
2553
|
}
|
|
1162
2554
|
}
|
|
1163
|
-
VrToggleComponent.ɵfac =
|
|
1164
|
-
VrToggleComponent.ɵcmp = i0.ɵɵ
|
|
1165
|
-
|
|
2555
|
+
VrToggleComponent.ɵfac = function VrToggleComponent_Factory(t) { return new (t || VrToggleComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
2556
|
+
VrToggleComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VrToggleComponent, selectors: [["app-vr-toggle"]], decls: 1, vars: 3, consts: [["icon", "vr", 3, "disabled", "active", "tooltip", "click"]], template: function VrToggleComponent_Template(rf, ctx) {
|
|
2557
|
+
if (rf & 1) {
|
|
2558
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
2559
|
+
i0.ɵɵlistener("click", function VrToggleComponent_Template_app_menu_toggle_click_0_listener() { return ctx.vrSupported && ctx.toggleVr(); });
|
|
2560
|
+
i0.ɵɵelementEnd();
|
|
2561
|
+
}
|
|
2562
|
+
if (rf & 2) {
|
|
2563
|
+
i0.ɵɵproperty("disabled", !ctx.vrSupported)("active", ctx.vrActive)("tooltip", ctx.vrSupported ? ctx.vrActive ? "Exit VR" : "Enter VR" : "VR not supported");
|
|
2564
|
+
}
|
|
2565
|
+
}, dependencies: [MenuToggleComponent] });
|
|
2566
|
+
(function () {
|
|
2567
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(VrToggleComponent, [{
|
|
1166
2568
|
type: Component,
|
|
1167
2569
|
args: [{ selector: 'app-vr-toggle', template: "<app-menu-toggle\n [disabled]=\"!vrSupported\"\n [active]=\"vrActive\"\n icon=\"vr\"\n (click)=\"vrSupported && toggleVr()\"\n [tooltip]=\"\n vrSupported ? (vrActive ? 'Exit VR' : 'Enter VR') : 'VR not supported'\n \"\n>\n</app-menu-toggle>\n" }]
|
|
1168
|
-
}],
|
|
2570
|
+
}], function () { return [{ type: EventDisplayService }]; }, null);
|
|
2571
|
+
})();
|
|
1169
2572
|
|
|
2573
|
+
function ArToggleComponent_ng_container_2_Template(rf, ctx) {
|
|
2574
|
+
if (rf & 1) {
|
|
2575
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
2576
|
+
i0.ɵɵelementContainerStart(0);
|
|
2577
|
+
i0.ɵɵelementStart(1, "button", 4);
|
|
2578
|
+
i0.ɵɵlistener("click", function ArToggleComponent_ng_container_2_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.toggleAr(true)); });
|
|
2579
|
+
i0.ɵɵtext(2, "AR with overlays");
|
|
2580
|
+
i0.ɵɵelementEnd();
|
|
2581
|
+
i0.ɵɵelementStart(3, "button", 4);
|
|
2582
|
+
i0.ɵɵlistener("click", function ArToggleComponent_ng_container_2_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r4); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.toggleAr(false)); });
|
|
2583
|
+
i0.ɵɵtext(4, "AR without overlays");
|
|
2584
|
+
i0.ɵɵelementEnd();
|
|
2585
|
+
i0.ɵɵelementContainerEnd();
|
|
2586
|
+
}
|
|
2587
|
+
}
|
|
2588
|
+
function ArToggleComponent_button_3_Template(rf, ctx) {
|
|
2589
|
+
if (rf & 1) {
|
|
2590
|
+
i0.ɵɵelementStart(0, "button", 5);
|
|
2591
|
+
i0.ɵɵtext(1, "AR not supported");
|
|
2592
|
+
i0.ɵɵelementEnd();
|
|
2593
|
+
}
|
|
2594
|
+
}
|
|
1170
2595
|
class ArToggleComponent {
|
|
1171
2596
|
constructor(eventDisplay) {
|
|
1172
2597
|
var _a, _b;
|
|
@@ -1198,12 +2623,33 @@ class ArToggleComponent {
|
|
|
1198
2623
|
}
|
|
1199
2624
|
}
|
|
1200
2625
|
}
|
|
1201
|
-
ArToggleComponent.ɵfac =
|
|
1202
|
-
ArToggleComponent.ɵcmp = i0.ɵɵ
|
|
1203
|
-
|
|
2626
|
+
ArToggleComponent.ɵfac = function ArToggleComponent_Factory(t) { return new (t || ArToggleComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
2627
|
+
ArToggleComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ArToggleComponent, selectors: [["app-ar-toggle"]], decls: 5, vars: 6, consts: [["arToggleOptions", ""], [4, "ngIf"], ["mat-menu-item", "", "disabled", "", 4, "ngIf"], ["icon", "ar", 3, "matMenuTriggerFor", "disabled", "active", "tooltip", "click"], ["mat-menu-item", "", 3, "click"], ["mat-menu-item", "", "disabled", ""]], template: function ArToggleComponent_Template(rf, ctx) {
|
|
2628
|
+
if (rf & 1) {
|
|
2629
|
+
i0.ɵɵelementStart(0, "mat-menu", null, 0);
|
|
2630
|
+
i0.ɵɵtemplate(2, ArToggleComponent_ng_container_2_Template, 5, 0, "ng-container", 1);
|
|
2631
|
+
i0.ɵɵtemplate(3, ArToggleComponent_button_3_Template, 2, 0, "button", 2);
|
|
2632
|
+
i0.ɵɵelementEnd();
|
|
2633
|
+
i0.ɵɵelementStart(4, "app-menu-toggle", 3);
|
|
2634
|
+
i0.ɵɵlistener("click", function ArToggleComponent_Template_app_menu_toggle_click_4_listener() { return ctx.arSupported && (ctx.arActive ? ctx.toggleAr() : null); });
|
|
2635
|
+
i0.ɵɵelementEnd();
|
|
2636
|
+
}
|
|
2637
|
+
if (rf & 2) {
|
|
2638
|
+
const _r0 = i0.ɵɵreference(1);
|
|
2639
|
+
i0.ɵɵadvance(2);
|
|
2640
|
+
i0.ɵɵproperty("ngIf", ctx.arSupported);
|
|
2641
|
+
i0.ɵɵadvance(1);
|
|
2642
|
+
i0.ɵɵproperty("ngIf", !ctx.arSupported);
|
|
2643
|
+
i0.ɵɵadvance(1);
|
|
2644
|
+
i0.ɵɵproperty("matMenuTriggerFor", _r0)("disabled", !ctx.arSupported)("active", ctx.arActive)("tooltip", ctx.arSupported ? ctx.arActive ? "Exit AR" : "Enter AR" : "AR not supported");
|
|
2645
|
+
}
|
|
2646
|
+
}, dependencies: [i2.NgIf, i3$1.MatMenu, i3$1.MatMenuItem, i3$1.MatMenuTrigger, MenuToggleComponent] });
|
|
2647
|
+
(function () {
|
|
2648
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ArToggleComponent, [{
|
|
1204
2649
|
type: Component,
|
|
1205
2650
|
args: [{ selector: 'app-ar-toggle', template: "<mat-menu #arToggleOptions>\n <ng-container *ngIf=\"arSupported\">\n <button mat-menu-item (click)=\"toggleAr(true)\">AR with overlays</button>\n <button mat-menu-item (click)=\"toggleAr(false)\">AR without overlays</button>\n </ng-container>\n <button *ngIf=\"!arSupported\" mat-menu-item disabled>AR not supported</button>\n</mat-menu>\n\n<app-menu-toggle\n [matMenuTriggerFor]=\"arToggleOptions\"\n (click)=\"arSupported && (arActive ? toggleAr() : null)\"\n [disabled]=\"!arSupported\"\n [active]=\"arActive\"\n icon=\"ar\"\n [tooltip]=\"\n arSupported ? (arActive ? 'Exit AR' : 'Enter AR') : 'AR not supported'\n \"\n>\n</app-menu-toggle>\n" }]
|
|
1206
|
-
}],
|
|
2651
|
+
}], function () { return [{ type: EventDisplayService }]; }, null);
|
|
2652
|
+
})();
|
|
1207
2653
|
|
|
1208
2654
|
/**
|
|
1209
2655
|
* Component for adding zoom controls for the main and overlay cameras.
|
|
@@ -1255,12 +2701,29 @@ class ZoomControlsComponent {
|
|
|
1255
2701
|
clearTimeout(this.zoomTimeout);
|
|
1256
2702
|
}
|
|
1257
2703
|
}
|
|
1258
|
-
ZoomControlsComponent.ɵfac =
|
|
1259
|
-
ZoomControlsComponent.ɵcmp = i0.ɵɵ
|
|
1260
|
-
|
|
2704
|
+
ZoomControlsComponent.ɵfac = function ZoomControlsComponent_Factory(t) { return new (t || ZoomControlsComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
2705
|
+
ZoomControlsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ZoomControlsComponent, selectors: [["app-zoom-controls"]], decls: 3, vars: 2, consts: [[1, "d-flex"], ["tooltip", "Zoom out (hold)", "icon", "zoom-out", 3, "active", "click", "touchstart", "mousedown", "mouseup", "mouseleave", "touchend", "touchcancel", "touchmove"], ["tooltip", "Zoom in (hold)", "icon", "zoom-in", 3, "active", "click", "touchstart", "mousedown", "mouseup", "mouseleave", "touchend", "touchcancel", "touchmove"]], template: function ZoomControlsComponent_Template(rf, ctx) {
|
|
2706
|
+
if (rf & 1) {
|
|
2707
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "app-menu-toggle", 1);
|
|
2708
|
+
i0.ɵɵlistener("click", function ZoomControlsComponent_Template_app_menu_toggle_click_1_listener() { ctx.zoomOut(true); return ctx.clearZoom(); })("touchstart", function ZoomControlsComponent_Template_app_menu_toggle_touchstart_1_listener() { return ctx.zoomOut(true); })("mousedown", function ZoomControlsComponent_Template_app_menu_toggle_mousedown_1_listener($event) { return ctx.zoomOut($event.button === 0); })("mouseup", function ZoomControlsComponent_Template_app_menu_toggle_mouseup_1_listener() { return ctx.clearZoom(); })("mouseleave", function ZoomControlsComponent_Template_app_menu_toggle_mouseleave_1_listener() { return ctx.clearZoom(); })("touchend", function ZoomControlsComponent_Template_app_menu_toggle_touchend_1_listener() { return ctx.clearZoom(); })("touchcancel", function ZoomControlsComponent_Template_app_menu_toggle_touchcancel_1_listener() { return ctx.clearZoom(); })("touchmove", function ZoomControlsComponent_Template_app_menu_toggle_touchmove_1_listener() { return ctx.clearZoom(); });
|
|
2709
|
+
i0.ɵɵelementEnd();
|
|
2710
|
+
i0.ɵɵelementStart(2, "app-menu-toggle", 2);
|
|
2711
|
+
i0.ɵɵlistener("click", function ZoomControlsComponent_Template_app_menu_toggle_click_2_listener() { ctx.zoomIn(true); return ctx.clearZoom(); })("touchstart", function ZoomControlsComponent_Template_app_menu_toggle_touchstart_2_listener() { return ctx.zoomIn(true); })("mousedown", function ZoomControlsComponent_Template_app_menu_toggle_mousedown_2_listener($event) { return ctx.zoomIn($event.button === 0); })("mouseup", function ZoomControlsComponent_Template_app_menu_toggle_mouseup_2_listener() { return ctx.clearZoom(); })("mouseleave", function ZoomControlsComponent_Template_app_menu_toggle_mouseleave_2_listener() { return ctx.clearZoom(); })("touchend", function ZoomControlsComponent_Template_app_menu_toggle_touchend_2_listener() { return ctx.clearZoom(); })("touchcancel", function ZoomControlsComponent_Template_app_menu_toggle_touchcancel_2_listener() { return ctx.clearZoom(); })("touchmove", function ZoomControlsComponent_Template_app_menu_toggle_touchmove_2_listener() { return ctx.clearZoom(); });
|
|
2712
|
+
i0.ɵɵelementEnd()();
|
|
2713
|
+
}
|
|
2714
|
+
if (rf & 2) {
|
|
2715
|
+
i0.ɵɵadvance(1);
|
|
2716
|
+
i0.ɵɵproperty("active", false);
|
|
2717
|
+
i0.ɵɵadvance(1);
|
|
2718
|
+
i0.ɵɵproperty("active", false);
|
|
2719
|
+
}
|
|
2720
|
+
}, dependencies: [MenuToggleComponent] });
|
|
2721
|
+
(function () {
|
|
2722
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ZoomControlsComponent, [{
|
|
1261
2723
|
type: Component,
|
|
1262
2724
|
args: [{ selector: 'app-zoom-controls', template: "<div class=\"d-flex\">\n <app-menu-toggle\n tooltip=\"Zoom out (hold)\"\n icon=\"zoom-out\"\n [active]=\"false\"\n (click)=\"zoomOut(true); clearZoom()\"\n (touchstart)=\"zoomOut(true)\"\n (mousedown)=\"zoomOut($event.button === 0)\"\n (mouseup)=\"clearZoom()\"\n (mouseleave)=\"clearZoom()\"\n (touchend)=\"clearZoom()\"\n (touchcancel)=\"clearZoom()\"\n (touchmove)=\"clearZoom()\"\n >\n </app-menu-toggle>\n <app-menu-toggle\n tooltip=\"Zoom in (hold)\"\n icon=\"zoom-in\"\n [active]=\"false\"\n (click)=\"zoomIn(true); clearZoom()\"\n (touchstart)=\"zoomIn(true)\"\n (mousedown)=\"zoomIn($event.button === 0)\"\n (mouseup)=\"clearZoom()\"\n (mouseleave)=\"clearZoom()\"\n (touchend)=\"clearZoom()\"\n (touchcancel)=\"clearZoom()\"\n (touchmove)=\"clearZoom()\"\n >\n </app-menu-toggle>\n</div>\n" }]
|
|
1263
|
-
}],
|
|
2725
|
+
}], function () { return [{ type: EventDisplayService }]; }, null);
|
|
2726
|
+
})();
|
|
1264
2727
|
|
|
1265
2728
|
class SSModeComponent {
|
|
1266
2729
|
constructor() {
|
|
@@ -1295,12 +2758,23 @@ class SSModeComponent {
|
|
|
1295
2758
|
}
|
|
1296
2759
|
}
|
|
1297
2760
|
}
|
|
1298
|
-
SSModeComponent.ɵfac =
|
|
1299
|
-
SSModeComponent.ɵcmp = i0.ɵɵ
|
|
1300
|
-
|
|
2761
|
+
SSModeComponent.ɵfac = function SSModeComponent_Factory(t) { return new (t || SSModeComponent)(); };
|
|
2762
|
+
SSModeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SSModeComponent, selectors: [["app-ss-mode"]], decls: 1, vars: 1, consts: [["tooltip", "Screenshot mode", "icon", "ss-mode", 3, "active", "click"]], template: function SSModeComponent_Template(rf, ctx) {
|
|
2763
|
+
if (rf & 1) {
|
|
2764
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
2765
|
+
i0.ɵɵlistener("click", function SSModeComponent_Template_app_menu_toggle_click_0_listener() { return ctx.toggleSSMode(); });
|
|
2766
|
+
i0.ɵɵelementEnd();
|
|
2767
|
+
}
|
|
2768
|
+
if (rf & 2) {
|
|
2769
|
+
i0.ɵɵproperty("active", ctx.ssMode);
|
|
2770
|
+
}
|
|
2771
|
+
}, dependencies: [MenuToggleComponent], styles: ["#uiMenu,#phoenixMenu,#mainLogo,#statsElement{transition:opacity .4s}.ss-mode #uiMenu,.ss-mode #phoenixMenu,.ss-mode #mainLogo,.ss-mode #statsElement{visibility:hidden;opacity:0}\n"], encapsulation: 2 });
|
|
2772
|
+
(function () {
|
|
2773
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SSModeComponent, [{
|
|
1301
2774
|
type: Component,
|
|
1302
2775
|
args: [{ selector: 'app-ss-mode', encapsulation: ViewEncapsulation.None, template: "<app-menu-toggle\n tooltip=\"Screenshot mode\"\n [active]=\"ssMode\"\n icon=\"ss-mode\"\n (click)=\"toggleSSMode()\"\n>\n</app-menu-toggle>\n", styles: ["#uiMenu,#phoenixMenu,#mainLogo,#statsElement{transition:opacity .4s}.ss-mode #uiMenu,.ss-mode #phoenixMenu,.ss-mode #mainLogo,.ss-mode #statsElement{visibility:hidden;opacity:0}\n"] }]
|
|
1303
|
-
}]
|
|
2776
|
+
}], null, null);
|
|
2777
|
+
})();
|
|
1304
2778
|
|
|
1305
2779
|
class PerformanceToggleComponent {
|
|
1306
2780
|
constructor(eventDisplay) {
|
|
@@ -1312,25 +2786,61 @@ class PerformanceToggleComponent {
|
|
|
1312
2786
|
this.eventDisplay.getThreeManager().setAntialiasing(!this.performanceMode);
|
|
1313
2787
|
}
|
|
1314
2788
|
}
|
|
1315
|
-
PerformanceToggleComponent.ɵfac =
|
|
1316
|
-
PerformanceToggleComponent.ɵcmp = i0.ɵɵ
|
|
1317
|
-
|
|
2789
|
+
PerformanceToggleComponent.ɵfac = function PerformanceToggleComponent_Factory(t) { return new (t || PerformanceToggleComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
2790
|
+
PerformanceToggleComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PerformanceToggleComponent, selectors: [["app-performance-toggle"]], decls: 1, vars: 1, consts: [["tooltip", "Performance mode", "icon", "performance", 3, "active", "click"]], template: function PerformanceToggleComponent_Template(rf, ctx) {
|
|
2791
|
+
if (rf & 1) {
|
|
2792
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
2793
|
+
i0.ɵɵlistener("click", function PerformanceToggleComponent_Template_app_menu_toggle_click_0_listener() { return ctx.togglePerformance(); });
|
|
2794
|
+
i0.ɵɵelementEnd();
|
|
2795
|
+
}
|
|
2796
|
+
if (rf & 2) {
|
|
2797
|
+
i0.ɵɵproperty("active", ctx.performanceMode);
|
|
2798
|
+
}
|
|
2799
|
+
}, dependencies: [MenuToggleComponent] });
|
|
2800
|
+
(function () {
|
|
2801
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PerformanceToggleComponent, [{
|
|
1318
2802
|
type: Component,
|
|
1319
2803
|
args: [{ selector: 'app-performance-toggle', template: "<app-menu-toggle\n tooltip=\"Performance mode\"\n [active]=\"performanceMode\"\n icon=\"performance\"\n (click)=\"togglePerformance()\"\n>\n</app-menu-toggle>\n" }]
|
|
1320
|
-
}],
|
|
2804
|
+
}], function () { return [{ type: EventDisplayService }]; }, null);
|
|
2805
|
+
})();
|
|
1321
2806
|
|
|
2807
|
+
const _c0$3 = function (a0) { return { "ui-menu-hidden": a0 }; };
|
|
2808
|
+
const _c1$1 = ["*"];
|
|
1322
2809
|
class UiMenuWrapperComponent {
|
|
1323
2810
|
constructor() {
|
|
1324
2811
|
this.hideUIMenu = false;
|
|
1325
2812
|
}
|
|
1326
2813
|
}
|
|
1327
|
-
UiMenuWrapperComponent.ɵfac =
|
|
1328
|
-
UiMenuWrapperComponent.ɵcmp = i0.ɵɵ
|
|
1329
|
-
|
|
2814
|
+
UiMenuWrapperComponent.ɵfac = function UiMenuWrapperComponent_Factory(t) { return new (t || UiMenuWrapperComponent)(); };
|
|
2815
|
+
UiMenuWrapperComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UiMenuWrapperComponent, selectors: [["app-ui-menu-wrapper"]], ngContentSelectors: _c1$1, decls: 6, vars: 5, consts: [["id", "uiMenu"], ["id", "hideUIMenu", "matTooltipPosition", "above", 3, "matTooltip", "ngClass", "click"], ["href", "assets/icons/expand.svg#expand"], ["id", "optionsPanel", 3, "hidden"]], template: function UiMenuWrapperComponent_Template(rf, ctx) {
|
|
2816
|
+
if (rf & 1) {
|
|
2817
|
+
i0.ɵɵprojectionDef();
|
|
2818
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "button", 1);
|
|
2819
|
+
i0.ɵɵlistener("click", function UiMenuWrapperComponent_Template_button_click_1_listener() { return ctx.hideUIMenu = !ctx.hideUIMenu; });
|
|
2820
|
+
i0.ɵɵnamespaceSVG();
|
|
2821
|
+
i0.ɵɵelementStart(2, "svg");
|
|
2822
|
+
i0.ɵɵelement(3, "use", 2);
|
|
2823
|
+
i0.ɵɵelementEnd()();
|
|
2824
|
+
i0.ɵɵnamespaceHTML();
|
|
2825
|
+
i0.ɵɵelementStart(4, "div", 3);
|
|
2826
|
+
i0.ɵɵprojection(5);
|
|
2827
|
+
i0.ɵɵelementEnd()();
|
|
2828
|
+
}
|
|
2829
|
+
if (rf & 2) {
|
|
2830
|
+
i0.ɵɵadvance(1);
|
|
2831
|
+
i0.ɵɵproperty("matTooltip", ctx.hideUIMenu ? "Show toolbar" : "Hide toolbar")("ngClass", i0.ɵɵpureFunction1(3, _c0$3, ctx.hideUIMenu));
|
|
2832
|
+
i0.ɵɵadvance(3);
|
|
2833
|
+
i0.ɵɵproperty("hidden", ctx.hideUIMenu);
|
|
2834
|
+
}
|
|
2835
|
+
}, dependencies: [i2.NgClass, i2$3.MatTooltip], styles: ["#uiMenu[_ngcontent-%COMP%]{position:absolute;bottom:1rem;width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}#optionsPanel[_ngcontent-%COMP%]{display:flex;align-items:center;background:var(--phoenix-background-color-secondary);border:1px solid var(--phoenix-background-color-tertiary);box-shadow:var(--phoenix-box-shadow);border-radius:30px;max-width:95%;padding:.3rem 1rem;overflow-x:scroll;z-index:90}#hideUIMenu[_ngcontent-%COMP%]{background:var(--phoenix-background-color-secondary);height:1.2rem;width:3rem;border:1px solid var(--phoenix-border);border-bottom:none;box-shadow:var(--phoenix-box-shadow);border-top-left-radius:15px;border-top-right-radius:15px;padding:3px}#hideUIMenu[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{height:100%;width:100%;vertical-align:top;transition:all .3s}#hideUIMenu.ui-menu-hidden[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{transform:scaleY(-1);transition:all .3s}"] });
|
|
2836
|
+
(function () {
|
|
2837
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UiMenuWrapperComponent, [{
|
|
1330
2838
|
type: Component,
|
|
1331
2839
|
args: [{ selector: 'app-ui-menu-wrapper', template: "<div id=\"uiMenu\">\n <button\n id=\"hideUIMenu\"\n [matTooltip]=\"hideUIMenu ? 'Show toolbar' : 'Hide toolbar'\"\n matTooltipPosition=\"above\"\n (click)=\"hideUIMenu = !hideUIMenu\"\n [ngClass]=\"{ 'ui-menu-hidden': hideUIMenu }\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n <div id=\"optionsPanel\" [hidden]=\"hideUIMenu\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["#uiMenu{position:absolute;bottom:1rem;width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}#optionsPanel{display:flex;align-items:center;background:var(--phoenix-background-color-secondary);border:1px solid var(--phoenix-background-color-tertiary);box-shadow:var(--phoenix-box-shadow);border-radius:30px;max-width:95%;padding:.3rem 1rem;overflow-x:scroll;z-index:90}#hideUIMenu{background:var(--phoenix-background-color-secondary);height:1.2rem;width:3rem;border:1px solid var(--phoenix-border);border-bottom:none;box-shadow:var(--phoenix-box-shadow);border-top-left-radius:15px;border-top-right-radius:15px;padding:3px}#hideUIMenu svg{height:100%;width:100%;vertical-align:top;transition:all .3s}#hideUIMenu.ui-menu-hidden svg{transform:scaleY(-1);transition:all .3s}\n"] }]
|
|
1332
|
-
}]
|
|
2840
|
+
}], null, null);
|
|
2841
|
+
})();
|
|
1333
2842
|
|
|
2843
|
+
const _c0$2 = ["qrcodeCanvas"];
|
|
1334
2844
|
class ShareLinkDialogComponent {
|
|
1335
2845
|
constructor(dialogRef) {
|
|
1336
2846
|
this.dialogRef = dialogRef;
|
|
@@ -1387,15 +2897,106 @@ class ShareLinkDialogComponent {
|
|
|
1387
2897
|
QRCode.toCanvas(this.qrcodeCanvas.nativeElement, link);
|
|
1388
2898
|
}
|
|
1389
2899
|
}
|
|
1390
|
-
ShareLinkDialogComponent.ɵfac =
|
|
1391
|
-
ShareLinkDialogComponent.ɵcmp = i0.ɵɵ
|
|
1392
|
-
|
|
2900
|
+
ShareLinkDialogComponent.ɵfac = function ShareLinkDialogComponent_Factory(t) { return new (t || ShareLinkDialogComponent)(i0.ɵɵdirectiveInject(i1$2.MatDialogRef)); };
|
|
2901
|
+
ShareLinkDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareLinkDialogComponent, selectors: [["app-share-link-dialog"]], viewQuery: function ShareLinkDialogComponent_Query(rf, ctx) {
|
|
2902
|
+
if (rf & 1) {
|
|
2903
|
+
i0.ɵɵviewQuery(_c0$2, 5);
|
|
2904
|
+
}
|
|
2905
|
+
if (rf & 2) {
|
|
2906
|
+
let _t;
|
|
2907
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.qrcodeCanvas = _t.first);
|
|
2908
|
+
}
|
|
2909
|
+
}, decls: 49, vars: 5, consts: [[1, "dialog"], ["mat-dialog-title", ""], ["mat-dialog-content", "", 1, "dialog-content"], [1, "form-group", "mt-2"], ["for", "eventDataFile"], ["type", "text", "id", "eventDataFile", "placeholder", "assets/files/event_data/atlaseventdump2.json", 1, "form-control", 3, "value", "input"], [1, "form-group"], ["for", "eventDataType"], ["id", "eventDataType", 1, "form-control", 3, "input"], ["selected", "", "value", ""], ["value", "jivexml"], ["value", "json"], ["for", "configuration"], ["type", "text", "id", "configuration", "placeholder", "assets/files/config/phoenix-config.json", 1, "form-control", 3, "value", "input"], [3, "checked", "change"], [1, "share-box", "my-2"], [1, "share-box-copy", 3, "click"], [1, "qrcode", "d-flex", "justify-content-center"], ["qrcodeCanvas", ""], ["mat-dialog-actions", ""], ["mat-button", "", "cdkFocusInitial", "", 3, "click"]], template: function ShareLinkDialogComponent_Template(rf, ctx) {
|
|
2910
|
+
if (rf & 1) {
|
|
2911
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "h1", 1);
|
|
2912
|
+
i0.ɵɵtext(2, "Create shareable link");
|
|
2913
|
+
i0.ɵɵelementEnd();
|
|
2914
|
+
i0.ɵɵelementStart(3, "div", 2)(4, "h5");
|
|
2915
|
+
i0.ɵɵtext(5, "URL options");
|
|
2916
|
+
i0.ɵɵelementEnd();
|
|
2917
|
+
i0.ɵɵelementStart(6, "div", 3)(7, "label", 4);
|
|
2918
|
+
i0.ɵɵtext(8, "Event data file (URL or path)");
|
|
2919
|
+
i0.ɵɵelementEnd();
|
|
2920
|
+
i0.ɵɵelementStart(9, "input", 5);
|
|
2921
|
+
i0.ɵɵlistener("input", function ShareLinkDialogComponent_Template_input_input_9_listener($event) { return ctx.setOptionValue("file", $event.target.value); });
|
|
2922
|
+
i0.ɵɵelementEnd()();
|
|
2923
|
+
i0.ɵɵelementStart(10, "div", 6)(11, "label", 7);
|
|
2924
|
+
i0.ɵɵtext(12, "Event data type");
|
|
2925
|
+
i0.ɵɵelementEnd();
|
|
2926
|
+
i0.ɵɵelementStart(13, "select", 8);
|
|
2927
|
+
i0.ɵɵlistener("input", function ShareLinkDialogComponent_Template_select_input_13_listener($event) { return ctx.setOptionValue("type", $event.target.value); });
|
|
2928
|
+
i0.ɵɵelementStart(14, "option", 9);
|
|
2929
|
+
i0.ɵɵtext(15, "Select");
|
|
2930
|
+
i0.ɵɵelementEnd();
|
|
2931
|
+
i0.ɵɵelementStart(16, "option", 10);
|
|
2932
|
+
i0.ɵɵtext(17, "JiveXML");
|
|
2933
|
+
i0.ɵɵelementEnd();
|
|
2934
|
+
i0.ɵɵelementStart(18, "option", 11);
|
|
2935
|
+
i0.ɵɵtext(19, "JSON");
|
|
2936
|
+
i0.ɵɵelementEnd()()();
|
|
2937
|
+
i0.ɵɵelementStart(20, "div", 6)(21, "label", 12);
|
|
2938
|
+
i0.ɵɵtext(22, "Configuration (URL or path)");
|
|
2939
|
+
i0.ɵɵelementEnd();
|
|
2940
|
+
i0.ɵɵelementStart(23, "input", 13);
|
|
2941
|
+
i0.ɵɵlistener("input", function ShareLinkDialogComponent_Template_input_input_23_listener($event) { return ctx.setOptionValue("config", $event.target.value); });
|
|
2942
|
+
i0.ɵɵelementEnd()();
|
|
2943
|
+
i0.ɵɵelementStart(24, "div", 6)(25, "mat-checkbox", 14);
|
|
2944
|
+
i0.ɵɵlistener("change", function ShareLinkDialogComponent_Template_mat_checkbox_change_25_listener($event) { return ctx.setOptionValue("hideWidgets", $event.checked); });
|
|
2945
|
+
i0.ɵɵtext(26, " Hide all widgets ");
|
|
2946
|
+
i0.ɵɵelementEnd()();
|
|
2947
|
+
i0.ɵɵelementStart(27, "h5");
|
|
2948
|
+
i0.ɵɵtext(28, "Share");
|
|
2949
|
+
i0.ɵɵelementEnd();
|
|
2950
|
+
i0.ɵɵelementStart(29, "div", 15)(30, "span");
|
|
2951
|
+
i0.ɵɵtext(31);
|
|
2952
|
+
i0.ɵɵelementEnd();
|
|
2953
|
+
i0.ɵɵelementStart(32, "button", 16);
|
|
2954
|
+
i0.ɵɵlistener("click", function ShareLinkDialogComponent_Template_button_click_32_listener($event) { return ctx.copyText(ctx.shareLink.value, $event.target); });
|
|
2955
|
+
i0.ɵɵtext(33, " COPY ");
|
|
2956
|
+
i0.ɵɵelementEnd()();
|
|
2957
|
+
i0.ɵɵelementStart(34, "h5");
|
|
2958
|
+
i0.ɵɵtext(35, "Embed");
|
|
2959
|
+
i0.ɵɵelementEnd();
|
|
2960
|
+
i0.ɵɵelementStart(36, "div", 15)(37, "span");
|
|
2961
|
+
i0.ɵɵtext(38);
|
|
2962
|
+
i0.ɵɵelementEnd();
|
|
2963
|
+
i0.ɵɵelementStart(39, "button", 16);
|
|
2964
|
+
i0.ɵɵlistener("click", function ShareLinkDialogComponent_Template_button_click_39_listener($event) { return ctx.copyText(ctx.embedLink, $event.target); });
|
|
2965
|
+
i0.ɵɵtext(40, " COPY ");
|
|
2966
|
+
i0.ɵɵelementEnd()();
|
|
2967
|
+
i0.ɵɵelementStart(41, "h5");
|
|
2968
|
+
i0.ɵɵtext(42, "QR Code");
|
|
2969
|
+
i0.ɵɵelementEnd();
|
|
2970
|
+
i0.ɵɵelementStart(43, "div", 17);
|
|
2971
|
+
i0.ɵɵelement(44, "canvas", null, 18);
|
|
2972
|
+
i0.ɵɵelementEnd()();
|
|
2973
|
+
i0.ɵɵelementStart(46, "div", 19)(47, "button", 20);
|
|
2974
|
+
i0.ɵɵlistener("click", function ShareLinkDialogComponent_Template_button_click_47_listener() { return ctx.onClose(); });
|
|
2975
|
+
i0.ɵɵtext(48, "Close");
|
|
2976
|
+
i0.ɵɵelementEnd()()();
|
|
2977
|
+
}
|
|
2978
|
+
if (rf & 2) {
|
|
2979
|
+
i0.ɵɵadvance(9);
|
|
2980
|
+
i0.ɵɵproperty("value", ctx.urlOptions.file);
|
|
2981
|
+
i0.ɵɵadvance(14);
|
|
2982
|
+
i0.ɵɵproperty("value", ctx.urlOptions.config);
|
|
2983
|
+
i0.ɵɵadvance(2);
|
|
2984
|
+
i0.ɵɵproperty("checked", ctx.urlOptions.hideWidgets);
|
|
2985
|
+
i0.ɵɵadvance(6);
|
|
2986
|
+
i0.ɵɵtextInterpolate(ctx.shareLink.value);
|
|
2987
|
+
i0.ɵɵadvance(7);
|
|
2988
|
+
i0.ɵɵtextInterpolate(ctx.embedLink);
|
|
2989
|
+
}
|
|
2990
|
+
}, dependencies: [i1$2.MatDialogTitle, i1$2.MatDialogContent, i1$2.MatDialogActions, i2$2.MatButton, i4.MatCheckbox], styles: [".share-box[_ngcontent-%COMP%]{width:30rem;max-width:100%;position:relative;background:var(--phoenix-background-color-tertiary);border:1px solid var(--phoenix-border);border-radius:.5rem;padding:1.25rem;word-wrap:break-word}.share-box[_ngcontent-%COMP%] .share-box-copy[_ngcontent-%COMP%]{position:absolute;top:-1px;right:-1px;background:transparent;color:inherit;cursor:pointer;padding:.25rem .5rem;font-size:.75rem;border:1px solid var(--phoenix-border);border-radius:.5rem}.share-box[_ngcontent-%COMP%] .share-box-copy[_ngcontent-%COMP%]:hover{background:var(--phoenix-border)}"] });
|
|
2991
|
+
(function () {
|
|
2992
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShareLinkDialogComponent, [{
|
|
1393
2993
|
type: Component,
|
|
1394
2994
|
args: [{ selector: 'app-share-link-dialog', template: "<div class=\"dialog\">\n <h1 mat-dialog-title>Create shareable link</h1>\n <div mat-dialog-content class=\"dialog-content\">\n <h5>URL options</h5>\n <div class=\"form-group mt-2\">\n <label for=\"eventDataFile\">Event data file (URL or path)</label>\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"eventDataFile\"\n placeholder=\"assets/files/event_data/atlaseventdump2.json\"\n [value]=\"urlOptions.file\"\n (input)=\"setOptionValue('file', $event.target.value)\"\n />\n </div>\n <div class=\"form-group\">\n <label for=\"eventDataType\">Event data type</label>\n <select\n class=\"form-control\"\n id=\"eventDataType\"\n (input)=\"setOptionValue('type', $event.target.value)\"\n >\n <option selected value=\"\">Select</option>\n <option value=\"jivexml\">JiveXML</option>\n <option value=\"json\">JSON</option>\n </select>\n </div>\n <div class=\"form-group\">\n <label for=\"configuration\">Configuration (URL or path)</label>\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"configuration\"\n placeholder=\"assets/files/config/phoenix-config.json\"\n [value]=\"urlOptions.config\"\n (input)=\"setOptionValue('config', $event.target.value)\"\n />\n </div>\n <div class=\"form-group\">\n <mat-checkbox\n [checked]=\"urlOptions.hideWidgets\"\n (change)=\"setOptionValue('hideWidgets', $event.checked)\"\n >\n Hide all widgets\n </mat-checkbox>\n </div>\n\n <h5>Share</h5>\n <div class=\"share-box my-2\">\n <span>{{ shareLink.value }}</span>\n <button\n class=\"share-box-copy\"\n (click)=\"copyText(shareLink.value, $event.target)\"\n >\n COPY\n </button>\n </div>\n <h5>Embed</h5>\n <div class=\"share-box my-2\">\n <span>{{ embedLink }}</span>\n <button\n class=\"share-box-copy\"\n (click)=\"copyText(embedLink, $event.target)\"\n >\n COPY\n </button>\n </div>\n <h5>QR Code</h5>\n <div class=\"qrcode d-flex justify-content-center\">\n <canvas #qrcodeCanvas></canvas>\n </div>\n </div>\n <div mat-dialog-actions>\n <button mat-button (click)=\"onClose()\" cdkFocusInitial>Close</button>\n </div>\n</div>\n", styles: [".share-box{width:30rem;max-width:100%;position:relative;background:var(--phoenix-background-color-tertiary);border:1px solid var(--phoenix-border);border-radius:.5rem;padding:1.25rem;word-wrap:break-word}.share-box .share-box-copy{position:absolute;top:-1px;right:-1px;background:transparent;color:inherit;cursor:pointer;padding:.25rem .5rem;font-size:.75rem;border:1px solid var(--phoenix-border);border-radius:.5rem}.share-box .share-box-copy:hover{background:var(--phoenix-border)}\n"] }]
|
|
1395
|
-
}],
|
|
2995
|
+
}], function () { return [{ type: i1$2.MatDialogRef }]; }, { qrcodeCanvas: [{
|
|
1396
2996
|
type: ViewChild,
|
|
1397
2997
|
args: ['qrcodeCanvas']
|
|
1398
|
-
}] }
|
|
2998
|
+
}] });
|
|
2999
|
+
})();
|
|
1399
3000
|
|
|
1400
3001
|
class ShareLinkComponent {
|
|
1401
3002
|
constructor(dialog) {
|
|
@@ -1405,30 +3006,103 @@ class ShareLinkComponent {
|
|
|
1405
3006
|
this.dialog.open(ShareLinkDialogComponent);
|
|
1406
3007
|
}
|
|
1407
3008
|
}
|
|
1408
|
-
ShareLinkComponent.ɵfac =
|
|
1409
|
-
ShareLinkComponent.ɵcmp = i0.ɵɵ
|
|
1410
|
-
|
|
3009
|
+
ShareLinkComponent.ɵfac = function ShareLinkComponent_Factory(t) { return new (t || ShareLinkComponent)(i0.ɵɵdirectiveInject(i1$2.MatDialog)); };
|
|
3010
|
+
ShareLinkComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareLinkComponent, selectors: [["app-share-link"]], decls: 1, vars: 1, consts: [["tooltip", "Create shareable link", "icon", "share", 3, "active", "click"]], template: function ShareLinkComponent_Template(rf, ctx) {
|
|
3011
|
+
if (rf & 1) {
|
|
3012
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
3013
|
+
i0.ɵɵlistener("click", function ShareLinkComponent_Template_app_menu_toggle_click_0_listener() { return ctx.openShareLinkDialog(); });
|
|
3014
|
+
i0.ɵɵelementEnd();
|
|
3015
|
+
}
|
|
3016
|
+
if (rf & 2) {
|
|
3017
|
+
i0.ɵɵproperty("active", false);
|
|
3018
|
+
}
|
|
3019
|
+
}, dependencies: [MenuToggleComponent] });
|
|
3020
|
+
(function () {
|
|
3021
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShareLinkComponent, [{
|
|
1411
3022
|
type: Component,
|
|
1412
3023
|
args: [{ selector: 'app-share-link', template: "<app-menu-toggle\n tooltip=\"Create shareable link\"\n icon=\"share\"\n [active]=\"false\"\n (click)=\"openShareLinkDialog()\"\n>\n</app-menu-toggle>\n" }]
|
|
1413
|
-
}],
|
|
3024
|
+
}], function () { return [{ type: i1$2.MatDialog }]; }, null);
|
|
3025
|
+
})();
|
|
1414
3026
|
|
|
3027
|
+
const _c0$1 = ["*"];
|
|
1415
3028
|
class UiMenuComponent {
|
|
1416
3029
|
constructor() {
|
|
1417
3030
|
this.eventDataImportOptions = Object.values(EventDataFormat);
|
|
1418
3031
|
this.animationPresets = defaultAnimationPresets;
|
|
1419
3032
|
}
|
|
1420
3033
|
}
|
|
1421
|
-
UiMenuComponent.ɵfac =
|
|
1422
|
-
UiMenuComponent.ɵcmp = i0.ɵɵ
|
|
1423
|
-
|
|
3034
|
+
UiMenuComponent.ɵfac = function UiMenuComponent_Factory(t) { return new (t || UiMenuComponent)(); };
|
|
3035
|
+
UiMenuComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UiMenuComponent, selectors: [["app-ui-menu"]], inputs: { eventDataImportOptions: "eventDataImportOptions", animationPresets: "animationPresets" }, ngContentSelectors: _c0$1, decls: 21, vars: 2, consts: [[3, "animationPresets"], [3, "eventDataImportOptions"]], template: function UiMenuComponent_Template(rf, ctx) {
|
|
3036
|
+
if (rf & 1) {
|
|
3037
|
+
i0.ɵɵprojectionDef();
|
|
3038
|
+
i0.ɵɵelementStart(0, "app-ui-menu-wrapper");
|
|
3039
|
+
i0.ɵɵelement(1, "app-event-selector")(2, "app-zoom-controls")(3, "app-view-options")(4, "app-auto-rotate")(5, "app-dark-theme")(6, "app-object-clipping")(7, "app-main-view-toggle")(8, "app-overlay-view")(9, "app-object-selection")(10, "app-info-panel")(11, "app-animate-event")(12, "app-animate-camera", 0)(13, "app-collections-info")(14, "app-performance-toggle")(15, "app-vr-toggle")(16, "app-ar-toggle")(17, "app-ss-mode")(18, "app-io-options", 1)(19, "app-share-link");
|
|
3040
|
+
i0.ɵɵprojection(20);
|
|
3041
|
+
i0.ɵɵelementEnd();
|
|
3042
|
+
}
|
|
3043
|
+
if (rf & 2) {
|
|
3044
|
+
i0.ɵɵadvance(12);
|
|
3045
|
+
i0.ɵɵproperty("animationPresets", ctx.animationPresets);
|
|
3046
|
+
i0.ɵɵadvance(6);
|
|
3047
|
+
i0.ɵɵproperty("eventDataImportOptions", ctx.eventDataImportOptions);
|
|
3048
|
+
}
|
|
3049
|
+
}, dependencies: [UiMenuWrapperComponent, CollectionsInfoComponent, IoOptionsComponent, OverlayViewComponent, ObjectSelectionComponent, EventSelectorComponent, ObjectClippingComponent, DarkThemeComponent, AutoRotateComponent, ViewOptionsComponent, InfoPanelComponent, MainViewToggleComponent, ZoomControlsComponent, AnimateCameraComponent, AnimateEventComponent, VrToggleComponent, ArToggleComponent, SSModeComponent, PerformanceToggleComponent, ShareLinkComponent] });
|
|
3050
|
+
(function () {
|
|
3051
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UiMenuComponent, [{
|
|
1424
3052
|
type: Component,
|
|
1425
3053
|
args: [{ selector: 'app-ui-menu', template: "<app-ui-menu-wrapper>\n <!-- Event selector -->\n <app-event-selector></app-event-selector>\n\n <!-- Zoom in and zoom out controls -->\n <app-zoom-controls></app-zoom-controls>\n\n <app-view-options></app-view-options>\n\n <app-auto-rotate></app-auto-rotate>\n\n <!-- Dark theme toggle -->\n <app-dark-theme></app-dark-theme>\n\n <!-- Toggle for clipping geometries -->\n <app-object-clipping></app-object-clipping>\n\n <!-- Main view toggle -->\n <app-main-view-toggle></app-main-view-toggle>\n\n <!-- Toggle for overlay panel -->\n <app-overlay-view></app-overlay-view>\n\n <!-- Toggle for selected object panel -->\n <app-object-selection></app-object-selection>\n\n <!-- Info panel -->\n <app-info-panel></app-info-panel>\n\n <!-- Toggle for animating the event data -->\n <app-animate-event></app-animate-event>\n\n <!-- Toggle for animating camera through event -->\n <app-animate-camera\n [animationPresets]=\"animationPresets\"\n ></app-animate-camera>\n\n <!-- Toggle for collections info -->\n <app-collections-info></app-collections-info>\n\n <!-- Toggle for performance -->\n <app-performance-toggle></app-performance-toggle>\n\n <!-- Toggle for VR -->\n <app-vr-toggle></app-vr-toggle>\n\n <!-- Toggle for AR -->\n <app-ar-toggle></app-ar-toggle>\n\n <!-- Toggle for screenshot mode -->\n <app-ss-mode></app-ss-mode>\n\n <!-- Toggle for loading geometries modal-->\n <app-io-options\n [eventDataImportOptions]=\"eventDataImportOptions\"\n ></app-io-options>\n\n <!-- Toggle for shareable link constructor modal-->\n <app-share-link></app-share-link>\n\n <!-- Extra options -->\n <ng-content></ng-content>\n</app-ui-menu-wrapper>\n" }]
|
|
1426
|
-
}],
|
|
3054
|
+
}], null, { eventDataImportOptions: [{
|
|
1427
3055
|
type: Input
|
|
1428
3056
|
}], animationPresets: [{
|
|
1429
3057
|
type: Input
|
|
1430
|
-
}] }
|
|
3058
|
+
}] });
|
|
3059
|
+
})();
|
|
1431
3060
|
|
|
3061
|
+
function FileExplorerComponent_cdk_tree_node_1_Template(rf, ctx) {
|
|
3062
|
+
if (rf & 1) {
|
|
3063
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
3064
|
+
i0.ɵɵelementStart(0, "cdk-tree-node", 3)(1, "button", 4);
|
|
3065
|
+
i0.ɵɵlistener("click", function FileExplorerComponent_cdk_tree_node_1_Template_button_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r4); const node_r2 = restoredCtx.$implicit; const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.onSelect(node_r2.url)); });
|
|
3066
|
+
i0.ɵɵnamespaceSVG();
|
|
3067
|
+
i0.ɵɵelementStart(2, "svg", 5);
|
|
3068
|
+
i0.ɵɵelement(3, "use", 6);
|
|
3069
|
+
i0.ɵɵelementEnd();
|
|
3070
|
+
i0.ɵɵtext(4);
|
|
3071
|
+
i0.ɵɵelementEnd()();
|
|
3072
|
+
}
|
|
3073
|
+
if (rf & 2) {
|
|
3074
|
+
const node_r2 = ctx.$implicit;
|
|
3075
|
+
i0.ɵɵadvance(4);
|
|
3076
|
+
i0.ɵɵtextInterpolate1(" ", node_r2.name, " ");
|
|
3077
|
+
}
|
|
3078
|
+
}
|
|
3079
|
+
function FileExplorerComponent_cdk_nested_tree_node_2_Template(rf, ctx) {
|
|
3080
|
+
if (rf & 1) {
|
|
3081
|
+
i0.ɵɵelementStart(0, "cdk-nested-tree-node", 3)(1, "button", 7);
|
|
3082
|
+
i0.ɵɵnamespaceSVG();
|
|
3083
|
+
i0.ɵɵelementStart(2, "svg", 5);
|
|
3084
|
+
i0.ɵɵelement(3, "use", 8);
|
|
3085
|
+
i0.ɵɵelementEnd();
|
|
3086
|
+
i0.ɵɵtext(4);
|
|
3087
|
+
i0.ɵɵelementEnd();
|
|
3088
|
+
i0.ɵɵnamespaceHTML();
|
|
3089
|
+
i0.ɵɵelementStart(5, "div");
|
|
3090
|
+
i0.ɵɵelementContainer(6, 9);
|
|
3091
|
+
i0.ɵɵelementEnd()();
|
|
3092
|
+
}
|
|
3093
|
+
if (rf & 2) {
|
|
3094
|
+
const node_r5 = ctx.$implicit;
|
|
3095
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
3096
|
+
i0.ɵɵadvance(1);
|
|
3097
|
+
i0.ɵɵattribute("aria-label", "Toggle " + node_r5.name);
|
|
3098
|
+
i0.ɵɵadvance(1);
|
|
3099
|
+
i0.ɵɵclassProp("node-icon-filled", !ctx_r1.treeControl.isExpanded(node_r5));
|
|
3100
|
+
i0.ɵɵadvance(2);
|
|
3101
|
+
i0.ɵɵtextInterpolate1(" ", node_r5.name, " ");
|
|
3102
|
+
i0.ɵɵadvance(1);
|
|
3103
|
+
i0.ɵɵclassProp("file-tree-invisible", !ctx_r1.treeControl.isExpanded(node_r5));
|
|
3104
|
+
}
|
|
3105
|
+
}
|
|
1432
3106
|
class FileNode {
|
|
1433
3107
|
constructor(name) {
|
|
1434
3108
|
this.name = name;
|
|
@@ -1462,26 +3136,78 @@ class FileExplorerComponent {
|
|
|
1462
3136
|
return Object.values(node.children).sort((a, b) => !a.url && b.url ? -1 : 1);
|
|
1463
3137
|
}
|
|
1464
3138
|
}
|
|
1465
|
-
FileExplorerComponent.ɵfac =
|
|
1466
|
-
FileExplorerComponent.ɵcmp = i0.ɵɵ
|
|
1467
|
-
|
|
3139
|
+
FileExplorerComponent.ɵfac = function FileExplorerComponent_Factory(t) { return new (t || FileExplorerComponent)(); };
|
|
3140
|
+
FileExplorerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FileExplorerComponent, selectors: [["app-file-explorer"]], inputs: { rootFileNode: "rootFileNode" }, outputs: { onFileSelect: "onFileSelect" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 3, consts: [[3, "dataSource", "treeControl"], ["class", "tree-node", 4, "cdkTreeNodeDef"], ["class", "tree-node", 4, "cdkTreeNodeDef", "cdkTreeNodeDefWhen"], [1, "tree-node"], ["mat-button", "", "mat-stroked-button", "", 1, "tree-node-button", 3, "click"], [1, "node-icon"], ["href", "assets/icons/file.svg#file"], ["mat-button", "", "cdkTreeNodeToggle", "", 1, "tree-node-button"], ["href", "assets/icons/folder.svg#folder"], ["cdkTreeNodeOutlet", ""]], template: function FileExplorerComponent_Template(rf, ctx) {
|
|
3141
|
+
if (rf & 1) {
|
|
3142
|
+
i0.ɵɵelementStart(0, "cdk-tree", 0);
|
|
3143
|
+
i0.ɵɵtemplate(1, FileExplorerComponent_cdk_tree_node_1_Template, 5, 1, "cdk-tree-node", 1);
|
|
3144
|
+
i0.ɵɵtemplate(2, FileExplorerComponent_cdk_nested_tree_node_2_Template, 7, 6, "cdk-nested-tree-node", 2);
|
|
3145
|
+
i0.ɵɵelementEnd();
|
|
3146
|
+
}
|
|
3147
|
+
if (rf & 2) {
|
|
3148
|
+
i0.ɵɵproperty("dataSource", ctx.dataSource)("treeControl", ctx.treeControl);
|
|
3149
|
+
i0.ɵɵadvance(2);
|
|
3150
|
+
i0.ɵɵproperty("cdkTreeNodeDefWhen", ctx.hasChildren);
|
|
3151
|
+
}
|
|
3152
|
+
}, dependencies: [i2$2.MatButton, i2$5.CdkNestedTreeNode, i2$5.CdkTreeNodeDef, i2$5.CdkTreeNodeToggle, i2$5.CdkTree, i2$5.CdkTreeNode, i2$5.CdkTreeNodeOutlet], styles: [".file-tree-invisible[_ngcontent-%COMP%]{display:none}.tree-node[_ngcontent-%COMP%]{display:block;margin:.25rem 0}.tree-node[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%]{padding-left:1rem}.tree-node-button[_ngcontent-%COMP%]{outline:none;padding:0 .75rem}.node-icon[_ngcontent-%COMP%]{width:1rem;height:1rem;margin-right:.25rem;margin-top:-2px}.node-icon.node-icon-filled[_ngcontent-%COMP%]{--icon-fill: var(--phoenix-options-icon-path, #fff)}"] });
|
|
3153
|
+
(function () {
|
|
3154
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FileExplorerComponent, [{
|
|
1468
3155
|
type: Component,
|
|
1469
3156
|
args: [{ selector: 'app-file-explorer', template: "<cdk-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n <!-- This is the tree node template for leaf nodes -->\n <cdk-tree-node *cdkTreeNodeDef=\"let node\" class=\"tree-node\">\n <button\n mat-button\n mat-stroked-button\n class=\"tree-node-button\"\n (click)=\"onSelect(node.url)\"\n >\n <svg class=\"node-icon\">\n <use href=\"assets/icons/file.svg#file\"></use>\n </svg>\n {{ node.name }}\n </button>\n </cdk-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n *cdkTreeNodeDef=\"let node; when: hasChildren\"\n class=\"tree-node\"\n >\n <button\n mat-button\n cdkTreeNodeToggle\n class=\"tree-node-button\"\n [attr.aria-label]=\"'Toggle ' + node.name\"\n >\n <svg\n class=\"node-icon\"\n [class.node-icon-filled]=\"!treeControl.isExpanded(node)\"\n >\n <use href=\"assets/icons/folder.svg#folder\"></use>\n </svg>\n {{ node.name }}\n </button>\n <div [class.file-tree-invisible]=\"!treeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n</cdk-tree>\n", styles: [".file-tree-invisible{display:none}.tree-node{display:block;margin:.25rem 0}.tree-node .tree-node{padding-left:1rem}.tree-node-button{outline:none;padding:0 .75rem}.node-icon{width:1rem;height:1rem;margin-right:.25rem;margin-top:-2px}.node-icon.node-icon-filled{--icon-fill: var(--phoenix-options-icon-path, #fff)}\n"] }]
|
|
1470
|
-
}],
|
|
3157
|
+
}], null, { rootFileNode: [{
|
|
1471
3158
|
type: Input
|
|
1472
3159
|
}], onFileSelect: [{
|
|
1473
3160
|
type: Output
|
|
1474
|
-
}] }
|
|
3161
|
+
}] });
|
|
3162
|
+
})();
|
|
1475
3163
|
|
|
1476
3164
|
class RingLoaderComponent {
|
|
1477
3165
|
}
|
|
1478
|
-
RingLoaderComponent.ɵfac =
|
|
1479
|
-
RingLoaderComponent.ɵcmp = i0.ɵɵ
|
|
1480
|
-
|
|
3166
|
+
RingLoaderComponent.ɵfac = function RingLoaderComponent_Factory(t) { return new (t || RingLoaderComponent)(); };
|
|
3167
|
+
RingLoaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RingLoaderComponent, selectors: [["app-ring-loader"]], decls: 5, vars: 0, consts: [[1, "ring"]], template: function RingLoaderComponent_Template(rf, ctx) {
|
|
3168
|
+
if (rf & 1) {
|
|
3169
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
3170
|
+
i0.ɵɵelement(1, "div")(2, "div")(3, "div")(4, "div");
|
|
3171
|
+
i0.ɵɵelementEnd();
|
|
3172
|
+
}
|
|
3173
|
+
}, styles: [".ring[_ngcontent-%COMP%]{display:inline-block;position:relative;width:1.5rem;height:1.5rem}.ring[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{box-sizing:border-box;display:block;position:absolute;width:1.5rem;height:1.5rem;margin:.25rem .5rem;border:.25rem solid var(--phoenix-text-color);border-radius:50%;animation:animate-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--phoenix-text-color) transparent transparent transparent}.ring[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:nth-child(1){animation-delay:-.45s}.ring[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:nth-child(2){animation-delay:-.3s}.ring[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:nth-child(3){animation-delay:-.15s}@keyframes _ngcontent-%COMP%_app-ring-loader_animate-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"] });
|
|
3174
|
+
(function () {
|
|
3175
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RingLoaderComponent, [{
|
|
1481
3176
|
type: Component,
|
|
1482
|
-
args: [{ selector: 'app-ring-loader', template: "<div class=\"ring\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n</div>\n", styles: [".ring{display:inline-block;position:relative;width:1.5rem;height:1.5rem}.ring div{box-sizing:border-box;display:block;position:absolute;width:1.5rem;height:1.5rem;margin:.25rem .5rem;border:.25rem solid var(--phoenix-text-color);border-radius:50%;animation:ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--phoenix-text-color) transparent transparent transparent}.ring div:nth-child(1){animation-delay:-.45s}.ring div:nth-child(2){animation-delay:-.3s}.ring div:nth-child(3){animation-delay:-.15s}@keyframes ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
|
|
1483
|
-
}]
|
|
3177
|
+
args: [{ selector: 'app-ring-loader', template: "<div class=\"ring\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n</div>\n", styles: [".ring{display:inline-block;position:relative;width:1.5rem;height:1.5rem}.ring div{box-sizing:border-box;display:block;position:absolute;width:1.5rem;height:1.5rem;margin:.25rem .5rem;border:.25rem solid var(--phoenix-text-color);border-radius:50%;animation:animate-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--phoenix-text-color) transparent transparent transparent}.ring div:nth-child(1){animation-delay:-.45s}.ring div:nth-child(2){animation-delay:-.3s}.ring div:nth-child(3){animation-delay:-.15s}@keyframes app-ring-loader_animate-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
|
|
3178
|
+
}], null, null);
|
|
3179
|
+
})();
|
|
1484
3180
|
|
|
3181
|
+
function EventDataExplorerDialogComponent_app_ring_loader_4_Template(rf, ctx) {
|
|
3182
|
+
if (rf & 1) {
|
|
3183
|
+
i0.ɵɵelement(0, "app-ring-loader");
|
|
3184
|
+
}
|
|
3185
|
+
}
|
|
3186
|
+
function EventDataExplorerDialogComponent_div_6_Template(rf, ctx) {
|
|
3187
|
+
if (rf & 1) {
|
|
3188
|
+
i0.ɵɵelementStart(0, "div");
|
|
3189
|
+
i0.ɵɵtext(1, "Error processing request.");
|
|
3190
|
+
i0.ɵɵelementEnd();
|
|
3191
|
+
}
|
|
3192
|
+
}
|
|
3193
|
+
function EventDataExplorerDialogComponent_mat_tab_group_7_Template(rf, ctx) {
|
|
3194
|
+
if (rf & 1) {
|
|
3195
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
3196
|
+
i0.ɵɵelementStart(0, "mat-tab-group", 8)(1, "mat-tab", 9)(2, "div", 10)(3, "app-file-explorer", 11);
|
|
3197
|
+
i0.ɵɵlistener("onFileSelect", function EventDataExplorerDialogComponent_mat_tab_group_7_Template_app_file_explorer_onFileSelect_3_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.loadEvent($event)); });
|
|
3198
|
+
i0.ɵɵelementEnd()()();
|
|
3199
|
+
i0.ɵɵelementStart(4, "mat-tab", 12)(5, "div", 10)(6, "app-file-explorer", 11);
|
|
3200
|
+
i0.ɵɵlistener("onFileSelect", function EventDataExplorerDialogComponent_mat_tab_group_7_Template_app_file_explorer_onFileSelect_6_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.loadConfig($event)); });
|
|
3201
|
+
i0.ɵɵelementEnd()()()();
|
|
3202
|
+
}
|
|
3203
|
+
if (rf & 2) {
|
|
3204
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
3205
|
+
i0.ɵɵadvance(3);
|
|
3206
|
+
i0.ɵɵproperty("rootFileNode", ctx_r2.eventDataFileNode);
|
|
3207
|
+
i0.ɵɵadvance(3);
|
|
3208
|
+
i0.ɵɵproperty("rootFileNode", ctx_r2.configFileNode);
|
|
3209
|
+
}
|
|
3210
|
+
}
|
|
1485
3211
|
const supportFileTypes = ['json', 'xml'];
|
|
1486
3212
|
class EventDataExplorerDialogComponent {
|
|
1487
3213
|
constructor(eventDisplay, dialogRef, dialogData) {
|
|
@@ -1502,8 +3228,10 @@ class EventDataExplorerDialogComponent {
|
|
|
1502
3228
|
});
|
|
1503
3229
|
}
|
|
1504
3230
|
loadEvent(file) {
|
|
1505
|
-
|
|
1506
|
-
|
|
3231
|
+
const isZip = file.split('.').pop() === 'zip';
|
|
3232
|
+
const rawfile = isZip ? file.substring(0, file.length - 4) : file;
|
|
3233
|
+
this.makeRequest(file, isZip ? 'blob' : 'text', (eventData) => {
|
|
3234
|
+
switch (rawfile.split('.').pop()) {
|
|
1507
3235
|
case 'xml':
|
|
1508
3236
|
this.loadJiveXMLEvent(eventData);
|
|
1509
3237
|
break;
|
|
@@ -1535,12 +3263,37 @@ class EventDataExplorerDialogComponent {
|
|
|
1535
3263
|
onClose() {
|
|
1536
3264
|
this.dialogRef.close();
|
|
1537
3265
|
}
|
|
3266
|
+
unzip(data) {
|
|
3267
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
3268
|
+
const archive = new JSZip();
|
|
3269
|
+
yield archive.loadAsync(data);
|
|
3270
|
+
let fileData = '';
|
|
3271
|
+
let multiFile = false;
|
|
3272
|
+
for (const filePath in archive.files) {
|
|
3273
|
+
if (multiFile) {
|
|
3274
|
+
console.error('Zip archive contains more than one file. Ignoring all but first');
|
|
3275
|
+
break;
|
|
3276
|
+
}
|
|
3277
|
+
fileData = yield archive.file(filePath).async('string');
|
|
3278
|
+
multiFile = true;
|
|
3279
|
+
}
|
|
3280
|
+
return fileData;
|
|
3281
|
+
});
|
|
3282
|
+
}
|
|
1538
3283
|
makeRequest(urlPath, responseType, onData) {
|
|
1539
3284
|
this.loading = true;
|
|
1540
3285
|
fetch(urlPath)
|
|
1541
3286
|
.then((res) => res[responseType]())
|
|
1542
3287
|
.then((data) => {
|
|
1543
|
-
|
|
3288
|
+
if (responseType === 'blob') {
|
|
3289
|
+
data
|
|
3290
|
+
.arrayBuffer()
|
|
3291
|
+
.then((buf) => this.unzip(buf))
|
|
3292
|
+
.then((d) => onData(d));
|
|
3293
|
+
}
|
|
3294
|
+
else {
|
|
3295
|
+
onData(data);
|
|
3296
|
+
}
|
|
1544
3297
|
this.error = false;
|
|
1545
3298
|
})
|
|
1546
3299
|
.catch((error) => {
|
|
@@ -1567,17 +3320,43 @@ class EventDataExplorerDialogComponent {
|
|
|
1567
3320
|
return rootNode;
|
|
1568
3321
|
}
|
|
1569
3322
|
}
|
|
1570
|
-
EventDataExplorerDialogComponent.ɵfac =
|
|
1571
|
-
EventDataExplorerDialogComponent.ɵcmp = i0.ɵɵ
|
|
1572
|
-
|
|
3323
|
+
EventDataExplorerDialogComponent.ɵfac = function EventDataExplorerDialogComponent_Factory(t) { return new (t || EventDataExplorerDialogComponent)(i0.ɵɵdirectiveInject(EventDisplayService), i0.ɵɵdirectiveInject(i1$2.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
|
|
3324
|
+
EventDataExplorerDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EventDataExplorerDialogComponent, selectors: [["app-event-data-explorer-dialog"]], decls: 11, vars: 3, consts: [[1, "dialog"], [1, "d-flex"], ["mat-dialog-title", ""], [4, "ngIf"], ["mat-dialog-content", "", 1, "dialog-content"], ["mat-align-tabs", "start", "animationDuration", "0ms", "disableRipple", "", "color", "transparent", 4, "ngIf"], ["mat-dialog-actions", ""], ["mat-button", "", "cdkFocusInitial", "", 3, "click"], ["mat-align-tabs", "start", "animationDuration", "0ms", "disableRipple", "", "color", "transparent"], ["label", "Event data"], [1, "py-3"], [3, "rootFileNode", "onFileSelect"], ["label", "Config"]], template: function EventDataExplorerDialogComponent_Template(rf, ctx) {
|
|
3325
|
+
if (rf & 1) {
|
|
3326
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h1", 2);
|
|
3327
|
+
i0.ɵɵtext(3, "Event data from directory");
|
|
3328
|
+
i0.ɵɵelementEnd();
|
|
3329
|
+
i0.ɵɵtemplate(4, EventDataExplorerDialogComponent_app_ring_loader_4_Template, 1, 0, "app-ring-loader", 3);
|
|
3330
|
+
i0.ɵɵelementEnd();
|
|
3331
|
+
i0.ɵɵelementStart(5, "div", 4);
|
|
3332
|
+
i0.ɵɵtemplate(6, EventDataExplorerDialogComponent_div_6_Template, 2, 0, "div", 3);
|
|
3333
|
+
i0.ɵɵtemplate(7, EventDataExplorerDialogComponent_mat_tab_group_7_Template, 7, 2, "mat-tab-group", 5);
|
|
3334
|
+
i0.ɵɵelementEnd();
|
|
3335
|
+
i0.ɵɵelementStart(8, "div", 6)(9, "button", 7);
|
|
3336
|
+
i0.ɵɵlistener("click", function EventDataExplorerDialogComponent_Template_button_click_9_listener() { return ctx.onClose(); });
|
|
3337
|
+
i0.ɵɵtext(10, "Close");
|
|
3338
|
+
i0.ɵɵelementEnd()()();
|
|
3339
|
+
}
|
|
3340
|
+
if (rf & 2) {
|
|
3341
|
+
i0.ɵɵadvance(4);
|
|
3342
|
+
i0.ɵɵproperty("ngIf", ctx.loading);
|
|
3343
|
+
i0.ɵɵadvance(2);
|
|
3344
|
+
i0.ɵɵproperty("ngIf", ctx.error);
|
|
3345
|
+
i0.ɵɵadvance(1);
|
|
3346
|
+
i0.ɵɵproperty("ngIf", !ctx.error);
|
|
3347
|
+
}
|
|
3348
|
+
}, dependencies: [i2.NgIf, i1$2.MatDialogTitle, i1$2.MatDialogContent, i1$2.MatDialogActions, i2$2.MatButton, i5$1.MatTab, i5$1.MatTabGroup, FileExplorerComponent, RingLoaderComponent], styles: [".dialog[_ngcontent-%COMP%]{width:30rem;max-width:95%}.file-path-button[_ngcontent-%COMP%]{width:100%;color:var(--phoenix-text-color);background:var(--phoenix-background-color-tertiary);text-align:left;border-radius:1rem;margin-bottom:.5rem;padding:.5rem 1rem}.file-path-button[_ngcontent-%COMP%]:last-child{margin-bottom:0}.file-path-button[_ngcontent-%COMP%]:hover{background:var(--phoenix-background-color-secondary)}.file-path-button[_ngcontent-%COMP%]:focus{border:1px solid var(--phoenix-text-color-secondary);box-shadow:none}"] });
|
|
3349
|
+
(function () {
|
|
3350
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventDataExplorerDialogComponent, [{
|
|
1573
3351
|
type: Component,
|
|
1574
3352
|
args: [{ selector: 'app-event-data-explorer-dialog', template: "<div class=\"dialog\">\n <div class=\"d-flex\">\n <h1 mat-dialog-title>Event data from directory</h1>\n <app-ring-loader *ngIf=\"loading\"></app-ring-loader>\n </div>\n <div mat-dialog-content class=\"dialog-content\">\n <div *ngIf=\"error\">Error processing request.</div>\n <mat-tab-group\n *ngIf=\"!error\"\n mat-align-tabs=\"start\"\n animationDuration=\"0ms\"\n disableRipple\n color=\"transparent\"\n >\n <mat-tab label=\"Event data\">\n <div class=\"py-3\">\n <app-file-explorer\n [rootFileNode]=\"eventDataFileNode\"\n (onFileSelect)=\"loadEvent($event)\"\n ></app-file-explorer>\n </div>\n </mat-tab>\n <mat-tab label=\"Config\">\n <div class=\"py-3\">\n <app-file-explorer\n [rootFileNode]=\"configFileNode\"\n (onFileSelect)=\"loadConfig($event)\"\n ></app-file-explorer>\n </div>\n </mat-tab>\n </mat-tab-group>\n </div>\n <div mat-dialog-actions>\n <button mat-button (click)=\"onClose()\" cdkFocusInitial>Close</button>\n </div>\n</div>\n", styles: [".dialog{width:30rem;max-width:95%}.file-path-button{width:100%;color:var(--phoenix-text-color);background:var(--phoenix-background-color-tertiary);text-align:left;border-radius:1rem;margin-bottom:.5rem;padding:.5rem 1rem}.file-path-button:last-child{margin-bottom:0}.file-path-button:hover{background:var(--phoenix-background-color-secondary)}.file-path-button:focus{border:1px solid var(--phoenix-text-color-secondary);box-shadow:none}\n"] }]
|
|
1575
|
-
}],
|
|
3353
|
+
}], function () {
|
|
1576
3354
|
return [{ type: EventDisplayService }, { type: i1$2.MatDialogRef }, { type: undefined, decorators: [{
|
|
1577
3355
|
type: Inject,
|
|
1578
3356
|
args: [MAT_DIALOG_DATA]
|
|
1579
3357
|
}] }];
|
|
1580
|
-
}
|
|
3358
|
+
}, null);
|
|
3359
|
+
})();
|
|
1581
3360
|
|
|
1582
3361
|
class EventDataExplorerComponent {
|
|
1583
3362
|
constructor(dialog) {
|
|
@@ -1591,14 +3370,25 @@ class EventDataExplorerComponent {
|
|
|
1591
3370
|
});
|
|
1592
3371
|
}
|
|
1593
3372
|
}
|
|
1594
|
-
EventDataExplorerComponent.ɵfac =
|
|
1595
|
-
EventDataExplorerComponent.ɵcmp = i0.ɵɵ
|
|
1596
|
-
|
|
3373
|
+
EventDataExplorerComponent.ɵfac = function EventDataExplorerComponent_Factory(t) { return new (t || EventDataExplorerComponent)(i0.ɵɵdirectiveInject(i1$2.MatDialog)); };
|
|
3374
|
+
EventDataExplorerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EventDataExplorerComponent, selectors: [["app-event-data-explorer"]], inputs: { apiURL: "apiURL" }, decls: 1, vars: 1, consts: [["tooltip", "Browse events in data directory", "icon", "server", 3, "active", "click"]], template: function EventDataExplorerComponent_Template(rf, ctx) {
|
|
3375
|
+
if (rf & 1) {
|
|
3376
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
3377
|
+
i0.ɵɵlistener("click", function EventDataExplorerComponent_Template_app_menu_toggle_click_0_listener() { return ctx.openEventDataExplorerDialog(); });
|
|
3378
|
+
i0.ɵɵelementEnd();
|
|
3379
|
+
}
|
|
3380
|
+
if (rf & 2) {
|
|
3381
|
+
i0.ɵɵproperty("active", false);
|
|
3382
|
+
}
|
|
3383
|
+
}, dependencies: [MenuToggleComponent] });
|
|
3384
|
+
(function () {
|
|
3385
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventDataExplorerComponent, [{
|
|
1597
3386
|
type: Component,
|
|
1598
3387
|
args: [{ selector: 'app-event-data-explorer', template: "<app-menu-toggle\n tooltip=\"Browse events in data directory\"\n icon=\"server\"\n [active]=\"false\"\n (click)=\"openEventDataExplorerDialog()\"\n>\n</app-menu-toggle>\n" }]
|
|
1599
|
-
}],
|
|
3388
|
+
}], function () { return [{ type: i1$2.MatDialog }]; }, { apiURL: [{
|
|
1600
3389
|
type: Input
|
|
1601
|
-
}] }
|
|
3390
|
+
}] });
|
|
3391
|
+
})();
|
|
1602
3392
|
|
|
1603
3393
|
class CycleEventsComponent {
|
|
1604
3394
|
constructor(eventDisplay) {
|
|
@@ -1623,14 +3413,25 @@ class CycleEventsComponent {
|
|
|
1623
3413
|
}, this.interval);
|
|
1624
3414
|
}
|
|
1625
3415
|
}
|
|
1626
|
-
CycleEventsComponent.ɵfac =
|
|
1627
|
-
CycleEventsComponent.ɵcmp = i0.ɵɵ
|
|
1628
|
-
|
|
3416
|
+
CycleEventsComponent.ɵfac = function CycleEventsComponent_Factory(t) { return new (t || CycleEventsComponent)(i0.ɵɵdirectiveInject(EventDisplayService)); };
|
|
3417
|
+
CycleEventsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CycleEventsComponent, selectors: [["app-cycle-events"]], inputs: { interval: "interval" }, decls: 1, vars: 1, consts: [["tooltip", "Cycle through events", "icon", "cycle-events", 3, "active", "click"]], template: function CycleEventsComponent_Template(rf, ctx) {
|
|
3418
|
+
if (rf & 1) {
|
|
3419
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
3420
|
+
i0.ɵɵlistener("click", function CycleEventsComponent_Template_app_menu_toggle_click_0_listener() { return ctx.toggleCycle(); });
|
|
3421
|
+
i0.ɵɵelementEnd();
|
|
3422
|
+
}
|
|
3423
|
+
if (rf & 2) {
|
|
3424
|
+
i0.ɵɵproperty("active", ctx.active);
|
|
3425
|
+
}
|
|
3426
|
+
}, dependencies: [MenuToggleComponent], encapsulation: 2 });
|
|
3427
|
+
(function () {
|
|
3428
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CycleEventsComponent, [{
|
|
1629
3429
|
type: Component,
|
|
1630
3430
|
args: [{ selector: 'app-cycle-events', template: "<app-menu-toggle\n tooltip=\"Cycle through events\"\n [active]=\"active\"\n icon=\"cycle-events\"\n (click)=\"toggleCycle()\"\n>\n</app-menu-toggle>\n" }]
|
|
1631
|
-
}],
|
|
3431
|
+
}], function () { return [{ type: EventDisplayService }]; }, { interval: [{
|
|
1632
3432
|
type: Input
|
|
1633
|
-
}] }
|
|
3433
|
+
}] });
|
|
3434
|
+
})();
|
|
1634
3435
|
|
|
1635
3436
|
class ErrorMessageService {
|
|
1636
3437
|
constructor() {
|
|
@@ -1652,15 +3453,57 @@ class ErrorMessageService {
|
|
|
1652
3453
|
this.error.update(error);
|
|
1653
3454
|
}
|
|
1654
3455
|
}
|
|
1655
|
-
ErrorMessageService.ɵfac =
|
|
1656
|
-
ErrorMessageService.ɵprov = i0.ɵɵ
|
|
1657
|
-
|
|
3456
|
+
ErrorMessageService.ɵfac = function ErrorMessageService_Factory(t) { return new (t || ErrorMessageService)(); };
|
|
3457
|
+
ErrorMessageService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ErrorMessageService, factory: ErrorMessageService.ɵfac, providedIn: 'root' });
|
|
3458
|
+
(function () {
|
|
3459
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ErrorMessageService, [{
|
|
1658
3460
|
type: Injectable,
|
|
1659
3461
|
args: [{
|
|
1660
3462
|
providedIn: 'root',
|
|
1661
3463
|
}]
|
|
1662
|
-
}]
|
|
3464
|
+
}], null, null);
|
|
3465
|
+
})();
|
|
1663
3466
|
|
|
3467
|
+
const _c0 = function (a0) { return { width: a0 }; };
|
|
3468
|
+
function LoaderComponent_ng_container_1_div_7_Template(rf, ctx) {
|
|
3469
|
+
if (rf & 1) {
|
|
3470
|
+
i0.ɵɵelementStart(0, "div", 7);
|
|
3471
|
+
i0.ɵɵelement(1, "span");
|
|
3472
|
+
i0.ɵɵelementEnd();
|
|
3473
|
+
}
|
|
3474
|
+
if (rf & 2) {
|
|
3475
|
+
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
3476
|
+
i0.ɵɵadvance(1);
|
|
3477
|
+
i0.ɵɵstyleMap(i0.ɵɵpureFunction1(2, _c0, ctx_r3.progress + "%"));
|
|
3478
|
+
}
|
|
3479
|
+
}
|
|
3480
|
+
function LoaderComponent_ng_container_1_Template(rf, ctx) {
|
|
3481
|
+
if (rf & 1) {
|
|
3482
|
+
i0.ɵɵelementContainerStart(0);
|
|
3483
|
+
i0.ɵɵelement(1, "img", 3);
|
|
3484
|
+
i0.ɵɵelementStart(2, "p", 4);
|
|
3485
|
+
i0.ɵɵtext(3, " Loading...");
|
|
3486
|
+
i0.ɵɵelement(4, "br");
|
|
3487
|
+
i0.ɵɵelementStart(5, "small", 5);
|
|
3488
|
+
i0.ɵɵtext(6, "(This may take a while)");
|
|
3489
|
+
i0.ɵɵelementEnd()();
|
|
3490
|
+
i0.ɵɵtemplate(7, LoaderComponent_ng_container_1_div_7_Template, 2, 4, "div", 6);
|
|
3491
|
+
i0.ɵɵelementContainerEnd();
|
|
3492
|
+
}
|
|
3493
|
+
if (rf & 2) {
|
|
3494
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
3495
|
+
i0.ɵɵadvance(7);
|
|
3496
|
+
i0.ɵɵproperty("ngIf", ctx_r0.progress !== undefined);
|
|
3497
|
+
}
|
|
3498
|
+
}
|
|
3499
|
+
function LoaderComponent_ng_template_2_Template(rf, ctx) {
|
|
3500
|
+
if (rf & 1) {
|
|
3501
|
+
i0.ɵɵelementStart(0, "p");
|
|
3502
|
+
i0.ɵɵtext(1, " An error occurred while loading the application. Please try refreshing the page. ");
|
|
3503
|
+
i0.ɵɵelementEnd();
|
|
3504
|
+
}
|
|
3505
|
+
}
|
|
3506
|
+
const _c1 = function (a0) { return { "load-complete": a0 }; };
|
|
1664
3507
|
class LoaderComponent {
|
|
1665
3508
|
constructor(errorMessageService) {
|
|
1666
3509
|
this.errorMessageService = errorMessageService;
|
|
@@ -1672,16 +3515,31 @@ class LoaderComponent {
|
|
|
1672
3515
|
});
|
|
1673
3516
|
}
|
|
1674
3517
|
}
|
|
1675
|
-
LoaderComponent.ɵfac =
|
|
1676
|
-
LoaderComponent.ɵcmp = i0.ɵɵ
|
|
1677
|
-
|
|
3518
|
+
LoaderComponent.ɵfac = function LoaderComponent_Factory(t) { return new (t || LoaderComponent)(i0.ɵɵdirectiveInject(ErrorMessageService)); };
|
|
3519
|
+
LoaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LoaderComponent, selectors: [["app-loader"]], inputs: { loaded: "loaded", progress: "progress" }, decls: 4, vars: 5, consts: [[1, "loader-wrapper", "d-flex", "position-absolute", "flex-column", "justify-content-center", "align-items-center", "w-100", "h-100", "p-5", "text-center", 3, "ngClass"], [4, "ngIf", "ngIfElse"], ["errorContainer", ""], ["src", "assets/images/logo-small.svg", "alt", "Loader"], [1, "mt-5"], [1, "text-muted"], ["class", "loading-bar", 4, "ngIf"], [1, "loading-bar"]], template: function LoaderComponent_Template(rf, ctx) {
|
|
3520
|
+
if (rf & 1) {
|
|
3521
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
3522
|
+
i0.ɵɵtemplate(1, LoaderComponent_ng_container_1_Template, 8, 1, "ng-container", 1);
|
|
3523
|
+
i0.ɵɵtemplate(2, LoaderComponent_ng_template_2_Template, 2, 0, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor);
|
|
3524
|
+
i0.ɵɵelementEnd();
|
|
3525
|
+
}
|
|
3526
|
+
if (rf & 2) {
|
|
3527
|
+
const _r1 = i0.ɵɵreference(3);
|
|
3528
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c1, ctx.loaded));
|
|
3529
|
+
i0.ɵɵadvance(1);
|
|
3530
|
+
i0.ɵɵproperty("ngIf", ctx.error === undefined)("ngIfElse", _r1);
|
|
3531
|
+
}
|
|
3532
|
+
}, dependencies: [i2.NgClass, i2.NgIf], styles: [".loader-wrapper[_ngcontent-%COMP%]{background:var(--phoenix-background-color);z-index:9998}.loader-wrapper.load-complete[_ngcontent-%COMP%]{display:none!important}.loader-wrapper[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:5rem;height:5rem;animation:loader 2s infinite}.loader-wrapper[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--phoenix-text-color)}.loader-wrapper[_ngcontent-%COMP%] .loading-bar[_ngcontent-%COMP%]{width:15rem;max-width:90%;height:.5rem;background:var(--phoenix-background-color-tertiary);border-radius:2.5rem;overflow:hidden}.loader-wrapper[_ngcontent-%COMP%] .loading-bar[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;height:100%;border-radius:2.5rem;background:linear-gradient(to right,var(--phoenix-primary),var(--phoenix-secondary));transition:all .5s}@keyframes _ngcontent-%COMP%_app-loader_loader{0%,to{transform:scale(.1) rotate(0)}95%{transform:scale(1) rotate(15deg)}}"] });
|
|
3533
|
+
(function () {
|
|
3534
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoaderComponent, [{
|
|
1678
3535
|
type: Component,
|
|
1679
|
-
args: [{ selector: 'app-loader', template: "<div\n class=\"loader-wrapper d-flex position-absolute flex-column justify-content-center align-items-center w-100 h-100 p-5 text-center\"\n [ngClass]=\"{ 'load-complete': loaded }\"\n>\n <ng-container *ngIf=\"error === undefined; else errorContainer\">\n <img src=\"assets/images/logo-small.svg\" alt=\"Loader\" />\n <p class=\"mt-5\">\n Loading...<br />\n <small class=\"text-muted\">(This may take a while)</small>\n </p>\n <div class=\"loading-bar\" *ngIf=\"progress !== undefined\">\n <span [style]=\"{ width: progress + '%' }\"></span>\n </div>\n </ng-container>\n <ng-template #errorContainer>\n <p>\n An error occurred while loading the application. Please try refreshing the\n page.\n </p>\n </ng-template>\n</div>\n", styles: [".loader-wrapper{background:var(--phoenix-background-color);z-index:9998}.loader-wrapper.load-complete{display:none!important}.loader-wrapper img{width:5rem;height:5rem;animation:loader 2s infinite}.loader-wrapper p{color:var(--phoenix-text-color)}.loader-wrapper .loading-bar{width:15rem;max-width:90%;height:.5rem;background:var(--phoenix-background-color-tertiary);border-radius:2.5rem;overflow:hidden}.loader-wrapper .loading-bar span{display:block;height:100%;border-radius:2.5rem;background:linear-gradient(to right,var(--phoenix-primary),var(--phoenix-secondary));transition:all .5s}@keyframes
|
|
1680
|
-
}],
|
|
3536
|
+
args: [{ selector: 'app-loader', template: "<div\n class=\"loader-wrapper d-flex position-absolute flex-column justify-content-center align-items-center w-100 h-100 p-5 text-center\"\n [ngClass]=\"{ 'load-complete': loaded }\"\n>\n <ng-container *ngIf=\"error === undefined; else errorContainer\">\n <img src=\"assets/images/logo-small.svg\" alt=\"Loader\" />\n <p class=\"mt-5\">\n Loading...<br />\n <small class=\"text-muted\">(This may take a while)</small>\n </p>\n <div class=\"loading-bar\" *ngIf=\"progress !== undefined\">\n <span [style]=\"{ width: progress + '%' }\"></span>\n </div>\n </ng-container>\n <ng-template #errorContainer>\n <p>\n An error occurred while loading the application. Please try refreshing the\n page.\n </p>\n </ng-template>\n</div>\n", styles: [".loader-wrapper{background:var(--phoenix-background-color);z-index:9998}.loader-wrapper.load-complete{display:none!important}.loader-wrapper img{width:5rem;height:5rem;animation:loader 2s infinite}.loader-wrapper p{color:var(--phoenix-text-color)}.loader-wrapper .loading-bar{width:15rem;max-width:90%;height:.5rem;background:var(--phoenix-background-color-tertiary);border-radius:2.5rem;overflow:hidden}.loader-wrapper .loading-bar span{display:block;height:100%;border-radius:2.5rem;background:linear-gradient(to right,var(--phoenix-primary),var(--phoenix-secondary));transition:all .5s}@keyframes app-loader_loader{0%,to{transform:scale(.1) rotate(0)}95%{transform:scale(1) rotate(15deg)}}\n"] }]
|
|
3537
|
+
}], function () { return [{ type: ErrorMessageService }]; }, { loaded: [{
|
|
1681
3538
|
type: Input
|
|
1682
3539
|
}], progress: [{
|
|
1683
3540
|
type: Input
|
|
1684
|
-
}] }
|
|
3541
|
+
}] });
|
|
3542
|
+
})();
|
|
1685
3543
|
|
|
1686
3544
|
/**
|
|
1687
3545
|
* Global handler for handling app/module wide errors.
|
|
@@ -1703,11 +3561,13 @@ class GlobalErrorHandler {
|
|
|
1703
3561
|
this.injector.get(ErrorMessageService).setError(error);
|
|
1704
3562
|
}
|
|
1705
3563
|
}
|
|
1706
|
-
GlobalErrorHandler.ɵfac =
|
|
1707
|
-
GlobalErrorHandler.ɵprov = i0.ɵɵ
|
|
1708
|
-
|
|
3564
|
+
GlobalErrorHandler.ɵfac = function GlobalErrorHandler_Factory(t) { return new (t || GlobalErrorHandler)(i0.ɵɵinject(i0.Injector)); };
|
|
3565
|
+
GlobalErrorHandler.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: GlobalErrorHandler, factory: GlobalErrorHandler.ɵfac });
|
|
3566
|
+
(function () {
|
|
3567
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GlobalErrorHandler, [{
|
|
1709
3568
|
type: Injectable
|
|
1710
|
-
}],
|
|
3569
|
+
}], function () { return [{ type: i0.Injector }]; }, null);
|
|
3570
|
+
})();
|
|
1711
3571
|
|
|
1712
3572
|
class ExperimentLinkComponent {
|
|
1713
3573
|
ngOnInit() {
|
|
@@ -1717,21 +3577,37 @@ class ExperimentLinkComponent {
|
|
|
1717
3577
|
window.open(this.experimentLink, '_blank');
|
|
1718
3578
|
}
|
|
1719
3579
|
}
|
|
1720
|
-
ExperimentLinkComponent.ɵfac =
|
|
1721
|
-
ExperimentLinkComponent.ɵcmp = i0.ɵɵ
|
|
1722
|
-
|
|
3580
|
+
ExperimentLinkComponent.ɵfac = function ExperimentLinkComponent_Factory(t) { return new (t || ExperimentLinkComponent)(); };
|
|
3581
|
+
ExperimentLinkComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ExperimentLinkComponent, selectors: [["app-experiment-link"]], decls: 1, vars: 0, consts: [["tooltip", "See full event display", "icon", "link", 3, "click"]], template: function ExperimentLinkComponent_Template(rf, ctx) {
|
|
3582
|
+
if (rf & 1) {
|
|
3583
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
3584
|
+
i0.ɵɵlistener("click", function ExperimentLinkComponent_Template_app_menu_toggle_click_0_listener() { return ctx.goToExperiment(); });
|
|
3585
|
+
i0.ɵɵelementEnd();
|
|
3586
|
+
}
|
|
3587
|
+
}, dependencies: [MenuToggleComponent] });
|
|
3588
|
+
(function () {
|
|
3589
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ExperimentLinkComponent, [{
|
|
1723
3590
|
type: Component,
|
|
1724
3591
|
args: [{ selector: 'app-experiment-link', template: "<app-menu-toggle\n tooltip=\"See full event display\"\n icon=\"link\"\n (click)=\"goToExperiment()\"\n></app-menu-toggle>\n" }]
|
|
1725
|
-
}]
|
|
3592
|
+
}], null, null);
|
|
3593
|
+
})();
|
|
1726
3594
|
|
|
1727
3595
|
class EmbedMenuComponent {
|
|
1728
3596
|
}
|
|
1729
|
-
EmbedMenuComponent.ɵfac =
|
|
1730
|
-
EmbedMenuComponent.ɵcmp = i0.ɵɵ
|
|
1731
|
-
|
|
3597
|
+
EmbedMenuComponent.ɵfac = function EmbedMenuComponent_Factory(t) { return new (t || EmbedMenuComponent)(); };
|
|
3598
|
+
EmbedMenuComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EmbedMenuComponent, selectors: [["app-embed-menu"]], decls: 8, vars: 0, consts: [["id", "embedMenu"], ["id", "embedMenuInner"]], template: function EmbedMenuComponent_Template(rf, ctx) {
|
|
3599
|
+
if (rf & 1) {
|
|
3600
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
3601
|
+
i0.ɵɵelement(2, "app-dark-theme")(3, "app-auto-rotate")(4, "app-main-view-toggle")(5, "app-animate-event")(6, "app-animate-camera")(7, "app-experiment-link");
|
|
3602
|
+
i0.ɵɵelementEnd()();
|
|
3603
|
+
}
|
|
3604
|
+
}, dependencies: [DarkThemeComponent, AutoRotateComponent, MainViewToggleComponent, AnimateCameraComponent, AnimateEventComponent, ExperimentLinkComponent], styles: ["#embedMenu[_ngcontent-%COMP%]{display:none}#embedMenu[_ngcontent-%COMP%] #embedMenuInner[_ngcontent-%COMP%]{display:flex;position:absolute;left:1rem;bottom:1rem;background:var(--phoenix-background-color-secondary);border:1px solid var(--phoenix-background-color-tertiary);box-shadow:var(--phoenix-box-shadow);border-radius:30px;padding:.25rem 0}"] });
|
|
3605
|
+
(function () {
|
|
3606
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EmbedMenuComponent, [{
|
|
1732
3607
|
type: Component,
|
|
1733
3608
|
args: [{ selector: 'app-embed-menu', template: "<div id=\"embedMenu\">\n <div id=\"embedMenuInner\">\n <app-dark-theme></app-dark-theme>\n <app-auto-rotate></app-auto-rotate>\n <app-main-view-toggle></app-main-view-toggle>\n <app-animate-event></app-animate-event>\n <app-animate-camera></app-animate-camera>\n <app-experiment-link></app-experiment-link>\n </div>\n</div>\n", styles: ["#embedMenu{display:none}#embedMenu #embedMenuInner{display:flex;position:absolute;left:1rem;bottom:1rem;background:var(--phoenix-background-color-secondary);border:1px solid var(--phoenix-background-color-tertiary);box-shadow:var(--phoenix-box-shadow);border-radius:30px;padding:.25rem 0}\n"] }]
|
|
1734
|
-
}]
|
|
3609
|
+
}], null, null);
|
|
3610
|
+
})();
|
|
1735
3611
|
|
|
1736
3612
|
const PHOENIX_COMPONENTS = [
|
|
1737
3613
|
NavComponent,
|
|
@@ -1782,111 +3658,9 @@ const PHOENIX_COMPONENTS = [
|
|
|
1782
3658
|
];
|
|
1783
3659
|
class PhoenixUIModule {
|
|
1784
3660
|
}
|
|
1785
|
-
PhoenixUIModule.ɵfac =
|
|
1786
|
-
PhoenixUIModule.ɵmod = i0.ɵɵ
|
|
1787
|
-
|
|
1788
|
-
UiMenuComponent,
|
|
1789
|
-
CollectionsInfoComponent,
|
|
1790
|
-
MenuToggleComponent,
|
|
1791
|
-
CollectionsInfoOverlayComponent,
|
|
1792
|
-
IoOptionsComponent,
|
|
1793
|
-
IOOptionsDialogComponent,
|
|
1794
|
-
OverlayViewComponent,
|
|
1795
|
-
AttributePipe,
|
|
1796
|
-
ObjectSelectionComponent,
|
|
1797
|
-
ObjectSelectionOverlayComponent,
|
|
1798
|
-
EventSelectorComponent,
|
|
1799
|
-
ObjectClippingComponent,
|
|
1800
|
-
DarkThemeComponent,
|
|
1801
|
-
AutoRotateComponent,
|
|
1802
|
-
ViewOptionsComponent,
|
|
1803
|
-
OverlayViewWindowComponent,
|
|
1804
|
-
OverlayComponent,
|
|
1805
|
-
ExperimentInfoComponent,
|
|
1806
|
-
InfoPanelComponent,
|
|
1807
|
-
InfoPanelOverlayComponent,
|
|
1808
|
-
MainViewToggleComponent,
|
|
1809
|
-
ZoomControlsComponent,
|
|
1810
|
-
TreeMenuComponent,
|
|
1811
|
-
TreeMenuItemComponent,
|
|
1812
|
-
PhoenixMenuComponent,
|
|
1813
|
-
PhoenixMenuItemComponent,
|
|
1814
|
-
ConfigSliderComponent,
|
|
1815
|
-
AnimateCameraComponent,
|
|
1816
|
-
AnimateEventComponent,
|
|
1817
|
-
VrToggleComponent,
|
|
1818
|
-
ArToggleComponent,
|
|
1819
|
-
SSModeComponent,
|
|
1820
|
-
PerformanceToggleComponent,
|
|
1821
|
-
LoaderComponent,
|
|
1822
|
-
ShareLinkComponent,
|
|
1823
|
-
ShareLinkDialogComponent,
|
|
1824
|
-
EmbedMenuComponent,
|
|
1825
|
-
ExperimentLinkComponent,
|
|
1826
|
-
EventDataExplorerComponent,
|
|
1827
|
-
EventDataExplorerDialogComponent,
|
|
1828
|
-
FileExplorerComponent,
|
|
1829
|
-
RingLoaderComponent,
|
|
1830
|
-
CycleEventsComponent], imports: [CommonModule,
|
|
1831
|
-
RouterModule,
|
|
1832
|
-
DragDropModule,
|
|
1833
|
-
MatDialogModule,
|
|
1834
|
-
MatButtonModule,
|
|
1835
|
-
MatTooltipModule,
|
|
1836
|
-
OverlayModule,
|
|
1837
|
-
MatMenuModule,
|
|
1838
|
-
MatSliderModule,
|
|
1839
|
-
MatSlideToggleModule,
|
|
1840
|
-
MatCheckboxModule,
|
|
1841
|
-
MatIconModule,
|
|
1842
|
-
NgxSliderModule,
|
|
1843
|
-
CdkTreeModule,
|
|
1844
|
-
MatTabsModule], exports: [NavComponent,
|
|
1845
|
-
UiMenuWrapperComponent,
|
|
1846
|
-
UiMenuComponent,
|
|
1847
|
-
CollectionsInfoComponent,
|
|
1848
|
-
MenuToggleComponent,
|
|
1849
|
-
CollectionsInfoOverlayComponent,
|
|
1850
|
-
IoOptionsComponent,
|
|
1851
|
-
IOOptionsDialogComponent,
|
|
1852
|
-
OverlayViewComponent,
|
|
1853
|
-
AttributePipe,
|
|
1854
|
-
ObjectSelectionComponent,
|
|
1855
|
-
ObjectSelectionOverlayComponent,
|
|
1856
|
-
EventSelectorComponent,
|
|
1857
|
-
ObjectClippingComponent,
|
|
1858
|
-
DarkThemeComponent,
|
|
1859
|
-
AutoRotateComponent,
|
|
1860
|
-
ViewOptionsComponent,
|
|
1861
|
-
OverlayViewWindowComponent,
|
|
1862
|
-
OverlayComponent,
|
|
1863
|
-
ExperimentInfoComponent,
|
|
1864
|
-
InfoPanelComponent,
|
|
1865
|
-
InfoPanelOverlayComponent,
|
|
1866
|
-
MainViewToggleComponent,
|
|
1867
|
-
ZoomControlsComponent,
|
|
1868
|
-
TreeMenuComponent,
|
|
1869
|
-
TreeMenuItemComponent,
|
|
1870
|
-
PhoenixMenuComponent,
|
|
1871
|
-
PhoenixMenuItemComponent,
|
|
1872
|
-
ConfigSliderComponent,
|
|
1873
|
-
AnimateCameraComponent,
|
|
1874
|
-
AnimateEventComponent,
|
|
1875
|
-
VrToggleComponent,
|
|
1876
|
-
ArToggleComponent,
|
|
1877
|
-
SSModeComponent,
|
|
1878
|
-
PerformanceToggleComponent,
|
|
1879
|
-
LoaderComponent,
|
|
1880
|
-
ShareLinkComponent,
|
|
1881
|
-
ShareLinkDialogComponent,
|
|
1882
|
-
EmbedMenuComponent,
|
|
1883
|
-
ExperimentLinkComponent,
|
|
1884
|
-
EventDataExplorerComponent,
|
|
1885
|
-
EventDataExplorerDialogComponent,
|
|
1886
|
-
FileExplorerComponent,
|
|
1887
|
-
RingLoaderComponent,
|
|
1888
|
-
CycleEventsComponent] });
|
|
1889
|
-
PhoenixUIModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: PhoenixUIModule, providers: [
|
|
3661
|
+
PhoenixUIModule.ɵfac = function PhoenixUIModule_Factory(t) { return new (t || PhoenixUIModule)(); };
|
|
3662
|
+
PhoenixUIModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PhoenixUIModule });
|
|
3663
|
+
PhoenixUIModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
|
|
1890
3664
|
EventDisplayService,
|
|
1891
3665
|
ErrorMessageService,
|
|
1892
3666
|
{
|
|
@@ -1908,7 +3682,8 @@ PhoenixUIModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
|
|
|
1908
3682
|
NgxSliderModule,
|
|
1909
3683
|
CdkTreeModule,
|
|
1910
3684
|
MatTabsModule] });
|
|
1911
|
-
|
|
3685
|
+
(function () {
|
|
3686
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PhoenixUIModule, [{
|
|
1912
3687
|
type: NgModule,
|
|
1913
3688
|
args: [{
|
|
1914
3689
|
declarations: PHOENIX_COMPONENTS,
|
|
@@ -1948,7 +3723,113 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
|
|
|
1948
3723
|
},
|
|
1949
3724
|
],
|
|
1950
3725
|
}]
|
|
1951
|
-
}]
|
|
3726
|
+
}], null, null);
|
|
3727
|
+
})();
|
|
3728
|
+
(function () {
|
|
3729
|
+
(typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PhoenixUIModule, { declarations: [NavComponent,
|
|
3730
|
+
UiMenuWrapperComponent,
|
|
3731
|
+
UiMenuComponent,
|
|
3732
|
+
CollectionsInfoComponent,
|
|
3733
|
+
MenuToggleComponent,
|
|
3734
|
+
CollectionsInfoOverlayComponent,
|
|
3735
|
+
IoOptionsComponent,
|
|
3736
|
+
IOOptionsDialogComponent,
|
|
3737
|
+
OverlayViewComponent,
|
|
3738
|
+
AttributePipe,
|
|
3739
|
+
ObjectSelectionComponent,
|
|
3740
|
+
ObjectSelectionOverlayComponent,
|
|
3741
|
+
EventSelectorComponent,
|
|
3742
|
+
ObjectClippingComponent,
|
|
3743
|
+
DarkThemeComponent,
|
|
3744
|
+
AutoRotateComponent,
|
|
3745
|
+
ViewOptionsComponent,
|
|
3746
|
+
OverlayViewWindowComponent,
|
|
3747
|
+
OverlayComponent,
|
|
3748
|
+
ExperimentInfoComponent,
|
|
3749
|
+
InfoPanelComponent,
|
|
3750
|
+
InfoPanelOverlayComponent,
|
|
3751
|
+
MainViewToggleComponent,
|
|
3752
|
+
ZoomControlsComponent,
|
|
3753
|
+
TreeMenuComponent,
|
|
3754
|
+
TreeMenuItemComponent,
|
|
3755
|
+
PhoenixMenuComponent,
|
|
3756
|
+
PhoenixMenuItemComponent,
|
|
3757
|
+
ConfigSliderComponent,
|
|
3758
|
+
AnimateCameraComponent,
|
|
3759
|
+
AnimateEventComponent,
|
|
3760
|
+
VrToggleComponent,
|
|
3761
|
+
ArToggleComponent,
|
|
3762
|
+
SSModeComponent,
|
|
3763
|
+
PerformanceToggleComponent,
|
|
3764
|
+
LoaderComponent,
|
|
3765
|
+
ShareLinkComponent,
|
|
3766
|
+
ShareLinkDialogComponent,
|
|
3767
|
+
EmbedMenuComponent,
|
|
3768
|
+
ExperimentLinkComponent,
|
|
3769
|
+
EventDataExplorerComponent,
|
|
3770
|
+
EventDataExplorerDialogComponent,
|
|
3771
|
+
FileExplorerComponent,
|
|
3772
|
+
RingLoaderComponent,
|
|
3773
|
+
CycleEventsComponent], imports: [CommonModule,
|
|
3774
|
+
RouterModule,
|
|
3775
|
+
DragDropModule,
|
|
3776
|
+
MatDialogModule,
|
|
3777
|
+
MatButtonModule,
|
|
3778
|
+
MatTooltipModule,
|
|
3779
|
+
OverlayModule,
|
|
3780
|
+
MatMenuModule,
|
|
3781
|
+
MatSliderModule,
|
|
3782
|
+
MatSlideToggleModule,
|
|
3783
|
+
MatCheckboxModule,
|
|
3784
|
+
MatIconModule,
|
|
3785
|
+
NgxSliderModule,
|
|
3786
|
+
CdkTreeModule,
|
|
3787
|
+
MatTabsModule], exports: [NavComponent,
|
|
3788
|
+
UiMenuWrapperComponent,
|
|
3789
|
+
UiMenuComponent,
|
|
3790
|
+
CollectionsInfoComponent,
|
|
3791
|
+
MenuToggleComponent,
|
|
3792
|
+
CollectionsInfoOverlayComponent,
|
|
3793
|
+
IoOptionsComponent,
|
|
3794
|
+
IOOptionsDialogComponent,
|
|
3795
|
+
OverlayViewComponent,
|
|
3796
|
+
AttributePipe,
|
|
3797
|
+
ObjectSelectionComponent,
|
|
3798
|
+
ObjectSelectionOverlayComponent,
|
|
3799
|
+
EventSelectorComponent,
|
|
3800
|
+
ObjectClippingComponent,
|
|
3801
|
+
DarkThemeComponent,
|
|
3802
|
+
AutoRotateComponent,
|
|
3803
|
+
ViewOptionsComponent,
|
|
3804
|
+
OverlayViewWindowComponent,
|
|
3805
|
+
OverlayComponent,
|
|
3806
|
+
ExperimentInfoComponent,
|
|
3807
|
+
InfoPanelComponent,
|
|
3808
|
+
InfoPanelOverlayComponent,
|
|
3809
|
+
MainViewToggleComponent,
|
|
3810
|
+
ZoomControlsComponent,
|
|
3811
|
+
TreeMenuComponent,
|
|
3812
|
+
TreeMenuItemComponent,
|
|
3813
|
+
PhoenixMenuComponent,
|
|
3814
|
+
PhoenixMenuItemComponent,
|
|
3815
|
+
ConfigSliderComponent,
|
|
3816
|
+
AnimateCameraComponent,
|
|
3817
|
+
AnimateEventComponent,
|
|
3818
|
+
VrToggleComponent,
|
|
3819
|
+
ArToggleComponent,
|
|
3820
|
+
SSModeComponent,
|
|
3821
|
+
PerformanceToggleComponent,
|
|
3822
|
+
LoaderComponent,
|
|
3823
|
+
ShareLinkComponent,
|
|
3824
|
+
ShareLinkDialogComponent,
|
|
3825
|
+
EmbedMenuComponent,
|
|
3826
|
+
ExperimentLinkComponent,
|
|
3827
|
+
EventDataExplorerComponent,
|
|
3828
|
+
EventDataExplorerDialogComponent,
|
|
3829
|
+
FileExplorerComponent,
|
|
3830
|
+
RingLoaderComponent,
|
|
3831
|
+
CycleEventsComponent] });
|
|
3832
|
+
})();
|
|
1952
3833
|
|
|
1953
3834
|
/**
|
|
1954
3835
|
* Generated bundle index. Do not edit.
|