phoenix-ui-components 2.2.0 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/README.md +1 -1
  2. package/_theming.scss +14 -7
  3. package/dist/README.md +1 -1
  4. package/dist/components/embed-menu/embed-menu.component.d.ts +3 -0
  5. package/dist/components/embed-menu/experiment-link/experiment-link.component.d.ts +3 -0
  6. package/dist/components/loader/loader.component.d.ts +3 -0
  7. package/dist/components/nav/nav.component.d.ts +3 -0
  8. package/dist/components/phoenix-menu/config/config-slider/config-slider.component.d.ts +3 -0
  9. package/dist/components/phoenix-menu/pheonix-menu-item/phoenix-menu-item.component.d.ts +3 -0
  10. package/dist/components/phoenix-menu/phoenix-menu.component.d.ts +3 -0
  11. package/dist/components/phoenix-ui.module.d.ts +56 -0
  12. package/dist/components/ui-menu/animate-camera/animate-camera.component.d.ts +3 -0
  13. package/dist/components/ui-menu/animate-event/animate-event.component.d.ts +3 -0
  14. package/dist/components/ui-menu/ar-toggle/ar-toggle.component.d.ts +3 -0
  15. package/dist/components/ui-menu/auto-rotate/auto-rotate.component.d.ts +3 -0
  16. package/dist/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.d.ts +10 -2
  17. package/dist/components/ui-menu/collections-info/collections-info.component.d.ts +3 -0
  18. package/dist/components/ui-menu/dark-theme/dark-theme.component.d.ts +3 -0
  19. package/dist/components/ui-menu/event-selector/event-selector.component.d.ts +3 -0
  20. package/dist/components/ui-menu/experiment-info/experiment-info.component.d.ts +3 -0
  21. package/dist/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.d.ts +5 -0
  22. package/dist/components/ui-menu/info-panel/info-panel.component.d.ts +3 -0
  23. package/dist/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.d.ts +3 -0
  24. package/dist/components/ui-menu/io-options/io-options.component.d.ts +3 -0
  25. package/dist/components/ui-menu/main-view-toggle/main-view-toggle.component.d.ts +3 -0
  26. package/dist/components/ui-menu/menu-toggle/menu-toggle.component.d.ts +3 -0
  27. package/dist/components/ui-menu/object-clipping/object-clipping.component.d.ts +3 -0
  28. package/dist/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.d.ts +3 -0
  29. package/dist/components/ui-menu/object-selection/object-selection.component.d.ts +3 -0
  30. package/dist/components/ui-menu/overlay/overlay.component.d.ts +3 -0
  31. package/dist/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.d.ts +3 -0
  32. package/dist/components/ui-menu/overlay-view/overlay-view.component.d.ts +3 -0
  33. package/dist/components/ui-menu/performance-toggle/performance-toggle.component.d.ts +3 -0
  34. package/dist/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.d.ts +10 -2
  35. package/dist/components/ui-menu/share-link/share-link.component.d.ts +3 -0
  36. package/dist/components/ui-menu/ss-mode/ss-mode.component.d.ts +3 -0
  37. package/dist/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.d.ts +3 -0
  38. package/dist/components/ui-menu/tree-menu/tree-menu.component.d.ts +3 -0
  39. package/dist/components/ui-menu/ui-menu.component.d.ts +3 -0
  40. package/dist/components/ui-menu/view-options/view-options.component.d.ts +3 -0
  41. package/dist/components/ui-menu/vr-toggle/vr-toggle.component.d.ts +3 -0
  42. package/dist/components/ui-menu/zoom-controls/zoom-controls.component.d.ts +3 -0
  43. package/dist/esm2020/components/embed-menu/embed-menu.component.mjs +17 -0
  44. package/dist/esm2020/components/embed-menu/experiment-link/experiment-link.component.mjs +18 -0
  45. package/dist/esm2020/components/loader/loader.component.mjs +19 -0
  46. package/dist/esm2020/components/nav/nav.component.mjs +14 -0
  47. package/dist/esm2020/components/phoenix-menu/config/config-slider/config-slider.component.mjs +38 -0
  48. package/dist/{esm2015/components/phoenix-menu/index.js → esm2020/components/phoenix-menu/index.mjs} +1 -1
  49. package/dist/esm2020/components/phoenix-menu/pheonix-menu-item/phoenix-menu-item.component.mjs +32 -0
  50. package/dist/esm2020/components/phoenix-menu/phoenix-menu.component.mjs +14 -0
  51. package/dist/esm2020/components/phoenix-ui.module.mjs +201 -0
  52. package/dist/esm2020/components/ui-menu/animate-camera/animate-camera.component.mjs +76 -0
  53. package/dist/esm2020/components/ui-menu/animate-event/animate-event.component.mjs +25 -0
  54. package/dist/esm2020/components/ui-menu/ar-toggle/ar-toggle.component.mjs +47 -0
  55. package/dist/esm2020/components/ui-menu/auto-rotate/auto-rotate.component.mjs +21 -0
  56. package/dist/esm2020/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.mjs +81 -0
  57. package/dist/esm2020/components/ui-menu/collections-info/collections-info.component.mjs +32 -0
  58. package/dist/esm2020/components/ui-menu/dark-theme/dark-theme.component.mjs +24 -0
  59. package/dist/esm2020/components/ui-menu/event-selector/event-selector.component.mjs +24 -0
  60. package/dist/esm2020/components/ui-menu/experiment-info/experiment-info.component.mjs +26 -0
  61. package/dist/{esm2015/components/ui-menu/index.js → esm2020/components/ui-menu/index.mjs} +1 -1
  62. package/dist/esm2020/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.mjs +37 -0
  63. package/dist/esm2020/components/ui-menu/info-panel/info-panel.component.mjs +49 -0
  64. package/dist/esm2020/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.mjs +196 -0
  65. package/dist/esm2020/components/ui-menu/io-options/io-options.component.mjs +28 -0
  66. package/dist/esm2020/components/ui-menu/main-view-toggle/main-view-toggle.component.mjs +24 -0
  67. package/dist/esm2020/components/ui-menu/menu-toggle/menu-toggle.component.mjs +24 -0
  68. package/dist/esm2020/components/ui-menu/object-clipping/object-clipping.component.mjs +31 -0
  69. package/dist/esm2020/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.mjs +24 -0
  70. package/dist/esm2020/components/ui-menu/object-selection/object-selection.component.mjs +36 -0
  71. package/dist/esm2020/components/ui-menu/overlay/overlay.component.mjs +99 -0
  72. package/dist/esm2020/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.mjs +53 -0
  73. package/dist/esm2020/components/ui-menu/overlay-view/overlay-view.component.mjs +32 -0
  74. package/dist/esm2020/components/ui-menu/performance-toggle/performance-toggle.component.mjs +21 -0
  75. package/dist/esm2020/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.mjs +73 -0
  76. package/dist/esm2020/components/ui-menu/share-link/share-link.component.mjs +20 -0
  77. package/dist/esm2020/components/ui-menu/ss-mode/ss-mode.component.mjs +41 -0
  78. package/dist/esm2020/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.mjs +33 -0
  79. package/dist/esm2020/components/ui-menu/tree-menu/tree-menu.component.mjs +71 -0
  80. package/dist/esm2020/components/ui-menu/ui-menu.component.mjs +43 -0
  81. package/dist/esm2020/components/ui-menu/view-options/view-options.component.mjs +34 -0
  82. package/dist/esm2020/components/ui-menu/vr-toggle/vr-toggle.component.mjs +44 -0
  83. package/dist/esm2020/components/ui-menu/zoom-controls/zoom-controls.component.mjs +61 -0
  84. package/dist/esm2020/phoenix-ui-components.mjs +5 -0
  85. package/dist/esm2020/public_api.mjs +9 -0
  86. package/dist/esm2020/services/event-display.service.mjs +23 -0
  87. package/dist/esm2020/services/extras/attribute.pipe.mjs +33 -0
  88. package/dist/{esm2015/services/extras/event-data-import.js → esm2020/services/extras/event-data-import.mjs} +1 -1
  89. package/dist/esm2020/services/index.mjs +4 -0
  90. package/dist/fesm2015/phoenix-ui-components.mjs +1644 -0
  91. package/dist/fesm2015/phoenix-ui-components.mjs.map +1 -0
  92. package/dist/fesm2020/phoenix-ui-components.mjs +1644 -0
  93. package/dist/fesm2020/phoenix-ui-components.mjs.map +1 -0
  94. package/dist/phoenix-ui-components.d.ts +2 -6
  95. package/dist/{index.d.ts → public_api.d.ts} +2 -0
  96. package/dist/services/event-display.service.d.ts +3 -0
  97. package/dist/services/extras/attribute.pipe.d.ts +3 -0
  98. package/dist/services/index.d.ts +1 -0
  99. package/package.json +12 -12
  100. package/dist/bundles/phoenix-ui-components.umd.js +0 -2135
  101. package/dist/bundles/phoenix-ui-components.umd.js.map +0 -1
  102. package/dist/esm2015/components/embed-menu/embed-menu.component.js +0 -11
  103. package/dist/esm2015/components/embed-menu/experiment-link/experiment-link.component.js +0 -17
  104. package/dist/esm2015/components/loader/loader.component.js +0 -18
  105. package/dist/esm2015/components/nav/nav.component.js +0 -14
  106. package/dist/esm2015/components/phoenix-menu/config/config-slider/config-slider.component.js +0 -32
  107. package/dist/esm2015/components/phoenix-menu/pheonix-menu-item/phoenix-menu-item.component.js +0 -29
  108. package/dist/esm2015/components/phoenix-menu/phoenix-menu.component.js +0 -14
  109. package/dist/esm2015/components/phoenix-ui.module.js +0 -94
  110. package/dist/esm2015/components/ui-menu/animate-camera/animate-camera.component.js +0 -77
  111. package/dist/esm2015/components/ui-menu/animate-event/animate-event.component.js +0 -27
  112. package/dist/esm2015/components/ui-menu/ar-toggle/ar-toggle.component.js +0 -46
  113. package/dist/esm2015/components/ui-menu/auto-rotate/auto-rotate.component.js +0 -23
  114. package/dist/esm2015/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.js +0 -61
  115. package/dist/esm2015/components/ui-menu/collections-info/collections-info.component.js +0 -34
  116. package/dist/esm2015/components/ui-menu/dark-theme/dark-theme.component.js +0 -26
  117. package/dist/esm2015/components/ui-menu/event-selector/event-selector.component.js +0 -25
  118. package/dist/esm2015/components/ui-menu/experiment-info/experiment-info.component.js +0 -27
  119. package/dist/esm2015/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.js +0 -36
  120. package/dist/esm2015/components/ui-menu/info-panel/info-panel.component.js +0 -51
  121. package/dist/esm2015/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.js +0 -202
  122. package/dist/esm2015/components/ui-menu/io-options/io-options.component.js +0 -31
  123. package/dist/esm2015/components/ui-menu/main-view-toggle/main-view-toggle.component.js +0 -25
  124. package/dist/esm2015/components/ui-menu/menu-toggle/menu-toggle.component.js +0 -20
  125. package/dist/esm2015/components/ui-menu/object-clipping/object-clipping.component.js +0 -30
  126. package/dist/esm2015/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.js +0 -25
  127. package/dist/esm2015/components/ui-menu/object-selection/object-selection.component.js +0 -39
  128. package/dist/esm2015/components/ui-menu/overlay/overlay.component.js +0 -90
  129. package/dist/esm2015/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.js +0 -52
  130. package/dist/esm2015/components/ui-menu/overlay-view/overlay-view.component.js +0 -34
  131. package/dist/esm2015/components/ui-menu/performance-toggle/performance-toggle.component.js +0 -23
  132. package/dist/esm2015/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.js +0 -63
  133. package/dist/esm2015/components/ui-menu/share-link/share-link.component.js +0 -22
  134. package/dist/esm2015/components/ui-menu/ss-mode/ss-mode.component.js +0 -43
  135. package/dist/esm2015/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.js +0 -32
  136. package/dist/esm2015/components/ui-menu/tree-menu/tree-menu.component.js +0 -71
  137. package/dist/esm2015/components/ui-menu/ui-menu.component.js +0 -22
  138. package/dist/esm2015/components/ui-menu/view-options/view-options.component.js +0 -33
  139. package/dist/esm2015/components/ui-menu/vr-toggle/vr-toggle.component.js +0 -45
  140. package/dist/esm2015/components/ui-menu/zoom-controls/zoom-controls.component.js +0 -63
  141. package/dist/esm2015/index.js +0 -7
  142. package/dist/esm2015/phoenix-ui-components.js +0 -10
  143. package/dist/esm2015/services/event-display.service.js +0 -22
  144. package/dist/esm2015/services/extras/attribute.pipe.js +0 -29
  145. package/dist/esm2015/services/index.js +0 -3
  146. package/dist/fesm2015/phoenix-ui-components.js +0 -1607
  147. package/dist/fesm2015/phoenix-ui-components.js.map +0 -1
  148. package/dist/phoenix-ui-components.metadata.json +0 -1
