phoenix-ui-components 2.1.0 → 2.5.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/README.md +1 -1
- package/_theming.scss +14 -7
- package/dist/README.md +1 -1
- package/dist/components/embed-menu/embed-menu.component.d.ts +3 -0
- package/dist/components/embed-menu/experiment-link/experiment-link.component.d.ts +3 -0
- package/dist/components/loader/loader.component.d.ts +3 -0
- package/dist/components/nav/nav.component.d.ts +3 -0
- package/dist/components/phoenix-menu/config/config-slider/config-slider.component.d.ts +3 -0
- package/dist/components/phoenix-menu/pheonix-menu-item/phoenix-menu-item.component.d.ts +3 -0
- package/dist/components/phoenix-menu/phoenix-menu.component.d.ts +3 -0
- package/dist/components/phoenix-ui.module.d.ts +56 -0
- package/dist/components/ui-menu/animate-camera/animate-camera.component.d.ts +3 -0
- package/dist/components/ui-menu/animate-event/animate-event.component.d.ts +3 -0
- package/dist/components/ui-menu/ar-toggle/ar-toggle.component.d.ts +4 -1
- package/dist/components/ui-menu/auto-rotate/auto-rotate.component.d.ts +3 -0
- package/dist/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.d.ts +10 -2
- package/dist/components/ui-menu/collections-info/collections-info.component.d.ts +3 -0
- package/dist/components/ui-menu/dark-theme/dark-theme.component.d.ts +3 -0
- package/dist/components/ui-menu/event-selector/event-selector.component.d.ts +3 -0
- package/dist/components/ui-menu/experiment-info/experiment-info.component.d.ts +3 -0
- package/dist/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.d.ts +5 -0
- package/dist/components/ui-menu/info-panel/info-panel.component.d.ts +3 -0
- package/dist/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.d.ts +3 -0
- package/dist/components/ui-menu/io-options/io-options.component.d.ts +3 -0
- package/dist/components/ui-menu/main-view-toggle/main-view-toggle.component.d.ts +3 -0
- package/dist/components/ui-menu/menu-toggle/menu-toggle.component.d.ts +3 -0
- package/dist/components/ui-menu/object-clipping/object-clipping.component.d.ts +3 -0
- package/dist/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.d.ts +3 -0
- package/dist/components/ui-menu/object-selection/object-selection.component.d.ts +3 -0
- package/dist/components/ui-menu/overlay/overlay.component.d.ts +3 -0
- package/dist/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.d.ts +3 -0
- package/dist/components/ui-menu/overlay-view/overlay-view.component.d.ts +3 -0
- package/dist/components/ui-menu/performance-toggle/performance-toggle.component.d.ts +3 -0
- package/dist/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.d.ts +10 -2
- package/dist/components/ui-menu/share-link/share-link.component.d.ts +3 -0
- package/dist/components/ui-menu/ss-mode/ss-mode.component.d.ts +3 -0
- package/dist/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.d.ts +3 -0
- package/dist/components/ui-menu/tree-menu/tree-menu.component.d.ts +3 -0
- package/dist/components/ui-menu/ui-menu.component.d.ts +3 -0
- package/dist/components/ui-menu/view-options/view-options.component.d.ts +3 -0
- package/dist/components/ui-menu/vr-toggle/vr-toggle.component.d.ts +3 -0
- package/dist/components/ui-menu/zoom-controls/zoom-controls.component.d.ts +3 -0
- package/dist/esm2020/components/embed-menu/embed-menu.component.mjs +17 -0
- package/dist/esm2020/components/embed-menu/experiment-link/experiment-link.component.mjs +18 -0
- package/dist/esm2020/components/loader/loader.component.mjs +19 -0
- package/dist/esm2020/components/nav/nav.component.mjs +14 -0
- package/dist/esm2020/components/phoenix-menu/config/config-slider/config-slider.component.mjs +38 -0
- package/dist/{esm2015/components/phoenix-menu/index.js → esm2020/components/phoenix-menu/index.mjs} +1 -1
- package/dist/esm2020/components/phoenix-menu/pheonix-menu-item/phoenix-menu-item.component.mjs +32 -0
- package/dist/esm2020/components/phoenix-menu/phoenix-menu.component.mjs +14 -0
- package/dist/esm2020/components/phoenix-ui.module.mjs +201 -0
- package/dist/esm2020/components/ui-menu/animate-camera/animate-camera.component.mjs +76 -0
- package/dist/esm2020/components/ui-menu/animate-event/animate-event.component.mjs +25 -0
- package/dist/esm2020/components/ui-menu/ar-toggle/ar-toggle.component.mjs +47 -0
- package/dist/esm2020/components/ui-menu/auto-rotate/auto-rotate.component.mjs +21 -0
- package/dist/esm2020/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.mjs +81 -0
- package/dist/esm2020/components/ui-menu/collections-info/collections-info.component.mjs +32 -0
- package/dist/esm2020/components/ui-menu/dark-theme/dark-theme.component.mjs +24 -0
- package/dist/esm2020/components/ui-menu/event-selector/event-selector.component.mjs +24 -0
- package/dist/esm2020/components/ui-menu/experiment-info/experiment-info.component.mjs +26 -0
- package/dist/{esm2015/components/ui-menu/index.js → esm2020/components/ui-menu/index.mjs} +1 -1
- package/dist/esm2020/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.mjs +37 -0
- package/dist/esm2020/components/ui-menu/info-panel/info-panel.component.mjs +49 -0
- package/dist/esm2020/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.mjs +196 -0
- package/dist/esm2020/components/ui-menu/io-options/io-options.component.mjs +28 -0
- package/dist/esm2020/components/ui-menu/main-view-toggle/main-view-toggle.component.mjs +24 -0
- package/dist/esm2020/components/ui-menu/menu-toggle/menu-toggle.component.mjs +24 -0
- package/dist/esm2020/components/ui-menu/object-clipping/object-clipping.component.mjs +31 -0
- package/dist/esm2020/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.mjs +24 -0
- package/dist/esm2020/components/ui-menu/object-selection/object-selection.component.mjs +36 -0
- package/dist/esm2020/components/ui-menu/overlay/overlay.component.mjs +99 -0
- package/dist/esm2020/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.mjs +53 -0
- package/dist/esm2020/components/ui-menu/overlay-view/overlay-view.component.mjs +32 -0
- package/dist/esm2020/components/ui-menu/performance-toggle/performance-toggle.component.mjs +21 -0
- package/dist/esm2020/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.mjs +73 -0
- package/dist/esm2020/components/ui-menu/share-link/share-link.component.mjs +20 -0
- package/dist/esm2020/components/ui-menu/ss-mode/ss-mode.component.mjs +41 -0
- package/dist/esm2020/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.mjs +33 -0
- package/dist/esm2020/components/ui-menu/tree-menu/tree-menu.component.mjs +71 -0
- package/dist/esm2020/components/ui-menu/ui-menu.component.mjs +43 -0
- package/dist/esm2020/components/ui-menu/view-options/view-options.component.mjs +34 -0
- package/dist/esm2020/components/ui-menu/vr-toggle/vr-toggle.component.mjs +44 -0
- package/dist/esm2020/components/ui-menu/zoom-controls/zoom-controls.component.mjs +61 -0
- package/dist/esm2020/phoenix-ui-components.mjs +5 -0
- package/dist/esm2020/public_api.mjs +9 -0
- package/dist/esm2020/services/event-display.service.mjs +23 -0
- package/dist/esm2020/services/extras/attribute.pipe.mjs +33 -0
- package/dist/{esm2015/services/extras/event-data-import.js → esm2020/services/extras/event-data-import.mjs} +1 -1
- package/dist/esm2020/services/index.mjs +4 -0
- package/dist/fesm2015/phoenix-ui-components.mjs +1644 -0
- package/dist/fesm2015/phoenix-ui-components.mjs.map +1 -0
- package/dist/fesm2020/phoenix-ui-components.mjs +1644 -0
- package/dist/fesm2020/phoenix-ui-components.mjs.map +1 -0
- package/dist/phoenix-ui-components.d.ts +2 -6
- package/dist/{index.d.ts → public_api.d.ts} +2 -0
- package/dist/services/event-display.service.d.ts +3 -0
- package/dist/services/extras/attribute.pipe.d.ts +3 -0
- package/dist/services/index.d.ts +1 -0
- package/package.json +7 -6
- package/dist/bundles/phoenix-ui-components.umd.js +0 -2133
- package/dist/bundles/phoenix-ui-components.umd.js.map +0 -1
- package/dist/esm2015/components/embed-menu/embed-menu.component.js +0 -11
- package/dist/esm2015/components/embed-menu/experiment-link/experiment-link.component.js +0 -17
- package/dist/esm2015/components/loader/loader.component.js +0 -18
- package/dist/esm2015/components/nav/nav.component.js +0 -14
- package/dist/esm2015/components/phoenix-menu/config/config-slider/config-slider.component.js +0 -32
- package/dist/esm2015/components/phoenix-menu/pheonix-menu-item/phoenix-menu-item.component.js +0 -29
- package/dist/esm2015/components/phoenix-menu/phoenix-menu.component.js +0 -14
- package/dist/esm2015/components/phoenix-ui.module.js +0 -94
- package/dist/esm2015/components/ui-menu/animate-camera/animate-camera.component.js +0 -77
- package/dist/esm2015/components/ui-menu/animate-event/animate-event.component.js +0 -27
- package/dist/esm2015/components/ui-menu/ar-toggle/ar-toggle.component.js +0 -45
- package/dist/esm2015/components/ui-menu/auto-rotate/auto-rotate.component.js +0 -23
- package/dist/esm2015/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.js +0 -61
- package/dist/esm2015/components/ui-menu/collections-info/collections-info.component.js +0 -34
- package/dist/esm2015/components/ui-menu/dark-theme/dark-theme.component.js +0 -26
- package/dist/esm2015/components/ui-menu/event-selector/event-selector.component.js +0 -25
- package/dist/esm2015/components/ui-menu/experiment-info/experiment-info.component.js +0 -27
- package/dist/esm2015/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.js +0 -36
- package/dist/esm2015/components/ui-menu/info-panel/info-panel.component.js +0 -51
- package/dist/esm2015/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.js +0 -202
- package/dist/esm2015/components/ui-menu/io-options/io-options.component.js +0 -31
- package/dist/esm2015/components/ui-menu/main-view-toggle/main-view-toggle.component.js +0 -25
- package/dist/esm2015/components/ui-menu/menu-toggle/menu-toggle.component.js +0 -20
- package/dist/esm2015/components/ui-menu/object-clipping/object-clipping.component.js +0 -30
- package/dist/esm2015/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.js +0 -25
- package/dist/esm2015/components/ui-menu/object-selection/object-selection.component.js +0 -39
- package/dist/esm2015/components/ui-menu/overlay/overlay.component.js +0 -90
- package/dist/esm2015/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.js +0 -52
- package/dist/esm2015/components/ui-menu/overlay-view/overlay-view.component.js +0 -34
- package/dist/esm2015/components/ui-menu/performance-toggle/performance-toggle.component.js +0 -23
- package/dist/esm2015/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.js +0 -63
- package/dist/esm2015/components/ui-menu/share-link/share-link.component.js +0 -22
- package/dist/esm2015/components/ui-menu/ss-mode/ss-mode.component.js +0 -43
- package/dist/esm2015/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.js +0 -32
- package/dist/esm2015/components/ui-menu/tree-menu/tree-menu.component.js +0 -71
- package/dist/esm2015/components/ui-menu/ui-menu.component.js +0 -22
- package/dist/esm2015/components/ui-menu/view-options/view-options.component.js +0 -33
- package/dist/esm2015/components/ui-menu/vr-toggle/vr-toggle.component.js +0 -45
- package/dist/esm2015/components/ui-menu/zoom-controls/zoom-controls.component.js +0 -63
- package/dist/esm2015/index.js +0 -7
- package/dist/esm2015/phoenix-ui-components.js +0 -10
- package/dist/esm2015/services/event-display.service.js +0 -22
- package/dist/esm2015/services/extras/attribute.pipe.js +0 -29
- package/dist/esm2015/services/index.js +0 -3
- package/dist/fesm2015/phoenix-ui-components.js +0 -1606
- package/dist/fesm2015/phoenix-ui-components.js.map +0 -1
- package/dist/phoenix-ui-components.metadata.json +0 -1
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { SceneManager } from 'phoenix-event-display';
|
|
3
|
-
import { EventDisplayService } from '../../../services/event-display.service';
|
|
4
|
-
export const defaultAnimationPresets = {
|
|
5
|
-
'Preset 1': {
|
|
6
|
-
positions: [
|
|
7
|
-
{
|
|
8
|
-
position: [11976, 7262, 11927],
|
|
9
|
-
duration: 1000,
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
position: [-1000, 0, 11927],
|
|
13
|
-
duration: 2000,
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
position: [2000, 500, 1000],
|
|
17
|
-
duration: 3500,
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
position: [5000, 2000, 1000],
|
|
21
|
-
duration: 3000,
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
position: [5000, 2000, 1000],
|
|
25
|
-
duration: 2000,
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
position: [11976, 7262, 11927],
|
|
29
|
-
duration: 1000,
|
|
30
|
-
},
|
|
31
|
-
],
|
|
32
|
-
animateEventAfterInterval: 5000,
|
|
33
|
-
collisionDuration: 6000,
|
|
34
|
-
},
|
|
35
|
-
};
|
|
36
|
-
export class AnimateCameraComponent {
|
|
37
|
-
constructor(eventDisplay) {
|
|
38
|
-
this.eventDisplay = eventDisplay;
|
|
39
|
-
this.animationPresets = defaultAnimationPresets;
|
|
40
|
-
this.animationPresetsKeys = Object.keys(this.animationPresets);
|
|
41
|
-
this.isAnimating = false;
|
|
42
|
-
}
|
|
43
|
-
animatePreset(preset) {
|
|
44
|
-
this.setDetectorOpacity(0.2);
|
|
45
|
-
this.eventDisplay.animatePreset(this.animationPresets[preset], () => {
|
|
46
|
-
this.setDetectorOpacity(1);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
animateCamera() {
|
|
50
|
-
if (!this.isAnimating) {
|
|
51
|
-
this.isAnimating = true;
|
|
52
|
-
this.eventDisplay.animateThroughEvent([11976, 7262, 11927], 3000, () => {
|
|
53
|
-
this.isAnimating = false;
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
setDetectorOpacity(opacity) {
|
|
58
|
-
this.eventDisplay
|
|
59
|
-
.getThreeManager()
|
|
60
|
-
.getSceneManager()
|
|
61
|
-
.setGeometryOpacity(SceneManager.GEOMETRIES_ID, opacity);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
AnimateCameraComponent.decorators = [
|
|
65
|
-
{ type: Component, args: [{
|
|
66
|
-
selector: 'app-animate-camera',
|
|
67
|
-
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",
|
|
68
|
-
styles: [""]
|
|
69
|
-
},] }
|
|
70
|
-
];
|
|
71
|
-
AnimateCameraComponent.ctorParameters = () => [
|
|
72
|
-
{ type: EventDisplayService }
|
|
73
|
-
];
|
|
74
|
-
AnimateCameraComponent.propDecorators = {
|
|
75
|
-
animationPresets: [{ type: Input }]
|
|
76
|
-
};
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZS1jYW1lcmEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdWktbWVudS9hbmltYXRlLWNhbWVyYS9hbmltYXRlLWNhbWVyYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFtQixZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU5RSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FFaEM7SUFDRixVQUFVLEVBQUU7UUFDVixTQUFTLEVBQUU7WUFDVDtnQkFDRSxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztnQkFDOUIsUUFBUSxFQUFFLElBQUk7YUFDZjtZQUNEO2dCQUNFLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUM7Z0JBQzNCLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRDtnQkFDRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztnQkFDM0IsUUFBUSxFQUFFLElBQUk7YUFDZjtZQUNEO2dCQUNFLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO2dCQUM1QixRQUFRLEVBQUUsSUFBSTthQUNmO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7Z0JBQzVCLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRDtnQkFDRSxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztnQkFDOUIsUUFBUSxFQUFFLElBQUk7YUFDZjtTQUNGO1FBQ0QseUJBQXlCLEVBQUUsSUFBSTtRQUMvQixpQkFBaUIsRUFBRSxJQUFJO0tBQ3hCO0NBQ0YsQ0FBQztBQU9GLE1BQU0sT0FBTyxzQkFBc0I7SUFLakMsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBSjVDLHFCQUFnQixHQUFHLHVCQUF1QixDQUFDO1FBQ3BELHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDMUQsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFFb0MsQ0FBQztJQUV6RCxhQUFhLENBQUMsTUFBYztRQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRTtZQUNsRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ3JFLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsT0FBZTtRQUN4QyxJQUFJLENBQUMsWUFBWTthQUNkLGVBQWUsRUFBRTthQUNqQixlQUFlLEVBQUU7YUFDakIsa0JBQWtCLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs7WUFqQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLG1iQUE4Qzs7YUFFL0M7OztZQXpDUSxtQkFBbUI7OzsrQkEyQ3pCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmltYXRpb25QcmVzZXQsIFNjZW5lTWFuYWdlciB9IGZyb20gJ3Bob2VuaXgtZXZlbnQtZGlzcGxheSc7XG5pbXBvcnQgeyBFdmVudERpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXZlbnQtZGlzcGxheS5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRBbmltYXRpb25QcmVzZXRzOiB7XG4gIFtrZXk6IHN0cmluZ106IEFuaW1hdGlvblByZXNldDtcbn0gPSB7XG4gICdQcmVzZXQgMSc6IHtcbiAgICBwb3NpdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgcG9zaXRpb246IFsxMTk3NiwgNzI2MiwgMTE5MjddLFxuICAgICAgICBkdXJhdGlvbjogMTAwMCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBvc2l0aW9uOiBbLTEwMDAsIDAsIDExOTI3XSxcbiAgICAgICAgZHVyYXRpb246IDIwMDAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwb3NpdGlvbjogWzIwMDAsIDUwMCwgMTAwMF0sXG4gICAgICAgIGR1cmF0aW9uOiAzNTAwLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcG9zaXRpb246IFs1MDAwLCAyMDAwLCAxMDAwXSxcbiAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwb3NpdGlvbjogWzUwMDAsIDIwMDAsIDEwMDBdLFxuICAgICAgICBkdXJhdGlvbjogMjAwMCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBvc2l0aW9uOiBbMTE5NzYsIDcyNjIsIDExOTI3XSxcbiAgICAgICAgZHVyYXRpb246IDEwMDAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgYW5pbWF0ZUV2ZW50QWZ0ZXJJbnRlcnZhbDogNTAwMCxcbiAgICBjb2xsaXNpb25EdXJhdGlvbjogNjAwMCxcbiAgfSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hbmltYXRlLWNhbWVyYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmltYXRlLWNhbWVyYS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FuaW1hdGUtY2FtZXJhLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFuaW1hdGVDYW1lcmFDb21wb25lbnQge1xuICBASW5wdXQoKSBhbmltYXRpb25QcmVzZXRzID0gZGVmYXVsdEFuaW1hdGlvblByZXNldHM7XG4gIGFuaW1hdGlvblByZXNldHNLZXlzID0gT2JqZWN0LmtleXModGhpcy5hbmltYXRpb25QcmVzZXRzKTtcbiAgaXNBbmltYXRpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV2ZW50RGlzcGxheTogRXZlbnREaXNwbGF5U2VydmljZSkge31cblxuICBhbmltYXRlUHJlc2V0KHByZXNldDogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXREZXRlY3Rvck9wYWNpdHkoMC4yKTtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5hbmltYXRlUHJlc2V0KHRoaXMuYW5pbWF0aW9uUHJlc2V0c1twcmVzZXRdLCAoKSA9PiB7XG4gICAgICB0aGlzLnNldERldGVjdG9yT3BhY2l0eSgxKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFuaW1hdGVDYW1lcmEoKSB7XG4gICAgaWYgKCF0aGlzLmlzQW5pbWF0aW5nKSB7XG4gICAgICB0aGlzLmlzQW5pbWF0aW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmFuaW1hdGVUaHJvdWdoRXZlbnQoWzExOTc2LCA3MjYyLCAxMTkyN10sIDMwMDAsICgpID0+IHtcbiAgICAgICAgdGhpcy5pc0FuaW1hdGluZyA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXREZXRlY3Rvck9wYWNpdHkob3BhY2l0eTogbnVtYmVyKSB7XG4gICAgdGhpcy5ldmVudERpc3BsYXlcbiAgICAgIC5nZXRUaHJlZU1hbmFnZXIoKVxuICAgICAgLmdldFNjZW5lTWFuYWdlcigpXG4gICAgICAuc2V0R2VvbWV0cnlPcGFjaXR5KFNjZW5lTWFuYWdlci5HRU9NRVRSSUVTX0lELCBvcGFjaXR5KTtcbiAgfVxufVxuIl19
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { EventDisplayService } from '../../../services/event-display.service';
|
|
3
|
-
export class AnimateEventComponent {
|
|
4
|
-
constructor(eventDisplay) {
|
|
5
|
-
this.eventDisplay = eventDisplay;
|
|
6
|
-
this.isAnimating = false;
|
|
7
|
-
}
|
|
8
|
-
toggleAnimateEvent() {
|
|
9
|
-
if (!this.isAnimating) {
|
|
10
|
-
this.isAnimating = true;
|
|
11
|
-
this.eventDisplay.animateEventWithCollision(10000, () => {
|
|
12
|
-
this.isAnimating = false;
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
AnimateEventComponent.decorators = [
|
|
18
|
-
{ type: Component, args: [{
|
|
19
|
-
selector: 'app-animate-event',
|
|
20
|
-
template: "<app-menu-toggle\n tooltip=\"Animate event\"\n icon=\"event-folder\"\n [active]=\"isAnimating\"\n (click)=\"toggleAnimateEvent()\"\n>\n</app-menu-toggle>\n",
|
|
21
|
-
styles: [""]
|
|
22
|
-
},] }
|
|
23
|
-
];
|
|
24
|
-
AnimateEventComponent.ctorParameters = () => [
|
|
25
|
-
{ type: EventDisplayService }
|
|
26
|
-
];
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZS1ldmVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy91aS1tZW51L2FuaW1hdGUtZXZlbnQvYW5pbWF0ZS1ldmVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQU85RSxNQUFNLE9BQU8scUJBQXFCO0lBR2hDLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUZyRCxnQkFBVyxHQUFZLEtBQUssQ0FBQztJQUUyQixDQUFDO0lBRXpELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7WUFqQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLDJLQUE2Qzs7YUFFOUM7OztZQU5RLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hbmltYXRlLWV2ZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FuaW1hdGUtZXZlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbmltYXRlLWV2ZW50LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFuaW1hdGVFdmVudENvbXBvbmVudCB7XG4gIGlzQW5pbWF0aW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHt9XG5cbiAgdG9nZ2xlQW5pbWF0ZUV2ZW50KCkge1xuICAgIGlmICghdGhpcy5pc0FuaW1hdGluZykge1xuICAgICAgdGhpcy5pc0FuaW1hdGluZyA9IHRydWU7XG4gICAgICB0aGlzLmV2ZW50RGlzcGxheS5hbmltYXRlRXZlbnRXaXRoQ29sbGlzaW9uKDEwMDAwLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNBbmltYXRpbmcgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { EventDisplayService } from '../../../services/event-display.service';
|
|
3
|
-
import { ARManager, XRSessionType } from 'phoenix-event-display';
|
|
4
|
-
export class ArToggleComponent {
|
|
5
|
-
constructor(eventDisplay) {
|
|
6
|
-
var _a, _b;
|
|
7
|
-
this.eventDisplay = eventDisplay;
|
|
8
|
-
this.arSupported = false;
|
|
9
|
-
this.arActive = false;
|
|
10
|
-
// NOTE: WebXR needs secure HTTPS context
|
|
11
|
-
if ('xr' in navigator) {
|
|
12
|
-
(_b = (_a = navigator.xr) === null || _a === void 0 ? void 0 : _a.isSessionSupported) === null || _b === void 0 ? void 0 : _b.call(_a, ARManager.SESSION_TYPE).then((supported) => {
|
|
13
|
-
if (supported) {
|
|
14
|
-
this.arSupported = true;
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
} // else AR not supported
|
|
18
|
-
}
|
|
19
|
-
toggleAr() {
|
|
20
|
-
// If toggling AR on
|
|
21
|
-
if (!this.arActive) {
|
|
22
|
-
this.eventDisplay.initXR(XRSessionType.AR, () => {
|
|
23
|
-
this.arActive = false;
|
|
24
|
-
// Disable renderer XR and remove animation loop
|
|
25
|
-
this.eventDisplay.endXR(XRSessionType.AR);
|
|
26
|
-
});
|
|
27
|
-
this.arActive = true;
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
this.eventDisplay.endXR(XRSessionType.AR);
|
|
31
|
-
this.arActive = false;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
ArToggleComponent.decorators = [
|
|
36
|
-
{ type: Component, args: [{
|
|
37
|
-
selector: 'app-ar-toggle',
|
|
38
|
-
template: "<app-menu-toggle\n [disabled]=\"!arSupported\"\n [active]=\"arActive\"\n icon=\"ar\"\n (click)=\"arSupported && toggleAr()\"\n [tooltip]=\"\n arSupported ? (arActive ? 'Exit AR' : 'Enter AR') : 'AR not supported'\n \"\n>\n</app-menu-toggle>\n",
|
|
39
|
-
styles: [""]
|
|
40
|
-
},] }
|
|
41
|
-
];
|
|
42
|
-
ArToggleComponent.ctorParameters = () => [
|
|
43
|
-
{ type: EventDisplayService }
|
|
44
|
-
];
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXItdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3VpLW1lbnUvYXItdG9nZ2xlL2FyLXRvZ2dsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBT2pFLE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsWUFBb0IsWUFBaUM7O1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUhyRCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBR3hCLHlDQUF5QztRQUN6QyxJQUFJLElBQUksSUFBSSxTQUFTLEVBQUU7WUFDckIsTUFBQSxNQUFDLFNBQWlCLENBQUMsRUFBRSwwQ0FDakIsa0JBQWtCLG1EQUFHLFNBQVMsQ0FBQyxZQUFZLEVBQzVDLElBQUksQ0FBQyxDQUFDLFNBQWtCLEVBQUUsRUFBRTtnQkFDM0IsSUFBSSxTQUFTLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7aUJBQ3pCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDTixDQUFDLHdCQUF3QjtJQUM1QixDQUFDO0lBRUQsUUFBUTtRQUNOLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRTtnQkFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLGdEQUFnRDtnQkFDaEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDdEI7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjtJQUNILENBQUM7OztZQW5DRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLHVRQUF5Qzs7YUFFMUM7OztZQVBRLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5pbXBvcnQgeyBBUk1hbmFnZXIsIFhSU2Vzc2lvblR5cGUgfSBmcm9tICdwaG9lbml4LWV2ZW50LWRpc3BsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYXItdG9nZ2xlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FyLXRvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FyLXRvZ2dsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBclRvZ2dsZUNvbXBvbmVudCB7XG4gIGFyU3VwcG9ydGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGFyQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHtcbiAgICAvLyBOT1RFOiBXZWJYUiBuZWVkcyBzZWN1cmUgSFRUUFMgY29udGV4dFxuICAgIGlmICgneHInIGluIG5hdmlnYXRvcikge1xuICAgICAgKG5hdmlnYXRvciBhcyBhbnkpLnhyXG4gICAgICAgID8uaXNTZXNzaW9uU3VwcG9ydGVkPy4oQVJNYW5hZ2VyLlNFU1NJT05fVFlQRSlcbiAgICAgICAgLnRoZW4oKHN1cHBvcnRlZDogYm9vbGVhbikgPT4ge1xuICAgICAgICAgIGlmIChzdXBwb3J0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYXJTdXBwb3J0ZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSAvLyBlbHNlIEFSIG5vdCBzdXBwb3J0ZWRcbiAgfVxuXG4gIHRvZ2dsZUFyKCkge1xuICAgIC8vIElmIHRvZ2dsaW5nIEFSIG9uXG4gICAgaWYgKCF0aGlzLmFyQWN0aXZlKSB7XG4gICAgICB0aGlzLmV2ZW50RGlzcGxheS5pbml0WFIoWFJTZXNzaW9uVHlwZS5BUiwgKCkgPT4ge1xuICAgICAgICB0aGlzLmFyQWN0aXZlID0gZmFsc2U7XG4gICAgICAgIC8vIERpc2FibGUgcmVuZGVyZXIgWFIgYW5kIHJlbW92ZSBhbmltYXRpb24gbG9vcFxuICAgICAgICB0aGlzLmV2ZW50RGlzcGxheS5lbmRYUihYUlNlc3Npb25UeXBlLkFSKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5hckFjdGl2ZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmVuZFhSKFhSU2Vzc2lvblR5cGUuQVIpO1xuICAgICAgdGhpcy5hckFjdGl2ZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { EventDisplayService } from '../../../services/event-display.service';
|
|
3
|
-
export class AutoRotateComponent {
|
|
4
|
-
constructor(eventDisplay) {
|
|
5
|
-
this.eventDisplay = eventDisplay;
|
|
6
|
-
this.autoRotate = false;
|
|
7
|
-
}
|
|
8
|
-
toggleAutoRotate() {
|
|
9
|
-
this.autoRotate = !this.autoRotate;
|
|
10
|
-
this.eventDisplay.getUIManager().setAutoRotate(this.autoRotate);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
AutoRotateComponent.decorators = [
|
|
14
|
-
{ type: Component, args: [{
|
|
15
|
-
selector: 'app-auto-rotate',
|
|
16
|
-
template: "<app-menu-toggle\n tooltip=\"Auto rotate\"\n icon=\"rotate\"\n [active]=\"autoRotate\"\n (click)=\"toggleAutoRotate()\"\n>\n</app-menu-toggle>\n",
|
|
17
|
-
styles: [""]
|
|
18
|
-
},] }
|
|
19
|
-
];
|
|
20
|
-
AutoRotateComponent.ctorParameters = () => [
|
|
21
|
-
{ type: EventDisplayService }
|
|
22
|
-
];
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1yb3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdWktbWVudS9hdXRvLXJvdGF0ZS9hdXRvLXJvdGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQU85RSxNQUFNLE9BQU8sbUJBQW1CO0lBRzlCLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUZyRCxlQUFVLEdBQUcsS0FBSyxDQUFDO0lBRXFDLENBQUM7SUFFekQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7OztZQWJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixnS0FBMkM7O2FBRTVDOzs7WUFOUSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYXV0by1yb3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0by1yb3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRvLXJvdGF0ZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvUm90YXRlQ29tcG9uZW50IHtcbiAgYXV0b1JvdGF0ZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXZlbnREaXNwbGF5OiBFdmVudERpc3BsYXlTZXJ2aWNlKSB7fVxuXG4gIHRvZ2dsZUF1dG9Sb3RhdGUoKSB7XG4gICAgdGhpcy5hdXRvUm90YXRlID0gIXRoaXMuYXV0b1JvdGF0ZTtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5nZXRVSU1hbmFnZXIoKS5zZXRBdXRvUm90YXRlKHRoaXMuYXV0b1JvdGF0ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ElementRef } from '@angular/core';
|
|
2
|
-
import { PrettySymbols } from 'phoenix-event-display';
|
|
3
|
-
import { EventDisplayService } from '../../../../services/event-display.service';
|
|
4
|
-
export class CollectionsInfoOverlayComponent {
|
|
5
|
-
constructor(elementRef, eventDisplay) {
|
|
6
|
-
this.elementRef = elementRef;
|
|
7
|
-
this.eventDisplay = eventDisplay;
|
|
8
|
-
}
|
|
9
|
-
ngOnInit() {
|
|
10
|
-
this.eventDisplay.listenToDisplayedEventChange((event) => (this.collections = this.eventDisplay.getCollections()));
|
|
11
|
-
this.activeObject = this.eventDisplay.getActiveObjectId();
|
|
12
|
-
this.activeObject.onUpdate((value) => {
|
|
13
|
-
if (document.getElementById(value)) {
|
|
14
|
-
document.getElementById(value).scrollIntoView(false);
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
changeCollection(selected) {
|
|
19
|
-
const value = selected.target.value;
|
|
20
|
-
this.selectedCollection = value;
|
|
21
|
-
this.showingCollection = this.eventDisplay
|
|
22
|
-
.getCollection(value)
|
|
23
|
-
.map(PrettySymbols.getPrettyParams);
|
|
24
|
-
this.collectionColumns = Object.keys(this.showingCollection[0]).filter((column) => column !== 'uuid' && column !== 'hits' // FIXME - this is an ugly hack. But currently hits from tracks make track collections unusable. Better to have exlusion list passed in.
|
|
25
|
-
);
|
|
26
|
-
}
|
|
27
|
-
lookAtObject(uuid) {
|
|
28
|
-
if (uuid) {
|
|
29
|
-
this.activeObject.update(uuid);
|
|
30
|
-
this.eventDisplay.lookAtObject(uuid);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
highlightObject(uuid) {
|
|
34
|
-
if (uuid) {
|
|
35
|
-
this.activeObject.update(uuid);
|
|
36
|
-
this.eventDisplay.highlightObject(uuid);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
addLabel(index, uuid) {
|
|
40
|
-
const labelValue = this.elementRef.nativeElement.querySelector(`#label${index}`).value;
|
|
41
|
-
if (this.selectedCollection) {
|
|
42
|
-
// Empty labelValue will remove the label object
|
|
43
|
-
this.eventDisplay.addLabelToObject(labelValue, this.selectedCollection, index, uuid);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
CollectionsInfoOverlayComponent.decorators = [
|
|
48
|
-
{ type: Component, args: [{
|
|
49
|
-
selector: 'app-collections-info-overlay',
|
|
50
|
-
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 <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)\"\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 </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\">{{ column }}</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 }\"\n >\n <td>#{{ i }}</td>\n <td>\n <div\n *ngIf=\"object.uuid\"\n class=\"row justify-content-center icon-wrapper\"\n >\n <div\n class=\"object-select\"\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 </div>\n <div\n class=\"object-select\"\n matTooltip=\"Highlight object\"\n (click)=\"highlightObject(object.uuid)\"\n >\n <svg>\n <use href=\"assets/icons/cursor.svg#cursor\"></use>\n </svg>\n </div>\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 <div\n class=\"object-select\"\n matTooltip=\"Add / update / remove object label\"\n (click)=\"addLabel(i, object.uuid)\"\n >\n <svg>\n <use href=\"assets/icons/update.svg#update\"></use>\n </svg>\n </div>\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",
|
|
51
|
-
styles: [".collectionsInfo{height:95%}.collectionsInfo .collectionSelector{height:15%;min-height:2rem}.collectionsInfo .collectionSelector span{color:var(--phoenix-text-color-secondary);margin-right: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 tr *{padding-right:1.2rem}#collectionTable tr :last-child{padding-right:0}#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(\n --phoenix-text-color-secondary\n );--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)}"]
|
|
52
|
-
},] }
|
|
53
|
-
];
|
|
54
|
-
CollectionsInfoOverlayComponent.ctorParameters = () => [
|
|
55
|
-
{ type: ElementRef },
|
|
56
|
-
{ type: EventDisplayService }
|
|
57
|
-
];
|
|
58
|
-
CollectionsInfoOverlayComponent.propDecorators = {
|
|
59
|
-
showObjectsInfo: [{ type: Input }]
|
|
60
|
-
};
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3VpLW1lbnUvY29sbGVjdGlvbnMtaW5mby9jb2xsZWN0aW9ucy1pbmZvLW92ZXJsYXkvY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBa0IsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQU9qRixNQUFNLE9BQU8sK0JBQStCO0lBUTFDLFlBQ1UsVUFBc0IsRUFDdEIsWUFBaUM7UUFEakMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7SUFDeEMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUM1QyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FDbkUsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzFELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNsQyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN0RDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQWE7UUFDNUIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVk7YUFDdkMsYUFBYSxDQUFDLEtBQUssQ0FBQzthQUNwQixHQUFHLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDcEUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxLQUFLLE1BQU0sQ0FBQyx3SUFBd0k7U0FDNUwsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWTtRQUN2QixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZO1FBQzFCLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQ2xDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FDNUQsU0FBUyxLQUFLLEVBQUUsQ0FDakIsQ0FBQyxLQUFLLENBQUM7UUFDUixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixnREFBZ0Q7WUFDaEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FDaEMsVUFBVSxFQUNWLElBQUksQ0FBQyxrQkFBa0IsRUFDdkIsS0FBSyxFQUNMLElBQUksQ0FDTCxDQUFDO1NBQ0g7SUFDSCxDQUFDOzs7WUFwRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw4QkFBOEI7Z0JBQ3hDLGt0SEFBd0Q7O2FBRXpEOzs7WUFSa0MsVUFBVTtZQUVwQyxtQkFBbUI7Ozs4QkFRekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJldHR5U3ltYm9scywgQWN0aXZlVmFyaWFibGUgfSBmcm9tICdwaG9lbml4LWV2ZW50LWRpc3BsYXknO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb2xsZWN0aW9ucy1pbmZvLW92ZXJsYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25zSW5mb092ZXJsYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBzaG93T2JqZWN0c0luZm86IGJvb2xlYW47XG4gIGNvbGxlY3Rpb25zOiBzdHJpbmdbXTtcbiAgc2VsZWN0ZWRDb2xsZWN0aW9uOiBzdHJpbmc7XG4gIHNob3dpbmdDb2xsZWN0aW9uOiBhbnk7XG4gIGNvbGxlY3Rpb25Db2x1bW5zOiBzdHJpbmdbXTtcbiAgYWN0aXZlT2JqZWN0OiBBY3RpdmVWYXJpYWJsZTxzdHJpbmc+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGV2ZW50RGlzcGxheTogRXZlbnREaXNwbGF5U2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5ldmVudERpc3BsYXkubGlzdGVuVG9EaXNwbGF5ZWRFdmVudENoYW5nZShcbiAgICAgIChldmVudCkgPT4gKHRoaXMuY29sbGVjdGlvbnMgPSB0aGlzLmV2ZW50RGlzcGxheS5nZXRDb2xsZWN0aW9ucygpKVxuICAgICk7XG4gICAgdGhpcy5hY3RpdmVPYmplY3QgPSB0aGlzLmV2ZW50RGlzcGxheS5nZXRBY3RpdmVPYmplY3RJZCgpO1xuICAgIHRoaXMuYWN0aXZlT2JqZWN0Lm9uVXBkYXRlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodmFsdWUpKSB7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHZhbHVlKS5zY3JvbGxJbnRvVmlldyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjaGFuZ2VDb2xsZWN0aW9uKHNlbGVjdGVkOiBhbnkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHNlbGVjdGVkLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNlbGVjdGVkQ29sbGVjdGlvbiA9IHZhbHVlO1xuICAgIHRoaXMuc2hvd2luZ0NvbGxlY3Rpb24gPSB0aGlzLmV2ZW50RGlzcGxheVxuICAgICAgLmdldENvbGxlY3Rpb24odmFsdWUpXG4gICAgICAubWFwKFByZXR0eVN5bWJvbHMuZ2V0UHJldHR5UGFyYW1zKTtcbiAgICB0aGlzLmNvbGxlY3Rpb25Db2x1bW5zID0gT2JqZWN0LmtleXModGhpcy5zaG93aW5nQ29sbGVjdGlvblswXSkuZmlsdGVyKFxuICAgICAgKGNvbHVtbikgPT4gY29sdW1uICE9PSAndXVpZCcgJiYgY29sdW1uICE9PSAnaGl0cycgLy8gRklYTUUgLSB0aGlzIGlzIGFuIHVnbHkgaGFjay4gQnV0IGN1cnJlbnRseSBoaXRzIGZyb20gdHJhY2tzIG1ha2UgdHJhY2sgY29sbGVjdGlvbnMgdW51c2FibGUuIEJldHRlciB0byBoYXZlIGV4bHVzaW9uIGxpc3QgcGFzc2VkIGluLlxuICAgICk7XG4gIH1cblxuICBsb29rQXRPYmplY3QodXVpZDogc3RyaW5nKSB7XG4gICAgaWYgKHV1aWQpIHtcbiAgICAgIHRoaXMuYWN0aXZlT2JqZWN0LnVwZGF0ZSh1dWlkKTtcbiAgICAgIHRoaXMuZXZlbnREaXNwbGF5Lmxvb2tBdE9iamVjdCh1dWlkKTtcbiAgICB9XG4gIH1cblxuICBoaWdobGlnaHRPYmplY3QodXVpZDogc3RyaW5nKSB7XG4gICAgaWYgKHV1aWQpIHtcbiAgICAgIHRoaXMuYWN0aXZlT2JqZWN0LnVwZGF0ZSh1dWlkKTtcbiAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmhpZ2hsaWdodE9iamVjdCh1dWlkKTtcbiAgICB9XG4gIH1cblxuICBhZGRMYWJlbChpbmRleDogbnVtYmVyLCB1dWlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsYWJlbFZhbHVlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgIGAjbGFiZWwke2luZGV4fWBcbiAgICApLnZhbHVlO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkQ29sbGVjdGlvbikge1xuICAgICAgLy8gRW1wdHkgbGFiZWxWYWx1ZSB3aWxsIHJlbW92ZSB0aGUgbGFiZWwgb2JqZWN0XG4gICAgICB0aGlzLmV2ZW50RGlzcGxheS5hZGRMYWJlbFRvT2JqZWN0KFxuICAgICAgICBsYWJlbFZhbHVlLFxuICAgICAgICB0aGlzLnNlbGVjdGVkQ29sbGVjdGlvbixcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIHV1aWRcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { Overlay } from '@angular/cdk/overlay';
|
|
3
|
-
import { ComponentPortal } from '@angular/cdk/portal';
|
|
4
|
-
import { CollectionsInfoOverlayComponent } from './collections-info-overlay/collections-info-overlay.component';
|
|
5
|
-
export class CollectionsInfoComponent {
|
|
6
|
-
constructor(overlay) {
|
|
7
|
-
this.overlay = overlay;
|
|
8
|
-
this.showObjectsInfo = false;
|
|
9
|
-
}
|
|
10
|
-
ngOnInit() {
|
|
11
|
-
const overlayRef = this.overlay.create();
|
|
12
|
-
const overlayPortal = new ComponentPortal(CollectionsInfoOverlayComponent);
|
|
13
|
-
this.overlayWindow = overlayRef.attach(overlayPortal);
|
|
14
|
-
this.overlayWindow.instance.showObjectsInfo = this.showObjectsInfo;
|
|
15
|
-
}
|
|
16
|
-
ngOnDestroy() {
|
|
17
|
-
this.overlayWindow.destroy();
|
|
18
|
-
}
|
|
19
|
-
toggleOverlay() {
|
|
20
|
-
this.showObjectsInfo = !this.showObjectsInfo;
|
|
21
|
-
this.overlayWindow.instance.showObjectsInfo = this.showObjectsInfo;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
CollectionsInfoComponent.decorators = [
|
|
25
|
-
{ type: Component, args: [{
|
|
26
|
-
selector: 'app-collections-info',
|
|
27
|
-
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",
|
|
28
|
-
styles: [""]
|
|
29
|
-
},] }
|
|
30
|
-
];
|
|
31
|
-
CollectionsInfoComponent.ctorParameters = () => [
|
|
32
|
-
{ type: Overlay }
|
|
33
|
-
];
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy91aS1tZW51L2NvbGxlY3Rpb25zLWluZm8vY29sbGVjdGlvbnMtaW5mby5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQU9oSCxNQUFNLE9BQU8sd0JBQXdCO0lBSW5DLFlBQW9CLE9BQWdCO1FBQWhCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFIcEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFHZSxDQUFDO0lBRXhDLFFBQVE7UUFDTixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pDLE1BQU0sYUFBYSxHQUFHLElBQUksZUFBZSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ3JFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ3JFLENBQUM7OztZQXpCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsZ0xBQWdEOzthQUVqRDs7O1lBUlEsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDb21wb25lbnRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbnNJbmZvT3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4vY29sbGVjdGlvbnMtaW5mby1vdmVybGF5L2NvbGxlY3Rpb25zLWluZm8tb3ZlcmxheS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29sbGVjdGlvbnMtaW5mbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xsZWN0aW9ucy1pbmZvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sbGVjdGlvbnMtaW5mby5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uc0luZm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHNob3dPYmplY3RzSW5mbyA9IGZhbHNlO1xuICBvdmVybGF5V2luZG93OiBDb21wb25lbnRSZWY8Q29sbGVjdGlvbnNJbmZvT3ZlcmxheUNvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5KSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKCk7XG4gICAgY29uc3Qgb3ZlcmxheVBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoQ29sbGVjdGlvbnNJbmZvT3ZlcmxheUNvbXBvbmVudCk7XG4gICAgdGhpcy5vdmVybGF5V2luZG93ID0gb3ZlcmxheVJlZi5hdHRhY2gob3ZlcmxheVBvcnRhbCk7XG4gICAgdGhpcy5vdmVybGF5V2luZG93Lmluc3RhbmNlLnNob3dPYmplY3RzSW5mbyA9IHRoaXMuc2hvd09iamVjdHNJbmZvO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vdmVybGF5V2luZG93LmRlc3Ryb3koKTtcbiAgfVxuXG4gIHRvZ2dsZU92ZXJsYXkoKSB7XG4gICAgdGhpcy5zaG93T2JqZWN0c0luZm8gPSAhdGhpcy5zaG93T2JqZWN0c0luZm87XG4gICAgdGhpcy5vdmVybGF5V2luZG93Lmluc3RhbmNlLnNob3dPYmplY3RzSW5mbyA9IHRoaXMuc2hvd09iamVjdHNJbmZvO1xuICB9XG59XG4iXX0=
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { EventDisplayService } from '../../../services/event-display.service';
|
|
3
|
-
export class DarkThemeComponent {
|
|
4
|
-
constructor(eventDisplay) {
|
|
5
|
-
this.eventDisplay = eventDisplay;
|
|
6
|
-
this.darkTheme = false;
|
|
7
|
-
}
|
|
8
|
-
ngOnInit() {
|
|
9
|
-
this.darkTheme = this.eventDisplay.getUIManager().getDarkTheme();
|
|
10
|
-
}
|
|
11
|
-
setDarkTheme() {
|
|
12
|
-
this.darkTheme = !this.darkTheme;
|
|
13
|
-
this.eventDisplay.getUIManager().setDarkTheme(this.darkTheme);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
DarkThemeComponent.decorators = [
|
|
17
|
-
{ type: Component, args: [{
|
|
18
|
-
selector: 'app-dark-theme',
|
|
19
|
-
template: "<app-menu-toggle\n tooltip=\"Dark theme\"\n [active]=\"darkTheme\"\n icon=\"dark\"\n (click)=\"setDarkTheme()\"\n>\n</app-menu-toggle>\n",
|
|
20
|
-
styles: [""]
|
|
21
|
-
},] }
|
|
22
|
-
];
|
|
23
|
-
DarkThemeComponent.ctorParameters = () => [
|
|
24
|
-
{ type: EventDisplayService }
|
|
25
|
-
];
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFyay10aGVtZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy91aS1tZW51L2RhcmstdGhlbWUvZGFyay10aGVtZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQU85RSxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUZyRCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBRXNDLENBQUM7SUFFekQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRSxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRSxDQUFDOzs7WUFqQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLHdKQUEwQzs7YUFFM0M7OztZQU5RLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudERpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXZlbnQtZGlzcGxheS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWRhcmstdGhlbWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGFyay10aGVtZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhcmstdGhlbWUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGFya1RoZW1lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZGFya1RoZW1lID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXJrVGhlbWUgPSB0aGlzLmV2ZW50RGlzcGxheS5nZXRVSU1hbmFnZXIoKS5nZXREYXJrVGhlbWUoKTtcbiAgfVxuXG4gIHNldERhcmtUaGVtZSgpIHtcbiAgICB0aGlzLmRhcmtUaGVtZSA9ICF0aGlzLmRhcmtUaGVtZTtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5nZXRVSU1hbmFnZXIoKS5zZXREYXJrVGhlbWUodGhpcy5kYXJrVGhlbWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { EventDisplayService } from '../../../services/event-display.service';
|
|
3
|
-
export class EventSelectorComponent {
|
|
4
|
-
constructor(eventDisplay) {
|
|
5
|
-
this.eventDisplay = eventDisplay;
|
|
6
|
-
}
|
|
7
|
-
ngOnInit() {
|
|
8
|
-
this.eventDisplay.listenToLoadedEventsChange((events) => (this.events = events));
|
|
9
|
-
}
|
|
10
|
-
changeEvent(selected) {
|
|
11
|
-
const value = selected.target.value;
|
|
12
|
-
this.eventDisplay.loadEvent(value);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
EventSelectorComponent.decorators = [
|
|
16
|
-
{ type: Component, args: [{
|
|
17
|
-
selector: 'app-event-selector',
|
|
18
|
-
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",
|
|
19
|
-
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)}"]
|
|
20
|
-
},] }
|
|
21
|
-
];
|
|
22
|
-
EventSelectorComponent.ctorParameters = () => [
|
|
23
|
-
{ type: EventDisplayService }
|
|
24
|
-
];
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdWktbWVudS9ldmVudC1zZWxlY3Rvci9ldmVudC1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQU85RSxNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtJQUFHLENBQUM7SUFFekQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsMEJBQTBCLENBQzFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWE7UUFDdkIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzs7O1lBcEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixvVUFBOEM7O2FBRS9DOzs7WUFOUSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1ldmVudC1zZWxlY3RvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ldmVudC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2V2ZW50LXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEV2ZW50U2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyBBcnJheSBjb250YWluaW5nIHRoZSBrZXlzIG9mIHRoZSBtdWx0aXBsZSBsb2FkZWQgZXZlbnRzXG4gIGV2ZW50czogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5ldmVudERpc3BsYXkubGlzdGVuVG9Mb2FkZWRFdmVudHNDaGFuZ2UoXG4gICAgICAoZXZlbnRzKSA9PiAodGhpcy5ldmVudHMgPSBldmVudHMpXG4gICAgKTtcbiAgfVxuXG4gIGNoYW5nZUV2ZW50KHNlbGVjdGVkOiBhbnkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHNlbGVjdGVkLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5sb2FkRXZlbnQodmFsdWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { EventDisplayService } from '../../../services/event-display.service';
|
|
3
|
-
export class ExperimentInfoComponent {
|
|
4
|
-
constructor(eventDisplay) {
|
|
5
|
-
this.eventDisplay = eventDisplay;
|
|
6
|
-
}
|
|
7
|
-
ngOnInit() {
|
|
8
|
-
this.eventDisplay.listenToDisplayedEventChange(() => {
|
|
9
|
-
this.experimentInfo = this.eventDisplay.getEventMetadata();
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
ExperimentInfoComponent.decorators = [
|
|
14
|
-
{ type: Component, args: [{
|
|
15
|
-
selector: 'app-experiment-info',
|
|
16
|
-
template: "<div id=\"experimentInfo\" class=\"experimentInfo\" cdkDrag cdkDragBoundary=\"body\">\n <a\n class=\"experimentLogoWrapper\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n *ngIf=\"experiment\"\n href=\"https://home.cern/science/experiments/{{ experiment }}\"\n >\n <img\n class=\"experimentLogo\"\n src=\"assets/images/{{ experiment }}.svg\"\n alt=\"\"\n />\n </a>\n <div class=\"textInfo\">\n <p *ngIf=\"experimentTagline\">\n <b>{{ experimentTagline }}</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",
|
|
17
|
-
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;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (max-width:768px){.experimentInfo{top:4rem;max-width:40%}.experimentLogoWrapper{height:4rem}.textInfo{display:none}}"]
|
|
18
|
-
},] }
|
|
19
|
-
];
|
|
20
|
-
ExperimentInfoComponent.ctorParameters = () => [
|
|
21
|
-
{ type: EventDisplayService }
|
|
22
|
-
];
|
|
23
|
-
ExperimentInfoComponent.propDecorators = {
|
|
24
|
-
experiment: [{ type: Input }],
|
|
25
|
-
experimentTagline: [{ type: Input }]
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwZXJpbWVudC1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3VpLW1lbnUvZXhwZXJpbWVudC1pbmZvL2V4cGVyaW1lbnQtaW5mby5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFPOUUsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQyxZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7SUFBRyxDQUFDO0lBRXpELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsRUFBRTtZQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQWhCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsNDBCQUErQzs7YUFFaEQ7OztZQU5RLG1CQUFtQjs7O3lCQVN6QixLQUFLO2dDQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZXhwZXJpbWVudC1pbmZvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V4cGVyaW1lbnQtaW5mby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2V4cGVyaW1lbnQtaW5mby5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFeHBlcmltZW50SW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGV4cGVyaW1lbnRJbmZvOiBhbnlbXTtcbiAgQElucHV0KCkgZXhwZXJpbWVudDogc3RyaW5nO1xuICBASW5wdXQoKSBleHBlcmltZW50VGFnbGluZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXZlbnREaXNwbGF5OiBFdmVudERpc3BsYXlTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwbGF5Lmxpc3RlblRvRGlzcGxheWVkRXZlbnRDaGFuZ2UoKCkgPT4ge1xuICAgICAgdGhpcy5leHBlcmltZW50SW5mbyA9IHRoaXMuZXZlbnREaXNwbGF5LmdldEV2ZW50TWV0YWRhdGEoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { EventDisplayService } from '../../../../services/event-display.service';
|
|
3
|
-
/**
|
|
4
|
-
* Component for displaying information from the logger
|
|
5
|
-
*/
|
|
6
|
-
export class InfoPanelOverlayComponent {
|
|
7
|
-
/**
|
|
8
|
-
* Create the information panel overlay
|
|
9
|
-
* @param infoLogger Service containing operations related to info logs
|
|
10
|
-
*/
|
|
11
|
-
constructor(eventDisplay) {
|
|
12
|
-
this.eventDisplay = eventDisplay;
|
|
13
|
-
/** List of actions to be displayed in the info panel */
|
|
14
|
-
this.actionsList = [];
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Get the list of logs from the info logger service
|
|
18
|
-
*/
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
this.actionsList = this.eventDisplay.getInfoLogger().getInfoLoggerList();
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
InfoPanelOverlayComponent.decorators = [
|
|
24
|
-
{ type: Component, args: [{
|
|
25
|
-
selector: 'app-info-panel-overlay',
|
|
26
|
-
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\" *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",
|
|
27
|
-
styles: [".list-group-item{font-size:.8rem;padding:.5rem 1rem}"]
|
|
28
|
-
},] }
|
|
29
|
-
];
|
|
30
|
-
InfoPanelOverlayComponent.ctorParameters = () => [
|
|
31
|
-
{ type: EventDisplayService }
|
|
32
|
-
];
|
|
33
|
-
InfoPanelOverlayComponent.propDecorators = {
|
|
34
|
-
showInfoPanel: [{ type: Input }]
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1wYW5lbC1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3VpLW1lbnUvaW5mby1wYW5lbC9pbmZvLXBhbmVsLW92ZXJsYXkvaW5mby1wYW5lbC1vdmVybGF5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVqRjs7R0FFRztBQU1ILE1BQU0sT0FBTyx5QkFBeUI7SUFNcEM7OztPQUdHO0lBQ0gsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBUHJELHdEQUF3RDtRQUN4RCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztJQU11QyxDQUFDO0lBRXpEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNFLENBQUM7OztZQXRCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsNlpBQWtEOzthQUVuRDs7O1lBVFEsbUJBQW1COzs7NEJBWXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgZGlzcGxheWluZyBpbmZvcm1hdGlvbiBmcm9tIHRoZSBsb2dnZXJcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWluZm8tcGFuZWwtb3ZlcmxheScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLXBhbmVsLW92ZXJsYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbmZvLXBhbmVsLW92ZXJsYXkuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5mb1BhbmVsT3ZlcmxheUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKiBAaWdub3JlICovXG4gIEBJbnB1dCgpIHNob3dJbmZvUGFuZWw6IGJvb2xlYW47XG4gIC8qKiBMaXN0IG9mIGFjdGlvbnMgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBpbmZvIHBhbmVsICovXG4gIGFjdGlvbnNMaXN0ID0gW107XG5cbiAgLyoqXG4gICAqIENyZWF0ZSB0aGUgaW5mb3JtYXRpb24gcGFuZWwgb3ZlcmxheVxuICAgKiBAcGFyYW0gaW5mb0xvZ2dlciBTZXJ2aWNlIGNvbnRhaW5pbmcgb3BlcmF0aW9ucyByZWxhdGVkIHRvIGluZm8gbG9nc1xuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiBsb2dzIGZyb20gdGhlIGluZm8gbG9nZ2VyIHNlcnZpY2VcbiAgICovXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYWN0aW9uc0xpc3QgPSB0aGlzLmV2ZW50RGlzcGxheS5nZXRJbmZvTG9nZ2VyKCkuZ2V0SW5mb0xvZ2dlckxpc3QoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { Overlay } from '@angular/cdk/overlay';
|
|
3
|
-
import { ComponentPortal } from '@angular/cdk/portal';
|
|
4
|
-
import { InfoPanelOverlayComponent } from './info-panel-overlay/info-panel-overlay.component';
|
|
5
|
-
/**
|
|
6
|
-
* Component for toggling info panel overlay
|
|
7
|
-
*/
|
|
8
|
-
export class InfoPanelComponent {
|
|
9
|
-
/**
|
|
10
|
-
* Create the info panel toggle
|
|
11
|
-
* @param overlay Info panel overlay containing logger data
|
|
12
|
-
*/
|
|
13
|
-
constructor(overlay) {
|
|
14
|
-
this.overlay = overlay;
|
|
15
|
-
/** @ignore */
|
|
16
|
-
this.showInfoPanel = false;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Create the info panel overlay
|
|
20
|
-
*/
|
|
21
|
-
ngOnInit() {
|
|
22
|
-
const overlayRef = this.overlay.create();
|
|
23
|
-
const overlayPortal = new ComponentPortal(InfoPanelOverlayComponent);
|
|
24
|
-
this.overlayWindow = overlayRef.attach(overlayPortal);
|
|
25
|
-
this.overlayWindow.instance.showInfoPanel = this.showInfoPanel;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Destroy the info panel overlay
|
|
29
|
-
*/
|
|
30
|
-
ngOnDestroy() {
|
|
31
|
-
this.overlayWindow.destroy();
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Toggle the info panel overlay
|
|
35
|
-
*/
|
|
36
|
-
toggleOverlay() {
|
|
37
|
-
this.showInfoPanel = !this.showInfoPanel;
|
|
38
|
-
this.overlayWindow.instance.showInfoPanel = this.showInfoPanel;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
InfoPanelComponent.decorators = [
|
|
42
|
-
{ type: Component, args: [{
|
|
43
|
-
selector: 'app-info-panel',
|
|
44
|
-
template: "<app-menu-toggle\n tooltip=\"Info panel\"\n icon=\"info-panel\"\n [active]=\"showInfoPanel\"\n (click)=\"toggleOverlay()\"\n>\n</app-menu-toggle>\n",
|
|
45
|
-
styles: [""]
|
|
46
|
-
},] }
|
|
47
|
-
];
|
|
48
|
-
InfoPanelComponent.ctorParameters = () => [
|
|
49
|
-
{ type: Overlay }
|
|
50
|
-
];
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy91aS1tZW51L2luZm8tcGFuZWwvaW5mby1wYW5lbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUU5Rjs7R0FFRztBQU1ILE1BQU0sT0FBTyxrQkFBa0I7SUFNN0I7OztPQUdHO0lBQ0gsWUFBb0IsT0FBZ0I7UUFBaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQVRwQyxjQUFjO1FBQ2Qsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFRaUIsQ0FBQztJQUV4Qzs7T0FFRztJQUNILFFBQVE7UUFDTixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pDLE1BQU0sYUFBYSxHQUFHLElBQUksZUFBZSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNqRSxDQUFDOzs7WUF4Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLG1LQUEwQzs7YUFFM0M7OztZQVhRLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ29tcG9uZW50UmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEluZm9QYW5lbE92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL2luZm8tcGFuZWwtb3ZlcmxheS9pbmZvLXBhbmVsLW92ZXJsYXkuY29tcG9uZW50JztcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIHRvZ2dsaW5nIGluZm8gcGFuZWwgb3ZlcmxheVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaW5mby1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5mby1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbmZvUGFuZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKiBAaWdub3JlICovXG4gIHNob3dJbmZvUGFuZWwgPSBmYWxzZTtcbiAgLyoqIEluZm9ybWF0aW9uIHBhbmVsIG92ZXJsYXkgd2luZG93ICovXG4gIG92ZXJsYXlXaW5kb3c6IENvbXBvbmVudFJlZjxJbmZvUGFuZWxPdmVybGF5Q29tcG9uZW50PjtcblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSBpbmZvIHBhbmVsIHRvZ2dsZVxuICAgKiBAcGFyYW0gb3ZlcmxheSBJbmZvIHBhbmVsIG92ZXJsYXkgY29udGFpbmluZyBsb2dnZXIgZGF0YVxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5KSB7fVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIGluZm8gcGFuZWwgb3ZlcmxheVxuICAgKi9cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoKTtcbiAgICBjb25zdCBvdmVybGF5UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChJbmZvUGFuZWxPdmVybGF5Q29tcG9uZW50KTtcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3cgPSBvdmVybGF5UmVmLmF0dGFjaChvdmVybGF5UG9ydGFsKTtcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3cuaW5zdGFuY2Uuc2hvd0luZm9QYW5lbCA9IHRoaXMuc2hvd0luZm9QYW5lbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXN0cm95IHRoZSBpbmZvIHBhbmVsIG92ZXJsYXlcbiAgICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVdpbmRvdy5kZXN0cm95KCk7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlIHRoZSBpbmZvIHBhbmVsIG92ZXJsYXlcbiAgICovXG4gIHRvZ2dsZU92ZXJsYXkoKSB7XG4gICAgdGhpcy5zaG93SW5mb1BhbmVsID0gIXRoaXMuc2hvd0luZm9QYW5lbDtcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3cuaW5zdGFuY2Uuc2hvd0luZm9QYW5lbCA9IHRoaXMuc2hvd0luZm9QYW5lbDtcbiAgfVxufVxuIl19
|