@@ -0,0 +1,76 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { SceneManager } from 'phoenix-event-display';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../services/event-display.service";
5
+ import * as i2 from "@angular/material/menu";
6
+ import * as i3 from "../menu-toggle/menu-toggle.component";
7
+ import * as i4 from "@angular/common";
8
+ export const defaultAnimationPresets = {
9
+ 'Preset 1': {
10
+ positions: [
11
+ {
12
+ position: [11976, 7262, 11927],
13
+ duration: 1000,
14
+ },
15
+ {
16
+ position: [-1000, 0, 11927],
17
+ duration: 2000,
18
+ },
19
+ {
20
+ position: [2000, 500, 1000],
21
+ duration: 3500,
22
+ },
23
+ {
24
+ position: [5000, 2000, 1000],
25
+ duration: 3000,
26
+ },
27
+ {
28
+ position: [5000, 2000, 1000],
29
+ duration: 2000,
30
+ },
31
+ {
32
+ position: [11976, 7262, 11927],
33
+ duration: 1000,
34
+ },
35
+ ],
36
+ animateEventAfterInterval: 5000,
37
+ collisionDuration: 6000,
38
+ },
39
+ };
40
+ export class AnimateCameraComponent {
41
+ constructor(eventDisplay) {
42
+ this.eventDisplay = eventDisplay;
43
+ this.animationPresets = defaultAnimationPresets;
44
+ this.animationPresetsKeys = Object.keys(this.animationPresets);
45
+ this.isAnimating = false;
46
+ }
47
+ animatePreset(preset) {
48
+ this.setDetectorOpacity(0.2);
49
+ this.eventDisplay.animatePreset(this.animationPresets[preset], () => {
50
+ this.setDetectorOpacity(1);
51
+ });
52
+ }
53
+ animateCamera() {
54
+ if (!this.isAnimating) {
55
+ this.isAnimating = true;
56
+ this.eventDisplay.animateThroughEvent([11976, 7262, 11927], 3000, () => {
57
+ this.isAnimating = false;
58
+ });
59
+ }
60
+ }
61
+ setDetectorOpacity(opacity) {
62
+ this.eventDisplay
63
+ .getThreeManager()
64
+ .getSceneManager()
65
+ .setGeometryOpacity(SceneManager.GEOMETRIES_ID, opacity);
66
+ }
67
+ }
68
+ AnimateCameraComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AnimateCameraComponent, deps: [{ token: i1.EventDisplayService }], target: i0.ɵɵFactoryTarget.Component });
69
+ AnimateCameraComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: AnimateCameraComponent, selector: "app-animate-camera", inputs: { animationPresets: "animationPresets" }, ngImport: i0, 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", styles: [""], components: [{ type: i2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i3.MenuToggleComponent, selector: "app-menu-toggle", inputs: ["icon", "active", "tooltip", "disabled"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }] });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AnimateCameraComponent, decorators: [{
71
+ type: Component,
72
+ 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", styles: [""] }]
73
+ }], ctorParameters: function () { return [{ type: i1.EventDisplayService }]; }, propDecorators: { animationPresets: [{
74
+ type: Input
75
+ }] } });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZS1jYW1lcmEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvdWktbWVudS9hbmltYXRlLWNhbWVyYS9hbmltYXRlLWNhbWVyYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2FuaW1hdGUtY2FtZXJhL2FuaW1hdGUtY2FtZXJhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBbUIsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQUd0RSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FFaEM7SUFDRixVQUFVLEVBQUU7UUFDVixTQUFTLEVBQUU7WUFDVDtnQkFDRSxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztnQkFDOUIsUUFBUSxFQUFFLElBQUk7YUFDZjtZQUNEO2dCQUNFLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUM7Z0JBQzNCLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRDtnQkFDRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztnQkFDM0IsUUFBUSxFQUFFLElBQUk7YUFDZjtZQUNEO2dCQUNFLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO2dCQUM1QixRQUFRLEVBQUUsSUFBSTthQUNmO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7Z0JBQzVCLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRDtnQkFDRSxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztnQkFDOUIsUUFBUSxFQUFFLElBQUk7YUFDZjtTQUNGO1FBQ0QseUJBQXlCLEVBQUUsSUFBSTtRQUMvQixpQkFBaUIsRUFBRSxJQUFJO0tBQ3hCO0NBQ0YsQ0FBQztBQU9GLE1BQU0sT0FBTyxzQkFBc0I7SUFLakMsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBSjVDLHFCQUFnQixHQUFHLHVCQUF1QixDQUFDO1FBQ3BELHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDMUQsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFFb0MsQ0FBQztJQUV6RCxhQUFhLENBQUMsTUFBYztRQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRTtZQUNsRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ3JFLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsT0FBZTtRQUN4QyxJQUFJLENBQUMsWUFBWTthQUNkLGVBQWUsRUFBRTthQUNqQixlQUFlLEVBQUU7YUFDakIsa0JBQWtCLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDOzttSEE1QlUsc0JBQXNCO3VHQUF0QixzQkFBc0IsNEdDNUNuQyx5YUFpQkE7MkZEMkJhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7MEdBS3JCLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFuaW1hdGlvblByZXNldCwgU2NlbmVNYW5hZ2VyIH0gZnJvbSAncGhvZW5peC1ldmVudC1kaXNwbGF5JztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEFuaW1hdGlvblByZXNldHM6IHtcbiAgW2tleTogc3RyaW5nXTogQW5pbWF0aW9uUHJlc2V0O1xufSA9IHtcbiAgJ1ByZXNldCAxJzoge1xuICAgIHBvc2l0aW9uczogW1xuICAgICAge1xuICAgICAgICBwb3NpdGlvbjogWzExOTc2LCA3MjYyLCAxMTkyN10sXG4gICAgICAgIGR1cmF0aW9uOiAxMDAwLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcG9zaXRpb246IFstMTAwMCwgMCwgMTE5MjddLFxuICAgICAgICBkdXJhdGlvbjogMjAwMCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBvc2l0aW9uOiBbMjAwMCwgNTAwLCAxMDAwXSxcbiAgICAgICAgZHVyYXRpb246IDM1MDAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwb3NpdGlvbjogWzUwMDAsIDIwMDAsIDEwMDBdLFxuICAgICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBvc2l0aW9uOiBbNTAwMCwgMjAwMCwgMTAwMF0sXG4gICAgICAgIGR1cmF0aW9uOiAyMDAwLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcG9zaXRpb246IFsxMTk3NiwgNzI2MiwgMTE5MjddLFxuICAgICAgICBkdXJhdGlvbjogMTAwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBhbmltYXRlRXZlbnRBZnRlckludGVydmFsOiA1MDAwLFxuICAgIGNvbGxpc2lvbkR1cmF0aW9uOiA2MDAwLFxuICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFuaW1hdGUtY2FtZXJhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FuaW1hdGUtY2FtZXJhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYW5pbWF0ZS1jYW1lcmEuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5pbWF0ZUNhbWVyYUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGFuaW1hdGlvblByZXNldHMgPSBkZWZhdWx0QW5pbWF0aW9uUHJlc2V0cztcbiAgYW5pbWF0aW9uUHJlc2V0c0tleXMgPSBPYmplY3Qua2V5cyh0aGlzLmFuaW1hdGlvblByZXNldHMpO1xuICBpc0FuaW1hdGluZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXZlbnREaXNwbGF5OiBFdmVudERpc3BsYXlTZXJ2aWNlKSB7fVxuXG4gIGFuaW1hdGVQcmVzZXQocHJlc2V0OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldERldGVjdG9yT3BhY2l0eSgwLjIpO1xuICAgIHRoaXMuZXZlbnREaXNwbGF5LmFuaW1hdGVQcmVzZXQodGhpcy5hbmltYXRpb25QcmVzZXRzW3ByZXNldF0sICgpID0+IHtcbiAgICAgIHRoaXMuc2V0RGV0ZWN0b3JPcGFjaXR5KDEpO1xuICAgIH0pO1xuICB9XG5cbiAgYW5pbWF0ZUNhbWVyYSgpIHtcbiAgICBpZiAoIXRoaXMuaXNBbmltYXRpbmcpIHtcbiAgICAgIHRoaXMuaXNBbmltYXRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5ldmVudERpc3BsYXkuYW5pbWF0ZVRocm91Z2hFdmVudChbMTE5NzYsIDcyNjIsIDExOTI3XSwgMzAwMCwgKCkgPT4ge1xuICAgICAgICB0aGlzLmlzQW5pbWF0aW5nID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldERldGVjdG9yT3BhY2l0eShvcGFjaXR5OiBudW1iZXIpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGxheVxuICAgICAgLmdldFRocmVlTWFuYWdlcigpXG4gICAgICAuZ2V0U2NlbmVNYW5hZ2VyKClcbiAgICAgIC5zZXRHZW9tZXRyeU9wYWNpdHkoU2NlbmVNYW5hZ2VyLkdFT01FVFJJRVNfSUQsIG9wYWNpdHkpO1xuICB9XG59XG4iLCI8bWF0LW1lbnUgI2FuaW1hdGlvblByZXNldHM+XG4gIDxidXR0b25cbiAgICBtYXQtbWVudS1pdGVtXG4gICAgKm5nRm9yPVwibGV0IHByZXNldCBvZiBhbmltYXRpb25QcmVzZXRzS2V5c1wiXG4gICAgKGNsaWNrKT1cImFuaW1hdGVQcmVzZXQocHJlc2V0KVwiXG4gID5cbiAgICB7eyBwcmVzZXQgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiYW5pbWF0ZUNhbWVyYSgpXCI+QW5pbWF0ZSBjYW1lcmE8L2J1dHRvbj5cbjwvbWF0LW1lbnU+XG5cbjxhcHAtbWVudS10b2dnbGVcbiAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFuaW1hdGlvblByZXNldHNcIlxuICB0b29sdGlwPVwiUHJlc2V0IGFuaW1hdGlvbnNcIlxuICBpY29uPVwiYW5pbWF0ZS1jYW1lcmFcIlxuPlxuPC9hcHAtbWVudS10b2dnbGU+XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../services/event-display.service";
4
+ import * as i2 from "../menu-toggle/menu-toggle.component";
5
+ export class AnimateEventComponent {
6
+ constructor(eventDisplay) {
7
+ this.eventDisplay = eventDisplay;
8
+ this.isAnimating = false;
9
+ }
10
+ toggleAnimateEvent() {
11
+ if (!this.isAnimating) {
12
+ this.isAnimating = true;
13
+ this.eventDisplay.animateEventWithCollision(10000, () => {
14
+ this.isAnimating = false;
15
+ });
16
+ }
17
+ }
18
+ }
19
+ AnimateEventComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AnimateEventComponent, deps: [{ token: i1.EventDisplayService }], target: i0.ɵɵFactoryTarget.Component });
20
+ AnimateEventComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: AnimateEventComponent, selector: "app-animate-event", ngImport: i0, template: "<app-menu-toggle\n tooltip=\"Animate event\"\n icon=\"event-folder\"\n [active]=\"isAnimating\"\n (click)=\"toggleAnimateEvent()\"\n>\n</app-menu-toggle>\n", styles: [""], components: [{ type: i2.MenuToggleComponent, selector: "app-menu-toggle", inputs: ["icon", "active", "tooltip", "disabled"] }] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AnimateEventComponent, decorators: [{
22
+ type: Component,
23
+ 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", styles: [""] }]
24
+ }], ctorParameters: function () { return [{ type: i1.EventDisplayService }]; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZS1ldmVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2FuaW1hdGUtZXZlbnQvYW5pbWF0ZS1ldmVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2FuaW1hdGUtZXZlbnQvYW5pbWF0ZS1ldmVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUTFDLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBRnJELGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBRTJCLENBQUM7SUFFekQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMseUJBQXlCLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDdEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7O2tIQVpVLHFCQUFxQjtzR0FBckIscUJBQXFCLHlEQ1JsQyxpS0FPQTsyRkRDYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudERpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXZlbnQtZGlzcGxheS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFuaW1hdGUtZXZlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYW5pbWF0ZS1ldmVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FuaW1hdGUtZXZlbnQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5pbWF0ZUV2ZW50Q29tcG9uZW50IHtcbiAgaXNBbmltYXRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV2ZW50RGlzcGxheTogRXZlbnREaXNwbGF5U2VydmljZSkge31cblxuICB0b2dnbGVBbmltYXRlRXZlbnQoKSB7XG4gICAgaWYgKCF0aGlzLmlzQW5pbWF0aW5nKSB7XG4gICAgICB0aGlzLmlzQW5pbWF0aW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmFuaW1hdGVFdmVudFdpdGhDb2xsaXNpb24oMTAwMDAsICgpID0+IHtcbiAgICAgICAgdGhpcy5pc0FuaW1hdGluZyA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8YXBwLW1lbnUtdG9nZ2xlXG4gIHRvb2x0aXA9XCJBbmltYXRlIGV2ZW50XCJcbiAgaWNvbj1cImV2ZW50LWZvbGRlclwiXG4gIFthY3RpdmVdPVwiaXNBbmltYXRpbmdcIlxuICAoY2xpY2spPVwidG9nZ2xlQW5pbWF0ZUV2ZW50KClcIlxuPlxuPC9hcHAtbWVudS10b2dnbGU+XG4iXX0=
@@ -0,0 +1,47 @@
1
+ import { Component } from '@angular/core';
2
+ import { ARManager, XRSessionType } from 'phoenix-event-display';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../services/event-display.service";
5
+ import * as i2 from "@angular/material/menu";
6
+ import * as i3 from "../menu-toggle/menu-toggle.component";
7
+ import * as i4 from "@angular/common";
8
+ export class ArToggleComponent {
9
+ constructor(eventDisplay) {
10
+ this.eventDisplay = eventDisplay;
11
+ this.arSupported = false;
12
+ this.arActive = false;
13
+ // NOTE: WebXR needs secure HTTPS context
14
+ // Query for permissions of XR before using it (not supported by browsers yet). See https://developer.mozilla.org/en-US/docs/Web/API/Permissions/query
15
+ navigator.xr
16
+ ?.isSessionSupported?.(ARManager.SESSION_TYPE)
17
+ .then((supported) => {
18
+ if (supported) {
19
+ this.arSupported = true;
20
+ }
21
+ })
22
+ .catch((err) => console.warn('Error in AR', err));
23
+ }
24
+ toggleAr(enableDomOverlay = true) {
25
+ ARManager.enableDomOverlay = enableDomOverlay;
26
+ // If toggling AR on
27
+ if (!this.arActive) {
28
+ this.eventDisplay.initXR(XRSessionType.AR, () => {
29
+ this.arActive = false;
30
+ // Disable renderer XR and remove animation loop
31
+ this.eventDisplay.endXR(XRSessionType.AR);
32
+ });
33
+ this.arActive = true;
34
+ }
35
+ else {
36
+ this.eventDisplay.endXR(XRSessionType.AR);
37
+ this.arActive = false;
38
+ }
39
+ }
40
+ }
41
+ ArToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ArToggleComponent, deps: [{ token: i1.EventDisplayService }], target: i0.ɵɵFactoryTarget.Component });
42
+ ArToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ArToggleComponent, selector: "app-ar-toggle", ngImport: i0, 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", styles: [""], components: [{ type: i2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i3.MenuToggleComponent, selector: "app-menu-toggle", inputs: ["icon", "active", "tooltip", "disabled"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }] });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ArToggleComponent, decorators: [{
44
+ type: Component,
45
+ 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", styles: [""] }]
46
+ }], ctorParameters: function () { return [{ type: i1.EventDisplayService }]; } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXItdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvYXItdG9nZ2xlL2FyLXRvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2FyLXRvZ2dsZS9hci10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUFPakUsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFIckQsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUd4Qix5Q0FBeUM7UUFDekMsc0pBQXNKO1FBQ3JKLFNBQWlCLENBQUMsRUFBRTtZQUNuQixFQUFFLGtCQUFrQixFQUFFLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQzthQUM3QyxJQUFJLENBQUMsQ0FBQyxTQUFrQixFQUFFLEVBQUU7WUFDM0IsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFFBQVEsQ0FBQyxtQkFBNEIsSUFBSTtRQUN2QyxTQUFTLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFFOUMsb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFO2dCQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsZ0RBQWdEO2dCQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN0QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQzs7OEdBaENVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHFEQ1Q5QiwwcEJBbUJBOzJGRFZhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudERpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXZlbnQtZGlzcGxheS5zZXJ2aWNlJztcbmltcG9ydCB7IEFSTWFuYWdlciwgWFJTZXNzaW9uVHlwZSB9IGZyb20gJ3Bob2VuaXgtZXZlbnQtZGlzcGxheSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hci10b2dnbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXItdG9nZ2xlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXItdG9nZ2xlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFyVG9nZ2xlQ29tcG9uZW50IHtcbiAgYXJTdXBwb3J0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYXJBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV2ZW50RGlzcGxheTogRXZlbnREaXNwbGF5U2VydmljZSkge1xuICAgIC8vIE5PVEU6IFdlYlhSIG5lZWRzIHNlY3VyZSBIVFRQUyBjb250ZXh0XG4gICAgLy8gUXVlcnkgZm9yIHBlcm1pc3Npb25zIG9mIFhSIGJlZm9yZSB1c2luZyBpdCAobm90IHN1cHBvcnRlZCBieSBicm93c2VycyB5ZXQpLiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1Blcm1pc3Npb25zL3F1ZXJ5XG4gICAgKG5hdmlnYXRvciBhcyBhbnkpLnhyXG4gICAgICA/LmlzU2Vzc2lvblN1cHBvcnRlZD8uKEFSTWFuYWdlci5TRVNTSU9OX1RZUEUpXG4gICAgICAudGhlbigoc3VwcG9ydGVkOiBib29sZWFuKSA9PiB7XG4gICAgICAgIGlmIChzdXBwb3J0ZWQpIHtcbiAgICAgICAgICB0aGlzLmFyU3VwcG9ydGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyOiBhbnkpID0+IGNvbnNvbGUud2FybignRXJyb3IgaW4gQVInLCBlcnIpKTtcbiAgfVxuXG4gIHRvZ2dsZUFyKGVuYWJsZURvbU92ZXJsYXk6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgQVJNYW5hZ2VyLmVuYWJsZURvbU92ZXJsYXkgPSBlbmFibGVEb21PdmVybGF5O1xuXG4gICAgLy8gSWYgdG9nZ2xpbmcgQVIgb25cbiAgICBpZiAoIXRoaXMuYXJBY3RpdmUpIHtcbiAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmluaXRYUihYUlNlc3Npb25UeXBlLkFSLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuYXJBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgLy8gRGlzYWJsZSByZW5kZXJlciBYUiBhbmQgcmVtb3ZlIGFuaW1hdGlvbiBsb29wXG4gICAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmVuZFhSKFhSU2Vzc2lvblR5cGUuQVIpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmFyQWN0aXZlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ldmVudERpc3BsYXkuZW5kWFIoWFJTZXNzaW9uVHlwZS5BUik7XG4gICAgICB0aGlzLmFyQWN0aXZlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8bWF0LW1lbnUgI2FyVG9nZ2xlT3B0aW9ucz5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFyU3VwcG9ydGVkXCI+XG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJ0b2dnbGVBcih0cnVlKVwiPkFSIHdpdGggb3ZlcmxheXM8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInRvZ2dsZUFyKGZhbHNlKVwiPkFSIHdpdGhvdXQgb3ZlcmxheXM8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxidXR0b24gKm5nSWY9XCIhYXJTdXBwb3J0ZWRcIiBtYXQtbWVudS1pdGVtIGRpc2FibGVkPkFSIG5vdCBzdXBwb3J0ZWQ8L2J1dHRvbj5cbjwvbWF0LW1lbnU+XG5cbjxhcHAtbWVudS10b2dnbGVcbiAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFyVG9nZ2xlT3B0aW9uc1wiXG4gIChjbGljayk9XCJhclN1cHBvcnRlZCAmJiAoYXJBY3RpdmUgPyB0b2dnbGVBcigpIDogbnVsbClcIlxuICBbZGlzYWJsZWRdPVwiIWFyU3VwcG9ydGVkXCJcbiAgW2FjdGl2ZV09XCJhckFjdGl2ZVwiXG4gIGljb249XCJhclwiXG4gIFt0b29sdGlwXT1cIlxuICAgIGFyU3VwcG9ydGVkID8gKGFyQWN0aXZlID8gJ0V4aXQgQVInIDogJ0VudGVyIEFSJykgOiAnQVIgbm90IHN1cHBvcnRlZCdcbiAgXCJcbj5cbjwvYXBwLW1lbnUtdG9nZ2xlPlxuIl19
@@ -0,0 +1,21 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../services/event-display.service";
4
+ import * as i2 from "../menu-toggle/menu-toggle.component";
5
+ export class AutoRotateComponent {
6
+ constructor(eventDisplay) {
7
+ this.eventDisplay = eventDisplay;
8
+ this.autoRotate = false;
9
+ }
10
+ toggleAutoRotate() {
11
+ this.autoRotate = !this.autoRotate;
12
+ this.eventDisplay.getUIManager().setAutoRotate(this.autoRotate);
13
+ }
14
+ }
15
+ AutoRotateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AutoRotateComponent, deps: [{ token: i1.EventDisplayService }], target: i0.ɵɵFactoryTarget.Component });
16
+ AutoRotateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: AutoRotateComponent, selector: "app-auto-rotate", ngImport: i0, template: "<app-menu-toggle\n tooltip=\"Auto rotate\"\n icon=\"rotate\"\n [active]=\"autoRotate\"\n (click)=\"toggleAutoRotate()\"\n>\n</app-menu-toggle>\n", styles: [""], components: [{ type: i2.MenuToggleComponent, selector: "app-menu-toggle", inputs: ["icon", "active", "tooltip", "disabled"] }] });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AutoRotateComponent, decorators: [{
18
+ type: Component,
19
+ 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", styles: [""] }]
20
+ }], ctorParameters: function () { return [{ type: i1.EventDisplayService }]; } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1yb3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvdWktbWVudS9hdXRvLXJvdGF0ZS9hdXRvLXJvdGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2F1dG8tcm90YXRlL2F1dG8tcm90YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRMUMsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFGckQsZUFBVSxHQUFHLEtBQUssQ0FBQztJQUVxQyxDQUFDO0lBRXpELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsRSxDQUFDOztnSEFSVSxtQkFBbUI7b0dBQW5CLG1CQUFtQix1RENSaEMsc0pBT0E7MkZEQ2EsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hdXRvLXJvdGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvLXJvdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1dG8tcm90YXRlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9Sb3RhdGVDb21wb25lbnQge1xuICBhdXRvUm90YXRlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHt9XG5cbiAgdG9nZ2xlQXV0b1JvdGF0ZSgpIHtcbiAgICB0aGlzLmF1dG9Sb3RhdGUgPSAhdGhpcy5hdXRvUm90YXRlO1xuICAgIHRoaXMuZXZlbnREaXNwbGF5LmdldFVJTWFuYWdlcigpLnNldEF1dG9Sb3RhdGUodGhpcy5hdXRvUm90YXRlKTtcbiAgfVxufVxuIiwiPGFwcC1tZW51LXRvZ2dsZVxuICB0b29sdGlwPVwiQXV0byByb3RhdGVcIlxuICBpY29uPVwicm90YXRlXCJcbiAgW2FjdGl2ZV09XCJhdXRvUm90YXRlXCJcbiAgKGNsaWNrKT1cInRvZ2dsZUF1dG9Sb3RhdGUoKVwiXG4+XG48L2FwcC1tZW51LXRvZ2dsZT5cbiJdfQ==
@@ -0,0 +1,81 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { PrettySymbols, SceneManager, } from 'phoenix-event-display';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../../services/event-display.service";
5
+ import * as i2 from "../../overlay/overlay.component";
6
+ import * as i3 from "@angular/material/checkbox";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "@angular/material/tooltip";
9
+ export class CollectionsInfoOverlayComponent {
10
+ constructor(elementRef, eventDisplay) {
11
+ this.elementRef = elementRef;
12
+ this.eventDisplay = eventDisplay;
13
+ this.getPrettySymbol = PrettySymbols.getPrettySymbol;
14
+ }
15
+ ngOnInit() {
16
+ this.eventDisplay.listenToDisplayedEventChange((_event) => (this.collections = this.eventDisplay.getCollections()));
17
+ this.activeObject = this.eventDisplay.getActiveObjectId();
18
+ this.activeObject.onUpdate((value) => {
19
+ if (document.getElementById(value)) {
20
+ document.getElementById(value).scrollIntoView(false);
21
+ }
22
+ });
23
+ }
24
+ changeCollection(selectedCollection) {
25
+ const eventDataGroup = this.getEventDataGroup();
26
+ this.selectedCollection = selectedCollection;
27
+ this.showingCollection = this.eventDisplay
28
+ .getCollection(selectedCollection)
29
+ .map((object) => ({
30
+ ...object,
31
+ isCut: !eventDataGroup.getObjectByProperty('uuid', object.uuid)
32
+ ?.visible,
33
+ }));
34
+ this.collectionColumns = Object.keys(this.showingCollection[0]).filter((column) => !['uuid', 'hits', 'isCut'].includes(column) // FIXME - this is an ugly hack. But currently hits from tracks make track collections unusable. Better to have exlusion list passed in.
35
+ );
36
+ }
37
+ sort(column, order) {
38
+ if (order === 'asc')
39
+ this.showingCollection.sort((a, b) => (a[column] < b[column] ? -1 : 1));
40
+ else
41
+ this.showingCollection.sort((a, b) => (a[column] > b[column] ? -1 : 1));
42
+ }
43
+ lookAtObject(uuid) {
44
+ if (uuid) {
45
+ this.activeObject.update(uuid);
46
+ this.eventDisplay.lookAtObject(uuid);
47
+ }
48
+ }
49
+ highlightObject(uuid) {
50
+ if (uuid) {
51
+ this.activeObject.update(uuid);
52
+ this.eventDisplay.highlightObject(uuid);
53
+ }
54
+ }
55
+ toggleInvisible(checked) {
56
+ this.hideInvisible = checked;
57
+ }
58
+ addLabel(index, uuid) {
59
+ const labelValue = this.elementRef.nativeElement.querySelector(`#label${index}`).value;
60
+ if (this.selectedCollection) {
61
+ // Empty labelValue will remove the label object
62
+ this.eventDisplay.addLabelToObject(labelValue, this.selectedCollection, index, uuid);
63
+ }
64
+ }
65
+ getEventDataGroup() {
66
+ return this.eventDisplay
67
+ .getThreeManager()
68
+ .getSceneManager()
69
+ .getScene()
70
+ .getObjectByName(SceneManager.EVENT_DATA_ID);
71
+ }
72
+ }
73
+ CollectionsInfoOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CollectionsInfoOverlayComponent, deps: [{ token: i0.ElementRef }, { token: i1.EventDisplayService }], target: i0.ɵɵFactoryTarget.Component });
74
+ CollectionsInfoOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CollectionsInfoOverlayComponent, selector: "app-collections-info-overlay", inputs: { showObjectsInfo: "showObjectsInfo" }, ngImport: i0, 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"], components: [{ type: i2.OverlayComponent, selector: "app-overlay", inputs: ["overlayTitle", "active", "icon", "resizable", "transparentBody"] }, { type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CollectionsInfoOverlayComponent, decorators: [{
76
+ type: Component,
77
+ 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"] }]
78
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.EventDisplayService }]; }, propDecorators: { showObjectsInfo: [{
79
+ type: Input
80
+ }] } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvY29sbGVjdGlvbnMtaW5mby9jb2xsZWN0aW9ucy1pbmZvLW92ZXJsYXkvY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvY29sbGVjdGlvbnMtaW5mby9jb2xsZWN0aW9ucy1pbmZvLW92ZXJsYXkvY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFDTCxhQUFhLEVBRWIsWUFBWSxHQUNiLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7QUFRL0IsTUFBTSxPQUFPLCtCQUErQjtJQVUxQyxZQUNVLFVBQXNCLEVBQ3RCLFlBQWlDO1FBRGpDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBTDNDLG9CQUFlLEdBQUcsYUFBYSxDQUFDLGVBQWUsQ0FBQztJQU03QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsNEJBQTRCLENBQzVDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUNwRSxDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDMUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRTtZQUMzQyxJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2xDLFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3REO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsa0JBQTBCO1FBQ3pDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUU3QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVk7YUFDdkMsYUFBYSxDQUFDLGtCQUFrQixDQUFDO2FBQ2pDLEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNyQixHQUFHLE1BQU07WUFDVCxLQUFLLEVBQUUsQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQzdELEVBQUUsT0FBTztTQUNaLENBQUMsQ0FBQyxDQUFDO1FBRU4sSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUNwRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLHdJQUF3STtTQUNqTSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxNQUFjLEVBQUUsS0FBYTtRQUNoQyxJQUFJLEtBQUssS0FBSyxLQUFLO1lBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOztZQUV4RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVk7UUFDdkIsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWTtRQUMxQixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFnQjtRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQ2xDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FDNUQsU0FBUyxLQUFLLEVBQUUsQ0FDakIsQ0FBQyxLQUFLLENBQUM7UUFDUixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixnREFBZ0Q7WUFDaEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FDaEMsVUFBVSxFQUNWLElBQUksQ0FBQyxrQkFBa0IsRUFDdkIsS0FBSyxFQUNMLElBQUksQ0FDTCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFlBQVk7YUFDckIsZUFBZSxFQUFFO2FBQ2pCLGVBQWUsRUFBRTthQUNqQixRQUFRLEVBQUU7YUFDVixlQUFlLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7OzRIQTFGVSwrQkFBK0I7Z0hBQS9CLCtCQUErQixvSENiNUMsby9KQW1KQTsyRkR0SWEsK0JBQStCO2tCQUwzQyxTQUFTOytCQUNFLDhCQUE4QjttSUFLL0IsZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUHJldHR5U3ltYm9scyxcbiAgQWN0aXZlVmFyaWFibGUsXG4gIFNjZW5lTWFuYWdlcixcbn0gZnJvbSAncGhvZW5peC1ldmVudC1kaXNwbGF5JztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29sbGVjdGlvbnMtaW5mby1vdmVybGF5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbGxlY3Rpb25zLWluZm8tb3ZlcmxheS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbGxlY3Rpb25zLWluZm8tb3ZlcmxheS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uc0luZm9PdmVybGF5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgc2hvd09iamVjdHNJbmZvOiBib29sZWFuO1xuICBoaWRlSW52aXNpYmxlOiBib29sZWFuO1xuICBjb2xsZWN0aW9uczogc3RyaW5nW107XG4gIHNlbGVjdGVkQ29sbGVjdGlvbjogc3RyaW5nO1xuICBzaG93aW5nQ29sbGVjdGlvbjogYW55O1xuICBjb2xsZWN0aW9uQ29sdW1uczogc3RyaW5nW107XG4gIGdldFByZXR0eVN5bWJvbCA9IFByZXR0eVN5bWJvbHMuZ2V0UHJldHR5U3ltYm9sO1xuICBhY3RpdmVPYmplY3Q6IEFjdGl2ZVZhcmlhYmxlPHN0cmluZz47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgZXZlbnREaXNwbGF5OiBFdmVudERpc3BsYXlTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5saXN0ZW5Ub0Rpc3BsYXllZEV2ZW50Q2hhbmdlKFxuICAgICAgKF9ldmVudCkgPT4gKHRoaXMuY29sbGVjdGlvbnMgPSB0aGlzLmV2ZW50RGlzcGxheS5nZXRDb2xsZWN0aW9ucygpKVxuICAgICk7XG4gICAgdGhpcy5hY3RpdmVPYmplY3QgPSB0aGlzLmV2ZW50RGlzcGxheS5nZXRBY3RpdmVPYmplY3RJZCgpO1xuICAgIHRoaXMuYWN0aXZlT2JqZWN0Lm9uVXBkYXRlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodmFsdWUpKSB7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHZhbHVlKS5zY3JvbGxJbnRvVmlldyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjaGFuZ2VDb2xsZWN0aW9uKHNlbGVjdGVkQ29sbGVjdGlvbjogc3RyaW5nKSB7XG4gICAgY29uc3QgZXZlbnREYXRhR3JvdXAgPSB0aGlzLmdldEV2ZW50RGF0YUdyb3VwKCk7XG4gICAgdGhpcy5zZWxlY3RlZENvbGxlY3Rpb24gPSBzZWxlY3RlZENvbGxlY3Rpb247XG5cbiAgICB0aGlzLnNob3dpbmdDb2xsZWN0aW9uID0gdGhpcy5ldmVudERpc3BsYXlcbiAgICAgIC5nZXRDb2xsZWN0aW9uKHNlbGVjdGVkQ29sbGVjdGlvbilcbiAgICAgIC5tYXAoKG9iamVjdDogYW55KSA9PiAoe1xuICAgICAgICAuLi5vYmplY3QsXG4gICAgICAgIGlzQ3V0OiAhZXZlbnREYXRhR3JvdXAuZ2V0T2JqZWN0QnlQcm9wZXJ0eSgndXVpZCcsIG9iamVjdC51dWlkKVxuICAgICAgICAgID8udmlzaWJsZSxcbiAgICAgIH0pKTtcblxuICAgIHRoaXMuY29sbGVjdGlvbkNvbHVtbnMgPSBPYmplY3Qua2V5cyh0aGlzLnNob3dpbmdDb2xsZWN0aW9uWzBdKS5maWx0ZXIoXG4gICAgICAoY29sdW1uKSA9PiAhWyd1dWlkJywgJ2hpdHMnLCAnaXNDdXQnXS5pbmNsdWRlcyhjb2x1bW4pIC8vIEZJWE1FIC0gdGhpcyBpcyBhbiB1Z2x5IGhhY2suIEJ1dCBjdXJyZW50bHkgaGl0cyBmcm9tIHRyYWNrcyBtYWtlIHRyYWNrIGNvbGxlY3Rpb25zIHVudXNhYmxlLiBCZXR0ZXIgdG8gaGF2ZSBleGx1c2lvbiBsaXN0IHBhc3NlZCBpbi5cbiAgICApO1xuICB9XG5cbiAgc29ydChjb2x1bW46IHN0cmluZywgb3JkZXI6IHN0cmluZykge1xuICAgIGlmIChvcmRlciA9PT0gJ2FzYycpXG4gICAgICB0aGlzLnNob3dpbmdDb2xsZWN0aW9uLnNvcnQoKGEsIGIpID0+IChhW2NvbHVtbl0gPCBiW2NvbHVtbl0gPyAtMSA6IDEpKTtcbiAgICBlbHNlXG4gICAgICB0aGlzLnNob3dpbmdDb2xsZWN0aW9uLnNvcnQoKGEsIGIpID0+IChhW2NvbHVtbl0gPiBiW2NvbHVtbl0gPyAtMSA6IDEpKTtcbiAgfVxuXG4gIGxvb2tBdE9iamVjdCh1dWlkOiBzdHJpbmcpIHtcbiAgICBpZiAodXVpZCkge1xuICAgICAgdGhpcy5hY3RpdmVPYmplY3QudXBkYXRlKHV1aWQpO1xuICAgICAgdGhpcy5ldmVudERpc3BsYXkubG9va0F0T2JqZWN0KHV1aWQpO1xuICAgIH1cbiAgfVxuXG4gIGhpZ2hsaWdodE9iamVjdCh1dWlkOiBzdHJpbmcpIHtcbiAgICBpZiAodXVpZCkge1xuICAgICAgdGhpcy5hY3RpdmVPYmplY3QudXBkYXRlKHV1aWQpO1xuICAgICAgdGhpcy5ldmVudERpc3BsYXkuaGlnaGxpZ2h0T2JqZWN0KHV1aWQpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUludmlzaWJsZShjaGVja2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5oaWRlSW52aXNpYmxlID0gY2hlY2tlZDtcbiAgfVxuXG4gIGFkZExhYmVsKGluZGV4OiBudW1iZXIsIHV1aWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGxhYmVsVmFsdWUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgYCNsYWJlbCR7aW5kZXh9YFxuICAgICkudmFsdWU7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRDb2xsZWN0aW9uKSB7XG4gICAgICAvLyBFbXB0eSBsYWJlbFZhbHVlIHdpbGwgcmVtb3ZlIHRoZSBsYWJlbCBvYmplY3RcbiAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmFkZExhYmVsVG9PYmplY3QoXG4gICAgICAgIGxhYmVsVmFsdWUsXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2xsZWN0aW9uLFxuICAgICAgICBpbmRleCxcbiAgICAgICAgdXVpZFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEV2ZW50RGF0YUdyb3VwKCkge1xuICAgIHJldHVybiB0aGlzLmV2ZW50RGlzcGxheVxuICAgICAgLmdldFRocmVlTWFuYWdlcigpXG4gICAgICAuZ2V0U2NlbmVNYW5hZ2VyKClcbiAgICAgIC5nZXRTY2VuZSgpXG4gICAgICAuZ2V0T2JqZWN0QnlOYW1lKFNjZW5lTWFuYWdlci5FVkVOVF9EQVRBX0lEKTtcbiAgfVxufVxuIiwiPCEtLSBTaG93IG9iamVjdHMgLS0+XG48YXBwLW92ZXJsYXlcbiAgb3ZlcmxheVRpdGxlPVwiQ29sbGVjdGlvbnMgSW5mb1wiXG4gIGljb249XCJpbmZvXCJcbiAgW3Jlc2l6YWJsZV09XCJ0cnVlXCJcbiAgW2FjdGl2ZV09XCJzaG93T2JqZWN0c0luZm9cIlxuPlxuICA8IS0tIFVzaW5nIG5nSWYgdG8gcmVtb3ZlIGl0IGZyb20gRE9NIHNpbmNlIHRoaXMgcGFuZWwgcmVxdWlyZXMgaGVhdnkgY29tcHV0aW5nIC0tPlxuICA8ZGl2ICpuZ0lmPVwic2hvd09iamVjdHNJbmZvXCIgY2xhc3M9XCJjb2xsZWN0aW9uc0luZm8gbS0yXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJjb2xsZWN0aW9uU2VsZWN0b3IgbWItMiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICpuZ0lmPVwiY29sbGVjdGlvbnMgIT0gbnVsbFwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPHNwYW4+Q2hvb3NlIGEgY29sbGVjdGlvbjogPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRTZWxlY3RvclwiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJldmVudFwiPkV2ZW50PC9sYWJlbD5cbiAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICBpZD1cImNvbGxlY3Rpb25cIlxuICAgICAgICAgICAgbmFtZT1cImNvbGxlY3Rpb25cIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VDb2xsZWN0aW9uKCRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCIgc2VsZWN0ZWQgZGlzYWJsZWQgaGlkZGVuPkNob29zZSBDb2xsZWN0aW9uPC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjb2xsZWN0aW9uIG9mIGNvbGxlY3Rpb25zXCIgW3ZhbHVlXT1cImNvbGxlY3Rpb25cIj5cbiAgICAgICAgICAgICAge3sgY29sbGVjdGlvbiB9fVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgKm5nSWY9XCJzaG93aW5nQ29sbGVjdGlvblwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVJbnZpc2libGUoJGV2ZW50LmNoZWNrZWQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIEhpZGUgSW52aXNpYmxlIE9iamVjdHNcbiAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJib3hCb2R5IHRhYmxlLXJlc3BvbnNpdmVcIj5cbiAgICAgIDx0YWJsZVxuICAgICAgICBpZD1cImNvbGxlY3Rpb25UYWJsZVwiXG4gICAgICAgIGNsYXNzPVwidGFibGUgdGFibGUtYm9yZGVybGVzcyB0YWJsZS1zbVwiXG4gICAgICAgICpuZ0lmPVwic2hvd2luZ0NvbGxlY3Rpb25cIlxuICAgICAgPlxuICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoPk5vLjwvdGg+XG4gICAgICAgICAgICA8dGg+U2VsZWN0aW9uPC90aD5cbiAgICAgICAgICAgIDx0aD5MYWJlbDwvdGg+XG4gICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2xsZWN0aW9uQ29sdW1uc1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIHt7IGdldFByZXR0eVN5bWJvbChjb2x1bW4pIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtb3B0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb24td3JhcHBlciBpY29uLWJ1dHRvbiBidG4tYmxhbmsgdXBcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic29ydChjb2x1bW4sICdkZWMnKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzdmc+XG4gICAgICAgICAgICAgICAgICAgICAgPHVzZSBocmVmPVwiYXNzZXRzL2ljb25zL2V4cGFuZC5zdmcjZXhwYW5kXCI+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi13cmFwcGVyIGljb24tYnV0dG9uIGJ0bi1ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzb3J0KGNvbHVtbiwgJ2FzYycpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCJhc3NldHMvaWNvbnMvZXhwYW5kLnN2ZyNleHBhbmRcIj48L3VzZT5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGhlYWQ+XG4gICAgICAgIDx0Ym9keT5cbiAgICAgICAgICA8dHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvYmplY3Qgb2Ygc2hvd2luZ0NvbGxlY3Rpb247IGluZGV4IGFzIGlcIlxuICAgICAgICAgICAgW2F0dHIuaWRdPVwib2JqZWN0LnV1aWRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnYWN0aXZlLW9iamVjdCc6XG4gICAgICAgICAgICAgICAgYWN0aXZlT2JqZWN0ICYmIGFjdGl2ZU9iamVjdC52YWx1ZSA9PT0gb2JqZWN0LnV1aWQsXG4gICAgICAgICAgICAgICdpcy1jdXQnOiBvYmplY3QuaXNDdXQsXG4gICAgICAgICAgICAgICdkLW5vbmUnOiBvYmplY3QuaXNDdXQgJiYgaGlkZUludmlzaWJsZVxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHRkPiN7eyBpIH19PC90ZD5cbiAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwib2JqZWN0LnV1aWRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1jZW50ZXIgaWNvbi13cmFwcGVyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwib2JqZWN0LXNlbGVjdCBidG4tYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIk1vdmUgY2FtZXJhIHRvIG9iamVjdFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwibG9va0F0T2JqZWN0KG9iamVjdC51dWlkKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHN2Zz5cbiAgICAgICAgICAgICAgICAgICAgPHVzZSBocmVmPVwiYXNzZXRzL2ljb25zL3ZpZXdzLnN2ZyN2aWV3c1wiPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvYmplY3Qtc2VsZWN0IGJ0bi1ibGFua1wiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiSGlnaGxpZ2h0IG9iamVjdFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGlnaGxpZ2h0T2JqZWN0KG9iamVjdC51dWlkKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHN2Zz5cbiAgICAgICAgICAgICAgICAgICAgPHVzZSBocmVmPVwiYXNzZXRzL2ljb25zL2N1cnNvci5zdmcjY3Vyc29yXCI+PC91c2U+XG4gICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG0tMCBhZGQtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEwIHAtMFwiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cIidsYWJlbCcgKyBpXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0yIHAtMCBwbC0yIHRleHQtY2VudGVyIGljb24td3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm9iamVjdC1zZWxlY3QgYnRuLWJsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkFkZCwgdXBkYXRlIG9yIHJlbW92ZSBvYmplY3QgbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkTGFiZWwoaSwgb2JqZWN0LnV1aWQpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCJhc3NldHMvaWNvbnMvdXBkYXRlLnN2ZyN1cGRhdGVcIj48L3VzZT5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sbGVjdGlvbkNvbHVtbnNcIj5cbiAgICAgICAgICAgICAge3sgb2JqZWN0W2NvbHVtbl0gfX1cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90Ym9keT5cbiAgICAgIDwvdGFibGU+XG4gICAgICA8cCBjbGFzcz1cImVtcHR5Qm94XCIgKm5nSWY9XCIhY29sbGVjdGlvbnNcIj5cbiAgICAgICAgTG9hZCBldmVudCBkYXRhIHRvIGJlIGFibGUgdG8gZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29sbGVjdGlvbnNcbiAgICAgICAgaGVyZS5cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2FwcC1vdmVybGF5PlxuIl19
@@ -0,0 +1,32 @@
1
+ import { Component } from '@angular/core';
2
+ import { ComponentPortal } from '@angular/cdk/portal';
3
+ import { CollectionsInfoOverlayComponent } from './collections-info-overlay/collections-info-overlay.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/cdk/overlay";
6
+ import * as i2 from "../menu-toggle/menu-toggle.component";
7
+ export class CollectionsInfoComponent {
8
+ constructor(overlay) {
9
+ this.overlay = overlay;
10
+ this.showObjectsInfo = false;
11
+ }
12
+ ngOnInit() {
13
+ const overlayRef = this.overlay.create();
14
+ const overlayPortal = new ComponentPortal(CollectionsInfoOverlayComponent);
15
+ this.overlayWindow = overlayRef.attach(overlayPortal);
16
+ this.overlayWindow.instance.showObjectsInfo = this.showObjectsInfo;
17
+ }
18
+ ngOnDestroy() {
19
+ this.overlayWindow.destroy();
20
+ }
21
+ toggleOverlay() {
22
+ this.showObjectsInfo = !this.showObjectsInfo;
23
+ this.overlayWindow.instance.showObjectsInfo = this.showObjectsInfo;
24
+ }
25
+ }
26
+ CollectionsInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CollectionsInfoComponent, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Component });
27
+ CollectionsInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CollectionsInfoComponent, selector: "app-collections-info", ngImport: i0, 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", styles: [""], components: [{ type: i2.MenuToggleComponent, selector: "app-menu-toggle", inputs: ["icon", "active", "tooltip", "disabled"] }] });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CollectionsInfoComponent, decorators: [{
29
+ type: Component,
30
+ 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", styles: [""] }]
31
+ }], ctorParameters: function () { return [{ type: i1.Overlay }]; } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2NvbGxlY3Rpb25zLWluZm8vY29sbGVjdGlvbnMtaW5mby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2NvbGxlY3Rpb25zLWluZm8vY29sbGVjdGlvbnMtaW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFtQyxNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0RBQStELENBQUM7Ozs7QUFPaEgsTUFBTSxPQUFPLHdCQUF3QjtJQUluQyxZQUFvQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBSHBDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO0lBR2UsQ0FBQztJQUV4QyxRQUFRO1FBQ04sTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN6QyxNQUFNLGFBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNyRSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM3QyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNyRSxDQUFDOztxSEFwQlUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsNERDVnJDLHNLQU9BOzJGREdhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ29tcG9uZW50UmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbGxlY3Rpb25zSW5mb092ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL2NvbGxlY3Rpb25zLWluZm8tb3ZlcmxheS9jb2xsZWN0aW9ucy1pbmZvLW92ZXJsYXkuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvbGxlY3Rpb25zLWluZm8nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sbGVjdGlvbnMtaW5mby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbGxlY3Rpb25zLWluZm8uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sbGVjdGlvbnNJbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBzaG93T2JqZWN0c0luZm8gPSBmYWxzZTtcbiAgb3ZlcmxheVdpbmRvdzogQ29tcG9uZW50UmVmPENvbGxlY3Rpb25zSW5mb092ZXJsYXlDb21wb25lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSgpO1xuICAgIGNvbnN0IG92ZXJsYXlQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKENvbGxlY3Rpb25zSW5mb092ZXJsYXlDb21wb25lbnQpO1xuICAgIHRoaXMub3ZlcmxheVdpbmRvdyA9IG92ZXJsYXlSZWYuYXR0YWNoKG92ZXJsYXlQb3J0YWwpO1xuICAgIHRoaXMub3ZlcmxheVdpbmRvdy5pbnN0YW5jZS5zaG93T2JqZWN0c0luZm8gPSB0aGlzLnNob3dPYmplY3RzSW5mbztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVdpbmRvdy5kZXN0cm95KCk7XG4gIH1cblxuICB0b2dnbGVPdmVybGF5KCkge1xuICAgIHRoaXMuc2hvd09iamVjdHNJbmZvID0gIXRoaXMuc2hvd09iamVjdHNJbmZvO1xuICAgIHRoaXMub3ZlcmxheVdpbmRvdy5pbnN0YW5jZS5zaG93T2JqZWN0c0luZm8gPSB0aGlzLnNob3dPYmplY3RzSW5mbztcbiAgfVxufVxuIiwiPGFwcC1tZW51LXRvZ2dsZVxuICB0b29sdGlwPVwiRXZlbnQgZGF0YSBjb2xsZWN0aW9ucyBpbmZvXCJcbiAgaWNvbj1cImluZm9cIlxuICBbYWN0aXZlXT1cInNob3dPYmplY3RzSW5mb1wiXG4gIChjbGljayk9XCJ0b2dnbGVPdmVybGF5KClcIlxuPlxuPC9hcHAtbWVudS10b2dnbGU+XG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../services/event-display.service";
4
+ import * as i2 from "../menu-toggle/menu-toggle.component";
5
+ export class DarkThemeComponent {
6
+ constructor(eventDisplay) {
7
+ this.eventDisplay = eventDisplay;
8
+ this.darkTheme = false;
9
+ }
10
+ ngOnInit() {
11
+ this.darkTheme = this.eventDisplay.getUIManager().getDarkTheme();
12
+ }
13
+ setDarkTheme() {
14
+ this.darkTheme = !this.darkTheme;
15
+ this.eventDisplay.getUIManager().setDarkTheme(this.darkTheme);
16
+ }
17
+ }
18
+ DarkThemeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DarkThemeComponent, deps: [{ token: i1.EventDisplayService }], target: i0.ɵɵFactoryTarget.Component });
19
+ DarkThemeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: DarkThemeComponent, selector: "app-dark-theme", ngImport: i0, template: "<app-menu-toggle\n tooltip=\"Dark theme\"\n [active]=\"darkTheme\"\n icon=\"dark\"\n (click)=\"setDarkTheme()\"\n>\n</app-menu-toggle>\n", styles: [""], components: [{ type: i2.MenuToggleComponent, selector: "app-menu-toggle", inputs: ["icon", "active", "tooltip", "disabled"] }] });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DarkThemeComponent, decorators: [{
21
+ type: Component,
22
+ 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", styles: [""] }]
23
+ }], ctorParameters: function () { return [{ type: i1.EventDisplayService }]; } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFyay10aGVtZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2RhcmstdGhlbWUvZGFyay10aGVtZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2RhcmstdGhlbWUvZGFyay10aGVtZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBUWxELE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBRnJELGNBQVMsR0FBRyxLQUFLLENBQUM7SUFFc0MsQ0FBQztJQUV6RCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25FLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7OytHQVpVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHNEQ1IvQiw4SUFPQTsyRkRDYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZGFyay10aGVtZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXJrLXRoZW1lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGFyay10aGVtZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEYXJrVGhlbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBkYXJrVGhlbWUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV2ZW50RGlzcGxheTogRXZlbnREaXNwbGF5U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRhcmtUaGVtZSA9IHRoaXMuZXZlbnREaXNwbGF5LmdldFVJTWFuYWdlcigpLmdldERhcmtUaGVtZSgpO1xuICB9XG5cbiAgc2V0RGFya1RoZW1lKCkge1xuICAgIHRoaXMuZGFya1RoZW1lID0gIXRoaXMuZGFya1RoZW1lO1xuICAgIHRoaXMuZXZlbnREaXNwbGF5LmdldFVJTWFuYWdlcigpLnNldERhcmtUaGVtZSh0aGlzLmRhcmtUaGVtZSk7XG4gIH1cbn1cbiIsIjxhcHAtbWVudS10b2dnbGVcbiAgdG9vbHRpcD1cIkRhcmsgdGhlbWVcIlxuICBbYWN0aXZlXT1cImRhcmtUaGVtZVwiXG4gIGljb249XCJkYXJrXCJcbiAgKGNsaWNrKT1cInNldERhcmtUaGVtZSgpXCJcbj5cbjwvYXBwLW1lbnUtdG9nZ2xlPlxuIl19
@@ -0,0 +1,24 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../services/event-display.service";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/material/tooltip";
6
+ export class EventSelectorComponent {
7
+ constructor(eventDisplay) {
8
+ this.eventDisplay = eventDisplay;
9
+ }
10
+ ngOnInit() {
11
+ this.eventDisplay.listenToLoadedEventsChange((events) => (this.events = events));
12
+ }
13
+ changeEvent(selected) {
14
+ const value = selected.target.value;
15
+ this.eventDisplay.loadEvent(value);
16
+ }
17
+ }
18
+ EventSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EventSelectorComponent, deps: [{ token: i1.EventDisplayService }], target: i0.ɵɵFactoryTarget.Component });
19
+ EventSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: EventSelectorComponent, selector: "app-event-selector", ngImport: i0, 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"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EventSelectorComponent, decorators: [{
21
+ type: Component,
22
+ 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"] }]
23
+ }], ctorParameters: function () { return [{ type: i1.EventDisplayService }]; } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvdWktbWVudS9ldmVudC1zZWxlY3Rvci9ldmVudC1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2V2ZW50LXNlbGVjdG9yL2V2ZW50LXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUWxELE1BQU0sT0FBTyxzQkFBc0I7SUFJakMsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO0lBQUcsQ0FBQztJQUV6RCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FDMUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBYTtRQUN2QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDOzttSEFmVSxzQkFBc0I7dUdBQXRCLHNCQUFzQiwwRENSbkMsMFRBWUE7MkZESmEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudERpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXZlbnQtZGlzcGxheS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWV2ZW50LXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V2ZW50LXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZXZlbnQtc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRXZlbnRTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vIEFycmF5IGNvbnRhaW5pbmcgdGhlIGtleXMgb2YgdGhlIG11bHRpcGxlIGxvYWRlZCBldmVudHNcbiAgZXZlbnRzOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV2ZW50RGlzcGxheTogRXZlbnREaXNwbGF5U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5saXN0ZW5Ub0xvYWRlZEV2ZW50c0NoYW5nZShcbiAgICAgIChldmVudHMpID0+ICh0aGlzLmV2ZW50cyA9IGV2ZW50cylcbiAgICApO1xuICB9XG5cbiAgY2hhbmdlRXZlbnQoc2VsZWN0ZWQ6IGFueSkge1xuICAgIGNvbnN0IHZhbHVlID0gc2VsZWN0ZWQudGFyZ2V0LnZhbHVlO1xuICAgIHRoaXMuZXZlbnREaXNwbGF5LmxvYWRFdmVudCh2YWx1ZSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJldmVudFNlbGVjdG9yIG14LTJcIlxuICAqbmdJZj1cImV2ZW50cyAhPSBudWxsXCJcbiAgbWF0VG9vbHRpcD1cIkV2ZW50IHNlbGVjdG9yXCJcbiAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxuPlxuICA8c2VsZWN0IG5hbWU9XCJldmVudFwiIChjaGFuZ2UpPVwiY2hhbmdlRXZlbnQoJGV2ZW50KVwiPlxuICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGV2ZW50IG9mIGV2ZW50c1wiIFt2YWx1ZV09XCJldmVudFwiPlxuICAgICAge3sgZXZlbnQgfX1cbiAgICA8L29wdGlvbj5cbiAgPC9zZWxlY3Q+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../services/event-display.service";
4
+ import * as i2 from "@angular/cdk/drag-drop";
5
+ import * as i3 from "@angular/common";
6
+ export class ExperimentInfoComponent {
7
+ constructor(eventDisplay) {
8
+ this.eventDisplay = eventDisplay;
9
+ }
10
+ ngOnInit() {
11
+ this.eventDisplay.listenToDisplayedEventChange(() => {
12
+ this.experimentInfo = this.eventDisplay.getEventMetadata();
13
+ });
14
+ }
15
+ }
16
+ ExperimentInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ExperimentInfoComponent, deps: [{ token: i1.EventDisplayService }], target: i0.ɵɵFactoryTarget.Component });
17
+ ExperimentInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ExperimentInfoComponent, selector: "app-experiment-info", inputs: { experiment: "experiment", experimentTagline: "experimentTagline" }, ngImport: i0, 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", 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"], directives: [{ type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ExperimentInfoComponent, decorators: [{
19
+ type: Component,
20
+ 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=\"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", 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"] }]
21
+ }], ctorParameters: function () { return [{ type: i1.EventDisplayService }]; }, propDecorators: { experiment: [{
22
+ type: Input
23
+ }], experimentTagline: [{
24
+ type: Input
25
+ }] } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwZXJpbWVudC1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvZXhwZXJpbWVudC1pbmZvL2V4cGVyaW1lbnQtaW5mby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2V4cGVyaW1lbnQtaW5mby9leHBlcmltZW50LWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUXpELE1BQU0sT0FBTyx1QkFBdUI7SUFLbEMsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO0lBQUcsQ0FBQztJQUV6RCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLEVBQUU7WUFDbEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztvSEFYVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qix5SUNScEMsazBCQTRCQTsyRkRwQmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHFCQUFxQjswR0FNdEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZXhwZXJpbWVudC1pbmZvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V4cGVyaW1lbnQtaW5mby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2V4cGVyaW1lbnQtaW5mby5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFeHBlcmltZW50SW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGV4cGVyaW1lbnRJbmZvOiBhbnlbXTtcbiAgQElucHV0KCkgZXhwZXJpbWVudDogc3RyaW5nO1xuICBASW5wdXQoKSBleHBlcmltZW50VGFnbGluZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXZlbnREaXNwbGF5OiBFdmVudERpc3BsYXlTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwbGF5Lmxpc3RlblRvRGlzcGxheWVkRXZlbnRDaGFuZ2UoKCkgPT4ge1xuICAgICAgdGhpcy5leHBlcmltZW50SW5mbyA9IHRoaXMuZXZlbnREaXNwbGF5LmdldEV2ZW50TWV0YWRhdGEoKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBpZD1cImV4cGVyaW1lbnRJbmZvXCIgY2xhc3M9XCJleHBlcmltZW50SW5mb1wiIGNka0RyYWcgY2RrRHJhZ0JvdW5kYXJ5PVwiYm9keVwiPlxuICA8YVxuICAgIGNsYXNzPVwiZXhwZXJpbWVudExvZ29XcmFwcGVyXCJcbiAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICpuZ0lmPVwiZXhwZXJpbWVudFwiXG4gICAgaHJlZj1cImh0dHBzOi8vaG9tZS5jZXJuL3NjaWVuY2UvZXhwZXJpbWVudHMve3sgZXhwZXJpbWVudCB9fVwiXG4gID5cbiAgICA8aW1nXG4gICAgICBjbGFzcz1cImV4cGVyaW1lbnRMb2dvXCJcbiAgICAgIHNyYz1cImFzc2V0cy9pbWFnZXMve3sgZXhwZXJpbWVudCB9fS5zdmdcIlxuICAgICAgYWx0PVwiXCJcbiAgICAvPlxuICA8L2E+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0SW5mb1wiPlxuICAgIDxwICpuZ0lmPVwiZXhwZXJpbWVudFRhZ2xpbmVcIj5cbiAgICAgIDxiPnt7IGV4cGVyaW1lbnRUYWdsaW5lIH19PC9iPlxuICAgIDwvcD5cbiAgICA8cCAqbmdGb3I9XCJsZXQgaW5mb0ZpZWxkIG9mIGV4cGVyaW1lbnRJbmZvXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5mb0ZpZWxkLmxhYmVsXCI+XG4gICAgICAgIDxiPnt7IGluZm9GaWVsZC5sYWJlbCB9fTogPC9iPnt7IGluZm9GaWVsZC52YWx1ZSB9fVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWluZm9GaWVsZC5sYWJlbFwiPlxuICAgICAgICB7eyBpbmZvRmllbGQgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvcD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -29,4 +29,4 @@ export * from './performance-toggle/performance-toggle.component';
29
29
  export * from './ui-menu.component';
30
30
  export * from './share-link/share-link.component';
31
31
  export * from './share-link/share-link-dialog/share-link-dialog.component';
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy91aS1tZW51L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxnRkFBZ0YsQ0FBQztBQUMvRixjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxnRkFBZ0YsQ0FBQztBQUMvRixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNERBQTRELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FuaW1hdGUtY2FtZXJhL2FuaW1hdGUtY2FtZXJhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FuaW1hdGUtZXZlbnQvYW5pbWF0ZS1ldmVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRvLXJvdGF0ZS9hdXRvLXJvdGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsZWN0aW9ucy1pbmZvL2NvbGxlY3Rpb25zLWluZm8uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29sbGVjdGlvbnMtaW5mby9jb2xsZWN0aW9ucy1pbmZvLW92ZXJsYXkvY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RhcmstdGhlbWUvZGFyay10aGVtZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ldmVudC1zZWxlY3Rvci9ldmVudC1zZWxlY3Rvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9leHBlcmltZW50LWluZm8vZXhwZXJpbWVudC1pbmZvLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2luZm8tcGFuZWwvaW5mby1wYW5lbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmZvLXBhbmVsL2luZm8tcGFuZWwtb3ZlcmxheS9pbmZvLXBhbmVsLW92ZXJsYXkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW8tb3B0aW9ucy9pby1vcHRpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2lvLW9wdGlvbnMvaW8tb3B0aW9ucy1kaWFsb2cvaW8tb3B0aW9ucy1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWFpbi12aWV3LXRvZ2dsZS9tYWluLXZpZXctdG9nZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtdG9nZ2xlL21lbnUtdG9nZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL29iamVjdC1jbGlwcGluZy9vYmplY3QtY2xpcHBpbmcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vb2JqZWN0LXNlbGVjdGlvbi9vYmplY3Qtc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL29iamVjdC1zZWxlY3Rpb24vb2JqZWN0LXNlbGVjdGlvbi1vdmVybGF5L29iamVjdC1zZWxlY3Rpb24tb3ZlcmxheS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vb3ZlcmxheS12aWV3L292ZXJsYXktdmlldy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9vdmVybGF5LXZpZXcvb3ZlcmxheS12aWV3LXdpbmRvdy9vdmVybGF5LXZpZXctd2luZG93LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUtbWVudS90cmVlLW1lbnUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdHJlZS1tZW51L3RyZWUtbWVudS1pdGVtL3RyZWUtbWVudS1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXctb3B0aW9ucy92aWV3LW9wdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdnItdG9nZ2xlL3ZyLXRvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hci10b2dnbGUvYXItdG9nZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3pvb20tY29udHJvbHMvem9vbS1jb250cm9scy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcy1tb2RlL3NzLW1vZGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGVyZm9ybWFuY2UtdG9nZ2xlL3BlcmZvcm1hbmNlLXRvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91aS1tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlLWxpbmsvc2hhcmUtbGluay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZS1saW5rL3NoYXJlLWxpbmstZGlhbG9nL3NoYXJlLWxpbmstZGlhbG9nLmNvbXBvbmVudCc7XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxnRkFBZ0YsQ0FBQztBQUMvRixjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxnRkFBZ0YsQ0FBQztBQUMvRixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNERBQTRELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FuaW1hdGUtY2FtZXJhL2FuaW1hdGUtY2FtZXJhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FuaW1hdGUtZXZlbnQvYW5pbWF0ZS1ldmVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRvLXJvdGF0ZS9hdXRvLXJvdGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsZWN0aW9ucy1pbmZvL2NvbGxlY3Rpb25zLWluZm8uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29sbGVjdGlvbnMtaW5mby9jb2xsZWN0aW9ucy1pbmZvLW92ZXJsYXkvY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RhcmstdGhlbWUvZGFyay10aGVtZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ldmVudC1zZWxlY3Rvci9ldmVudC1zZWxlY3Rvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9leHBlcmltZW50LWluZm8vZXhwZXJpbWVudC1pbmZvLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2luZm8tcGFuZWwvaW5mby1wYW5lbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmZvLXBhbmVsL2luZm8tcGFuZWwtb3ZlcmxheS9pbmZvLXBhbmVsLW92ZXJsYXkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW8tb3B0aW9ucy9pby1vcHRpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2lvLW9wdGlvbnMvaW8tb3B0aW9ucy1kaWFsb2cvaW8tb3B0aW9ucy1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWFpbi12aWV3LXRvZ2dsZS9tYWluLXZpZXctdG9nZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtdG9nZ2xlL21lbnUtdG9nZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL29iamVjdC1jbGlwcGluZy9vYmplY3QtY2xpcHBpbmcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vb2JqZWN0LXNlbGVjdGlvbi9vYmplY3Qtc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL29iamVjdC1zZWxlY3Rpb24vb2JqZWN0LXNlbGVjdGlvbi1vdmVybGF5L29iamVjdC1zZWxlY3Rpb24tb3ZlcmxheS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vb3ZlcmxheS12aWV3L292ZXJsYXktdmlldy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9vdmVybGF5LXZpZXcvb3ZlcmxheS12aWV3LXdpbmRvdy9vdmVybGF5LXZpZXctd2luZG93LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUtbWVudS90cmVlLW1lbnUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdHJlZS1tZW51L3RyZWUtbWVudS1pdGVtL3RyZWUtbWVudS1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXctb3B0aW9ucy92aWV3LW9wdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdnItdG9nZ2xlL3ZyLXRvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hci10b2dnbGUvYXItdG9nZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3pvb20tY29udHJvbHMvem9vbS1jb250cm9scy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcy1tb2RlL3NzLW1vZGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGVyZm9ybWFuY2UtdG9nZ2xlL3BlcmZvcm1hbmNlLXRvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91aS1tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlLWxpbmsvc2hhcmUtbGluay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZS1saW5rL3NoYXJlLWxpbmstZGlhbG9nL3NoYXJlLWxpbmstZGlhbG9nLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,37 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import packageJson from 'phoenix-event-display/package.json';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../../services/event-display.service";
5
+ import * as i2 from "../../overlay/overlay.component";
6
+ import * as i3 from "@angular/common";
7
+ /**
8
+ * Component for displaying information from the logger
9
+ */
10
+ export class InfoPanelOverlayComponent {
11
+ /**
12
+ * Create the information panel overlay
13
+ * @param infoLogger Service containing operations related to info logs
14
+ */
15
+ constructor(eventDisplay) {
16
+ this.eventDisplay = eventDisplay;
17
+ /** List of actions to be displayed in the info panel */
18
+ this.actionsList = [];
19
+ /** Get Phoenix Version */
20
+ this.version = packageJson.version;
21
+ }
22
+ /**
23
+ * Get the list of logs from the info logger service
24
+ */
25
+ ngOnInit() {
26
+ this.actionsList = this.eventDisplay.getInfoLogger().getInfoLoggerList();
27
+ }
28
+ }
29
+ InfoPanelOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: InfoPanelOverlayComponent, deps: [{ token: i1.EventDisplayService }], target: i0.ɵɵFactoryTarget.Component });
30
+ InfoPanelOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: InfoPanelOverlayComponent, selector: "app-info-panel-overlay", inputs: { showInfoPanel: "showInfoPanel" }, ngImport: i0, 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"], components: [{ type: i2.OverlayComponent, selector: "app-overlay", inputs: ["overlayTitle", "active", "icon", "resizable", "transparentBody"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: InfoPanelOverlayComponent, decorators: [{
32
+ type: Component,
33
+ 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"] }]
34
+ }], ctorParameters: function () { return [{ type: i1.EventDisplayService }]; }, propDecorators: { showInfoPanel: [{
35
+ type: Input
36
+ }] } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1wYW5lbC1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvaW5mby1wYW5lbC9pbmZvLXBhbmVsLW92ZXJsYXkvaW5mby1wYW5lbC1vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvaW5mby1wYW5lbC9pbmZvLXBhbmVsLW92ZXJsYXkvaW5mby1wYW5lbC1vdmVybGF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sV0FBVyxNQUFNLG9DQUFvQyxDQUFDOzs7OztBQUU3RDs7R0FFRztBQU1ILE1BQU0sT0FBTyx5QkFBeUI7SUFRcEM7OztPQUdHO0lBQ0gsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBVHJELHdEQUF3RDtRQUN4RCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQiwwQkFBMEI7UUFDMUIsWUFBTyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFNMEIsQ0FBQztJQUV6RDs7T0FFRztJQUNILFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzRSxDQUFDOztzSEFuQlUseUJBQXlCOzBHQUF6Qix5QkFBeUIsMEdDWnRDLHFpQkFtQkE7MkZEUGEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHdCQUF3QjswR0FNekIsYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5pbXBvcnQgcGFja2FnZUpzb24gZnJvbSAncGhvZW5peC1ldmVudC1kaXNwbGF5L3BhY2thZ2UuanNvbic7XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBkaXNwbGF5aW5nIGluZm9ybWF0aW9uIGZyb20gdGhlIGxvZ2dlclxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaW5mby1wYW5lbC1vdmVybGF5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2luZm8tcGFuZWwtb3ZlcmxheS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2luZm8tcGFuZWwtb3ZlcmxheS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbmZvUGFuZWxPdmVybGF5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqIEBpZ25vcmUgKi9cbiAgQElucHV0KCkgc2hvd0luZm9QYW5lbDogYm9vbGVhbjtcbiAgLyoqIExpc3Qgb2YgYWN0aW9ucyB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIGluZm8gcGFuZWwgKi9cbiAgYWN0aW9uc0xpc3QgPSBbXTtcbiAgLyoqIEdldCBQaG9lbml4IFZlcnNpb24gKi9cbiAgdmVyc2lvbiA9IHBhY2thZ2VKc29uLnZlcnNpb247XG5cbiAgLyoqXG4gICAqIENyZWF0ZSB0aGUgaW5mb3JtYXRpb24gcGFuZWwgb3ZlcmxheVxuICAgKiBAcGFyYW0gaW5mb0xvZ2dlciBTZXJ2aWNlIGNvbnRhaW5pbmcgb3BlcmF0aW9ucyByZWxhdGVkIHRvIGluZm8gbG9nc1xuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiBsb2dzIGZyb20gdGhlIGluZm8gbG9nZ2VyIHNlcnZpY2VcbiAgICovXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYWN0aW9uc0xpc3QgPSB0aGlzLmV2ZW50RGlzcGxheS5nZXRJbmZvTG9nZ2VyKCkuZ2V0SW5mb0xvZ2dlckxpc3QoKTtcbiAgfVxufVxuIiwiPGFwcC1vdmVybGF5XG4gIG92ZXJsYXlUaXRsZT1cIkluZm8gUGFuZWxcIlxuICBpY29uPVwiaW5mby1wYW5lbFwiXG4gIFtyZXNpemFibGVdPVwidHJ1ZVwiXG4gIFthY3RpdmVdPVwic2hvd0luZm9QYW5lbFwiXG4+XG4gIDx1bCBjbGFzcz1cImxpc3QtZ3JvdXAgbGlzdC1ncm91cC1mbHVzaFwiPlxuICAgIDxsaSBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbVwiPlxuICAgICAgPCEtLSBTaG93IFBob2VuaXggQ3VycmVudCBWZXJzaW9uIChPTiBieSBEZWZhdWx0KSAtLT5cbiAgICAgIFBob2VuaXggVmVyc2lvbjoge3sgdmVyc2lvbiB9fVxuICAgIDwvbGk+XG4gICAgPGxpIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtXCIgKm5nSWY9XCJhY3Rpb25zTGlzdC5sZW5ndGggPT09IDBcIj5cbiAgICAgIE5vIGFjdGlvbnMuXG4gICAgPC9saT5cbiAgICA8bGkgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW1cIiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGFjdGlvbnNMaXN0XCI+XG4gICAgICB7eyBhY3Rpb24gfX1cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9hcHAtb3ZlcmxheT5cbiJdfQ==