phoenix-ui-components 2.1.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +4 -1
  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 +7 -6
  100. package/dist/bundles/phoenix-ui-components.umd.js +0 -2133
  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 -45
  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 -1606
  147. package/dist/fesm2015/phoenix-ui-components.js.map +0 -1
  148. package/dist/phoenix-ui-components.metadata.json +0 -1
@@ -1,77 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { SceneManager } from 'phoenix-event-display';
3
- import { EventDisplayService } from '../../../services/event-display.service';
4
- export const defaultAnimationPresets = {
5
- 'Preset 1': {
6
- positions: [
7
- {
8
- position: [11976, 7262, 11927],
9
- duration: 1000,
10
- },
11
- {
12
- position: [-1000, 0, 11927],
13
- duration: 2000,
14
- },
15
- {
16
- position: [2000, 500, 1000],
17
- duration: 3500,
18
- },
19
- {
20
- position: [5000, 2000, 1000],
21
- duration: 3000,
22
- },
23
- {
24
- position: [5000, 2000, 1000],
25
- duration: 2000,
26
- },
27
- {
28
- position: [11976, 7262, 11927],
29
- duration: 1000,
30
- },
31
- ],
32
- animateEventAfterInterval: 5000,
33
- collisionDuration: 6000,
34
- },
35
- };
36
- export class AnimateCameraComponent {
37
- constructor(eventDisplay) {
38
- this.eventDisplay = eventDisplay;
39
- this.animationPresets = defaultAnimationPresets;
40
- this.animationPresetsKeys = Object.keys(this.animationPresets);
41
- this.isAnimating = false;
42
- }
43
- animatePreset(preset) {
44
- this.setDetectorOpacity(0.2);
45
- this.eventDisplay.animatePreset(this.animationPresets[preset], () => {
46
- this.setDetectorOpacity(1);
47
- });
48
- }
49
- animateCamera() {
50
- if (!this.isAnimating) {
51
- this.isAnimating = true;
52
- this.eventDisplay.animateThroughEvent([11976, 7262, 11927], 3000, () => {
53
- this.isAnimating = false;
54
- });
55
- }
56
- }
57
- setDetectorOpacity(opacity) {
58
- this.eventDisplay
59
- .getThreeManager()
60
- .getSceneManager()
61
- .setGeometryOpacity(SceneManager.GEOMETRIES_ID, opacity);
62
- }
63
- }
64
- AnimateCameraComponent.decorators = [
65
- { type: Component, args: [{
66
- selector: 'app-animate-camera',
67
- template: "<mat-menu #animationPresets>\n <button\n mat-menu-item\n *ngFor=\"let preset of animationPresetsKeys\"\n (click)=\"animatePreset(preset)\"\n >\n {{ preset }}\n </button>\n <button mat-menu-item (click)=\"animateCamera()\">Animate camera</button>\n</mat-menu>\n\n<app-menu-toggle\n [matMenuTriggerFor]=\"animationPresets\"\n tooltip=\"Preset animations\"\n icon=\"animate-camera\"\n>\n</app-menu-toggle>\n",
68
- styles: [""]
69
- },] }
70
- ];
71
- AnimateCameraComponent.ctorParameters = () => [
72
- { type: EventDisplayService }
73
- ];
74
- AnimateCameraComponent.propDecorators = {
75
- animationPresets: [{ type: Input }]
76
- };
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZS1jYW1lcmEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdWktbWVudS9hbmltYXRlLWNhbWVyYS9hbmltYXRlLWNhbWVyYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFtQixZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU5RSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FFaEM7SUFDRixVQUFVLEVBQUU7UUFDVixTQUFTLEVBQUU7WUFDVDtnQkFDRSxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztnQkFDOUIsUUFBUSxFQUFFLElBQUk7YUFDZjtZQUNEO2dCQUNFLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUM7Z0JBQzNCLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRDtnQkFDRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztnQkFDM0IsUUFBUSxFQUFFLElBQUk7YUFDZjtZQUNEO2dCQUNFLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO2dCQUM1QixRQUFRLEVBQUUsSUFBSTthQUNmO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7Z0JBQzVCLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRDtnQkFDRSxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztnQkFDOUIsUUFBUSxFQUFFLElBQUk7YUFDZjtTQUNGO1FBQ0QseUJBQXlCLEVBQUUsSUFBSTtRQUMvQixpQkFBaUIsRUFBRSxJQUFJO0tBQ3hCO0NBQ0YsQ0FBQztBQU9GLE1BQU0sT0FBTyxzQkFBc0I7SUFLakMsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBSjVDLHFCQUFnQixHQUFHLHVCQUF1QixDQUFDO1FBQ3BELHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDMUQsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFFb0MsQ0FBQztJQUV6RCxhQUFhLENBQUMsTUFBYztRQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRTtZQUNsRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ3JFLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsT0FBZTtRQUN4QyxJQUFJLENBQUMsWUFBWTthQUNkLGVBQWUsRUFBRTthQUNqQixlQUFlLEVBQUU7YUFDakIsa0JBQWtCLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs7WUFqQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLG1iQUE4Qzs7YUFFL0M7OztZQXpDUSxtQkFBbUI7OzsrQkEyQ3pCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmltYXRpb25QcmVzZXQsIFNjZW5lTWFuYWdlciB9IGZyb20gJ3Bob2VuaXgtZXZlbnQtZGlzcGxheSc7XG5pbXBvcnQgeyBFdmVudERpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXZlbnQtZGlzcGxheS5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRBbmltYXRpb25QcmVzZXRzOiB7XG4gIFtrZXk6IHN0cmluZ106IEFuaW1hdGlvblByZXNldDtcbn0gPSB7XG4gICdQcmVzZXQgMSc6IHtcbiAgICBwb3NpdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgcG9zaXRpb246IFsxMTk3NiwgNzI2MiwgMTE5MjddLFxuICAgICAgICBkdXJhdGlvbjogMTAwMCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBvc2l0aW9uOiBbLTEwMDAsIDAsIDExOTI3XSxcbiAgICAgICAgZHVyYXRpb246IDIwMDAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwb3NpdGlvbjogWzIwMDAsIDUwMCwgMTAwMF0sXG4gICAgICAgIGR1cmF0aW9uOiAzNTAwLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcG9zaXRpb246IFs1MDAwLCAyMDAwLCAxMDAwXSxcbiAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwb3NpdGlvbjogWzUwMDAsIDIwMDAsIDEwMDBdLFxuICAgICAgICBkdXJhdGlvbjogMjAwMCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBvc2l0aW9uOiBbMTE5NzYsIDcyNjIsIDExOTI3XSxcbiAgICAgICAgZHVyYXRpb246IDEwMDAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgYW5pbWF0ZUV2ZW50QWZ0ZXJJbnRlcnZhbDogNTAwMCxcbiAgICBjb2xsaXNpb25EdXJhdGlvbjogNjAwMCxcbiAgfSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hbmltYXRlLWNhbWVyYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmltYXRlLWNhbWVyYS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FuaW1hdGUtY2FtZXJhLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFuaW1hdGVDYW1lcmFDb21wb25lbnQge1xuICBASW5wdXQoKSBhbmltYXRpb25QcmVzZXRzID0gZGVmYXVsdEFuaW1hdGlvblByZXNldHM7XG4gIGFuaW1hdGlvblByZXNldHNLZXlzID0gT2JqZWN0LmtleXModGhpcy5hbmltYXRpb25QcmVzZXRzKTtcbiAgaXNBbmltYXRpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV2ZW50RGlzcGxheTogRXZlbnREaXNwbGF5U2VydmljZSkge31cblxuICBhbmltYXRlUHJlc2V0KHByZXNldDogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXREZXRlY3Rvck9wYWNpdHkoMC4yKTtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5hbmltYXRlUHJlc2V0KHRoaXMuYW5pbWF0aW9uUHJlc2V0c1twcmVzZXRdLCAoKSA9PiB7XG4gICAgICB0aGlzLnNldERldGVjdG9yT3BhY2l0eSgxKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFuaW1hdGVDYW1lcmEoKSB7XG4gICAgaWYgKCF0aGlzLmlzQW5pbWF0aW5nKSB7XG4gICAgICB0aGlzLmlzQW5pbWF0aW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmFuaW1hdGVUaHJvdWdoRXZlbnQoWzExOTc2LCA3MjYyLCAxMTkyN10sIDMwMDAsICgpID0+IHtcbiAgICAgICAgdGhpcy5pc0FuaW1hdGluZyA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXREZXRlY3Rvck9wYWNpdHkob3BhY2l0eTogbnVtYmVyKSB7XG4gICAgdGhpcy5ldmVudERpc3BsYXlcbiAgICAgIC5nZXRUaHJlZU1hbmFnZXIoKVxuICAgICAgLmdldFNjZW5lTWFuYWdlcigpXG4gICAgICAuc2V0R2VvbWV0cnlPcGFjaXR5KFNjZW5lTWFuYWdlci5HRU9NRVRSSUVTX0lELCBvcGFjaXR5KTtcbiAgfVxufVxuIl19
@@ -1,27 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { EventDisplayService } from '../../../services/event-display.service';
3
- export class AnimateEventComponent {
4
- constructor(eventDisplay) {
5
- this.eventDisplay = eventDisplay;
6
- this.isAnimating = false;
7
- }
8
- toggleAnimateEvent() {
9
- if (!this.isAnimating) {
10
- this.isAnimating = true;
11
- this.eventDisplay.animateEventWithCollision(10000, () => {
12
- this.isAnimating = false;
13
- });
14
- }
15
- }
16
- }
17
- AnimateEventComponent.decorators = [
18
- { type: Component, args: [{
19
- selector: 'app-animate-event',
20
- template: "<app-menu-toggle\n tooltip=\"Animate event\"\n icon=\"event-folder\"\n [active]=\"isAnimating\"\n (click)=\"toggleAnimateEvent()\"\n>\n</app-menu-toggle>\n",
21
- styles: [""]
22
- },] }
23
- ];
24
- AnimateEventComponent.ctorParameters = () => [
25
- { type: EventDisplayService }
26
- ];
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZS1ldmVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy91aS1tZW51L2FuaW1hdGUtZXZlbnQvYW5pbWF0ZS1ldmVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQU85RSxNQUFNLE9BQU8scUJBQXFCO0lBR2hDLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUZyRCxnQkFBVyxHQUFZLEtBQUssQ0FBQztJQUUyQixDQUFDO0lBRXpELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7WUFqQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLDJLQUE2Qzs7YUFFOUM7OztZQU5RLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hbmltYXRlLWV2ZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FuaW1hdGUtZXZlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbmltYXRlLWV2ZW50LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFuaW1hdGVFdmVudENvbXBvbmVudCB7XG4gIGlzQW5pbWF0aW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHt9XG5cbiAgdG9nZ2xlQW5pbWF0ZUV2ZW50KCkge1xuICAgIGlmICghdGhpcy5pc0FuaW1hdGluZykge1xuICAgICAgdGhpcy5pc0FuaW1hdGluZyA9IHRydWU7XG4gICAgICB0aGlzLmV2ZW50RGlzcGxheS5hbmltYXRlRXZlbnRXaXRoQ29sbGlzaW9uKDEwMDAwLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNBbmltYXRpbmcgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,45 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { EventDisplayService } from '../../../services/event-display.service';
3
- import { ARManager, XRSessionType } from 'phoenix-event-display';
4
- export class ArToggleComponent {
5
- constructor(eventDisplay) {
6
- var _a, _b;
7
- this.eventDisplay = eventDisplay;
8
- this.arSupported = false;
9
- this.arActive = false;
10
- // NOTE: WebXR needs secure HTTPS context
11
- if ('xr' in navigator) {
12
- (_b = (_a = navigator.xr) === null || _a === void 0 ? void 0 : _a.isSessionSupported) === null || _b === void 0 ? void 0 : _b.call(_a, ARManager.SESSION_TYPE).then((supported) => {
13
- if (supported) {
14
- this.arSupported = true;
15
- }
16
- });
17
- } // else AR not supported
18
- }
19
- toggleAr() {
20
- // If toggling AR on
21
- if (!this.arActive) {
22
- this.eventDisplay.initXR(XRSessionType.AR, () => {
23
- this.arActive = false;
24
- // Disable renderer XR and remove animation loop
25
- this.eventDisplay.endXR(XRSessionType.AR);
26
- });
27
- this.arActive = true;
28
- }
29
- else {
30
- this.eventDisplay.endXR(XRSessionType.AR);
31
- this.arActive = false;
32
- }
33
- }
34
- }
35
- ArToggleComponent.decorators = [
36
- { type: Component, args: [{
37
- selector: 'app-ar-toggle',
38
- template: "<app-menu-toggle\n [disabled]=\"!arSupported\"\n [active]=\"arActive\"\n icon=\"ar\"\n (click)=\"arSupported && toggleAr()\"\n [tooltip]=\"\n arSupported ? (arActive ? 'Exit AR' : 'Enter AR') : 'AR not supported'\n \"\n>\n</app-menu-toggle>\n",
39
- styles: [""]
40
- },] }
41
- ];
42
- ArToggleComponent.ctorParameters = () => [
43
- { type: EventDisplayService }
44
- ];
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXItdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3VpLW1lbnUvYXItdG9nZ2xlL2FyLXRvZ2dsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBT2pFLE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsWUFBb0IsWUFBaUM7O1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUhyRCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBR3hCLHlDQUF5QztRQUN6QyxJQUFJLElBQUksSUFBSSxTQUFTLEVBQUU7WUFDckIsTUFBQSxNQUFDLFNBQWlCLENBQUMsRUFBRSwwQ0FDakIsa0JBQWtCLG1EQUFHLFNBQVMsQ0FBQyxZQUFZLEVBQzVDLElBQUksQ0FBQyxDQUFDLFNBQWtCLEVBQUUsRUFBRTtnQkFDM0IsSUFBSSxTQUFTLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7aUJBQ3pCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDTixDQUFDLHdCQUF3QjtJQUM1QixDQUFDO0lBRUQsUUFBUTtRQUNOLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRTtnQkFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLGdEQUFnRDtnQkFDaEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDdEI7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjtJQUNILENBQUM7OztZQW5DRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLHVRQUF5Qzs7YUFFMUM7OztZQVBRLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5pbXBvcnQgeyBBUk1hbmFnZXIsIFhSU2Vzc2lvblR5cGUgfSBmcm9tICdwaG9lbml4LWV2ZW50LWRpc3BsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYXItdG9nZ2xlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FyLXRvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FyLXRvZ2dsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBclRvZ2dsZUNvbXBvbmVudCB7XG4gIGFyU3VwcG9ydGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGFyQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHtcbiAgICAvLyBOT1RFOiBXZWJYUiBuZWVkcyBzZWN1cmUgSFRUUFMgY29udGV4dFxuICAgIGlmICgneHInIGluIG5hdmlnYXRvcikge1xuICAgICAgKG5hdmlnYXRvciBhcyBhbnkpLnhyXG4gICAgICAgID8uaXNTZXNzaW9uU3VwcG9ydGVkPy4oQVJNYW5hZ2VyLlNFU1NJT05fVFlQRSlcbiAgICAgICAgLnRoZW4oKHN1cHBvcnRlZDogYm9vbGVhbikgPT4ge1xuICAgICAgICAgIGlmIChzdXBwb3J0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYXJTdXBwb3J0ZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSAvLyBlbHNlIEFSIG5vdCBzdXBwb3J0ZWRcbiAgfVxuXG4gIHRvZ2dsZUFyKCkge1xuICAgIC8vIElmIHRvZ2dsaW5nIEFSIG9uXG4gICAgaWYgKCF0aGlzLmFyQWN0aXZlKSB7XG4gICAgICB0aGlzLmV2ZW50RGlzcGxheS5pbml0WFIoWFJTZXNzaW9uVHlwZS5BUiwgKCkgPT4ge1xuICAgICAgICB0aGlzLmFyQWN0aXZlID0gZmFsc2U7XG4gICAgICAgIC8vIERpc2FibGUgcmVuZGVyZXIgWFIgYW5kIHJlbW92ZSBhbmltYXRpb24gbG9vcFxuICAgICAgICB0aGlzLmV2ZW50RGlzcGxheS5lbmRYUihYUlNlc3Npb25UeXBlLkFSKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5hckFjdGl2ZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmVuZFhSKFhSU2Vzc2lvblR5cGUuQVIpO1xuICAgICAgdGhpcy5hckFjdGl2ZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,23 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { EventDisplayService } from '../../../services/event-display.service';
3
- export class AutoRotateComponent {
4
- constructor(eventDisplay) {
5
- this.eventDisplay = eventDisplay;
6
- this.autoRotate = false;
7
- }
8
- toggleAutoRotate() {
9
- this.autoRotate = !this.autoRotate;
10
- this.eventDisplay.getUIManager().setAutoRotate(this.autoRotate);
11
- }
12
- }
13
- AutoRotateComponent.decorators = [
14
- { type: Component, args: [{
15
- selector: 'app-auto-rotate',
16
- template: "<app-menu-toggle\n tooltip=\"Auto rotate\"\n icon=\"rotate\"\n [active]=\"autoRotate\"\n (click)=\"toggleAutoRotate()\"\n>\n</app-menu-toggle>\n",
17
- styles: [""]
18
- },] }
19
- ];
20
- AutoRotateComponent.ctorParameters = () => [
21
- { type: EventDisplayService }
22
- ];
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1yb3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdWktbWVudS9hdXRvLXJvdGF0ZS9hdXRvLXJvdGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQU85RSxNQUFNLE9BQU8sbUJBQW1CO0lBRzlCLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUZyRCxlQUFVLEdBQUcsS0FBSyxDQUFDO0lBRXFDLENBQUM7SUFFekQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7OztZQWJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixnS0FBMkM7O2FBRTVDOzs7WUFOUSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYXV0by1yb3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0by1yb3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRvLXJvdGF0ZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvUm90YXRlQ29tcG9uZW50IHtcbiAgYXV0b1JvdGF0ZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXZlbnREaXNwbGF5OiBFdmVudERpc3BsYXlTZXJ2aWNlKSB7fVxuXG4gIHRvZ2dsZUF1dG9Sb3RhdGUoKSB7XG4gICAgdGhpcy5hdXRvUm90YXRlID0gIXRoaXMuYXV0b1JvdGF0ZTtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5nZXRVSU1hbmFnZXIoKS5zZXRBdXRvUm90YXRlKHRoaXMuYXV0b1JvdGF0ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,61 +0,0 @@
1
- import { Component, Input, ElementRef } from '@angular/core';
2
- import { PrettySymbols } from 'phoenix-event-display';
3
- import { EventDisplayService } from '../../../../services/event-display.service';
4
- export class CollectionsInfoOverlayComponent {
5
- constructor(elementRef, eventDisplay) {
6
- this.elementRef = elementRef;
7
- this.eventDisplay = eventDisplay;
8
- }
9
- ngOnInit() {
10
- this.eventDisplay.listenToDisplayedEventChange((event) => (this.collections = this.eventDisplay.getCollections()));
11
- this.activeObject = this.eventDisplay.getActiveObjectId();
12
- this.activeObject.onUpdate((value) => {
13
- if (document.getElementById(value)) {
14
- document.getElementById(value).scrollIntoView(false);
15
- }
16
- });
17
- }
18
- changeCollection(selected) {
19
- const value = selected.target.value;
20
- this.selectedCollection = value;
21
- this.showingCollection = this.eventDisplay
22
- .getCollection(value)
23
- .map(PrettySymbols.getPrettyParams);
24
- this.collectionColumns = Object.keys(this.showingCollection[0]).filter((column) => column !== 'uuid' && column !== 'hits' // FIXME - this is an ugly hack. But currently hits from tracks make track collections unusable. Better to have exlusion list passed in.
25
- );
26
- }
27
- lookAtObject(uuid) {
28
- if (uuid) {
29
- this.activeObject.update(uuid);
30
- this.eventDisplay.lookAtObject(uuid);
31
- }
32
- }
33
- highlightObject(uuid) {
34
- if (uuid) {
35
- this.activeObject.update(uuid);
36
- this.eventDisplay.highlightObject(uuid);
37
- }
38
- }
39
- addLabel(index, uuid) {
40
- const labelValue = this.elementRef.nativeElement.querySelector(`#label${index}`).value;
41
- if (this.selectedCollection) {
42
- // Empty labelValue will remove the label object
43
- this.eventDisplay.addLabelToObject(labelValue, this.selectedCollection, index, uuid);
44
- }
45
- }
46
- }
47
- CollectionsInfoOverlayComponent.decorators = [
48
- { type: Component, args: [{
49
- selector: 'app-collections-info-overlay',
50
- template: "<!-- Show objects -->\n<app-overlay\n overlayTitle=\"Collections Info\"\n icon=\"info\"\n [resizable]=\"true\"\n [active]=\"showObjectsInfo\"\n>\n <!-- Using ngIf to remove it from DOM since this panel requires heavy computing -->\n <div *ngIf=\"showObjectsInfo\" class=\"collectionsInfo m-2\">\n <div\n class=\"collectionSelector mb-2 d-flex align-items-center\"\n *ngIf=\"collections != null\"\n >\n <span>Choose a collection: </span>\n <div class=\"eventSelector\">\n <label for=\"event\">Event</label>\n <select\n id=\"collection\"\n name=\"collection\"\n (change)=\"changeCollection($event)\"\n >\n <option value=\"\" selected disabled hidden>Choose Collection</option>\n <option *ngFor=\"let collection of collections\" [value]=\"collection\">\n {{ collection }}\n </option>\n </select>\n </div>\n </div>\n\n <div class=\"boxBody table-responsive\">\n <table\n id=\"collectionTable\"\n class=\"table table-borderless table-sm\"\n *ngIf=\"showingCollection\"\n >\n <thead>\n <tr>\n <th>No.</th>\n <th>Selection</th>\n <th>Label</th>\n <th *ngFor=\"let column of collectionColumns\">{{ column }}</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let object of showingCollection; index as i\"\n [attr.id]=\"object.uuid\"\n [ngClass]=\"{\n 'active-object':\n activeObject && activeObject.value === object.uuid\n }\"\n >\n <td>#{{ i }}</td>\n <td>\n <div\n *ngIf=\"object.uuid\"\n class=\"row justify-content-center icon-wrapper\"\n >\n <div\n class=\"object-select\"\n matTooltip=\"Move camera to object\"\n (click)=\"lookAtObject(object.uuid)\"\n >\n <svg>\n <use href=\"assets/icons/views.svg#views\"></use>\n </svg>\n </div>\n <div\n class=\"object-select\"\n matTooltip=\"Highlight object\"\n (click)=\"highlightObject(object.uuid)\"\n >\n <svg>\n <use href=\"assets/icons/cursor.svg#cursor\"></use>\n </svg>\n </div>\n </div>\n </td>\n <td>\n <div class=\"row m-0 add-label\">\n <div class=\"col-10 p-0\">\n <input\n class=\"form-control form-control-sm\"\n type=\"text\"\n [id]=\"'label' + i\"\n />\n </div>\n <div class=\"col-2 p-0 pl-2 text-center icon-wrapper\">\n <div\n class=\"object-select\"\n matTooltip=\"Add / update / remove object label\"\n (click)=\"addLabel(i, object.uuid)\"\n >\n <svg>\n <use href=\"assets/icons/update.svg#update\"></use>\n </svg>\n </div>\n </div>\n </div>\n </td>\n <td *ngFor=\"let column of collectionColumns\">\n {{ object[column] }}\n </td>\n </tr>\n </tbody>\n </table>\n <p class=\"emptyBox\" *ngIf=\"!collections\">\n Load event data to be able to display information about the collections\n here.\n </p>\n </div>\n </div>\n</app-overlay>\n",
51
- styles: [".collectionsInfo{height:95%}.collectionsInfo .collectionSelector{height:15%;min-height:2rem}.collectionsInfo .collectionSelector span{color:var(--phoenix-text-color-secondary);margin-right:1rem}.boxBody{height:85%;overflow:scroll}.boxBody p.emptyBox{max-width:21em}.boxBody .add-label{min-width:8rem}.boxBody .add-label input{padding:.1rem .3rem;font-size:.75rem}#collectionTable{position:relative;color:var(--phoenix-text-color-secondary)}#collectionTable thead tr th{position:sticky;top:0;z-index:100;background:var(--phoenix-background-color-secondary)}#collectionTable tr *{padding-right:1.2rem}#collectionTable tr :last-child{padding-right:0}#collectionTable tr.active-object{color:var(--phoenix-background-color);background:var(--phoenix-text-color);box-shadow:0 0 15px var(--phoenix-text-color)}#collectionTable tr.active-object div.icon-wrapper{--phoenix-options-icon-path:var(--phoenix-background-color);--phoenix-options-icon-bg:var(--phoenix-text-color-hover)}#collectionTable tr.active-object .add-label input{--phoenix-text-color:var(--phoenix-background-color);--phoenix-background-color-tertiary:var(\n --phoenix-text-color-secondary\n );--phoenix-border:var(--phoenix-background-color)}#collectionTable td .object-select{position:relative;width:1.6rem;height:1.6rem;margin-right:.4em;text-align:center;background-color:var(--phoenix-options-icon-bg);border-radius:10px;cursor:pointer}#collectionTable td .object-select:last-child{margin-right:0}#collectionTable td .object-select:hover{border:1px solid var(--phoenix-options-icon-path)}#collectionTable td .object-select svg{position:absolute;top:0;left:0;padding:.4rem;width:100%;height:100%;vertical-align:top}.eventSelector{display:flex}.eventSelector label{display:none;color:var(--phoenix-text-color-secondary)}.eventSelector select{width:9rem;padding:5px 10px;font-size:12px;border:1px solid rgba(88,88,88,.08);box-shadow:var(--phoenix-icon-shadow);background-color:var(--phoenix-background-color-tertiary);color:var(--phoenix-text-color-secondary)}"]
52
- },] }
53
- ];
54
- CollectionsInfoOverlayComponent.ctorParameters = () => [
55
- { type: ElementRef },
56
- { type: EventDisplayService }
57
- ];
58
- CollectionsInfoOverlayComponent.propDecorators = {
59
- showObjectsInfo: [{ type: Input }]
60
- };
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3VpLW1lbnUvY29sbGVjdGlvbnMtaW5mby9jb2xsZWN0aW9ucy1pbmZvLW92ZXJsYXkvY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBa0IsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQU9qRixNQUFNLE9BQU8sK0JBQStCO0lBUTFDLFlBQ1UsVUFBc0IsRUFDdEIsWUFBaUM7UUFEakMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7SUFDeEMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUM1QyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FDbkUsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzFELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNsQyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN0RDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQWE7UUFDNUIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVk7YUFDdkMsYUFBYSxDQUFDLEtBQUssQ0FBQzthQUNwQixHQUFHLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDcEUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxLQUFLLE1BQU0sQ0FBQyx3SUFBd0k7U0FDNUwsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWTtRQUN2QixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZO1FBQzFCLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQ2xDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FDNUQsU0FBUyxLQUFLLEVBQUUsQ0FDakIsQ0FBQyxLQUFLLENBQUM7UUFDUixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixnREFBZ0Q7WUFDaEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FDaEMsVUFBVSxFQUNWLElBQUksQ0FBQyxrQkFBa0IsRUFDdkIsS0FBSyxFQUNMLElBQUksQ0FDTCxDQUFDO1NBQ0g7SUFDSCxDQUFDOzs7WUFwRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw4QkFBOEI7Z0JBQ3hDLGt0SEFBd0Q7O2FBRXpEOzs7WUFSa0MsVUFBVTtZQUVwQyxtQkFBbUI7Ozs4QkFRekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJldHR5U3ltYm9scywgQWN0aXZlVmFyaWFibGUgfSBmcm9tICdwaG9lbml4LWV2ZW50LWRpc3BsYXknO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb2xsZWN0aW9ucy1pbmZvLW92ZXJsYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25zSW5mb092ZXJsYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBzaG93T2JqZWN0c0luZm86IGJvb2xlYW47XG4gIGNvbGxlY3Rpb25zOiBzdHJpbmdbXTtcbiAgc2VsZWN0ZWRDb2xsZWN0aW9uOiBzdHJpbmc7XG4gIHNob3dpbmdDb2xsZWN0aW9uOiBhbnk7XG4gIGNvbGxlY3Rpb25Db2x1bW5zOiBzdHJpbmdbXTtcbiAgYWN0aXZlT2JqZWN0OiBBY3RpdmVWYXJpYWJsZTxzdHJpbmc+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGV2ZW50RGlzcGxheTogRXZlbnREaXNwbGF5U2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5ldmVudERpc3BsYXkubGlzdGVuVG9EaXNwbGF5ZWRFdmVudENoYW5nZShcbiAgICAgIChldmVudCkgPT4gKHRoaXMuY29sbGVjdGlvbnMgPSB0aGlzLmV2ZW50RGlzcGxheS5nZXRDb2xsZWN0aW9ucygpKVxuICAgICk7XG4gICAgdGhpcy5hY3RpdmVPYmplY3QgPSB0aGlzLmV2ZW50RGlzcGxheS5nZXRBY3RpdmVPYmplY3RJZCgpO1xuICAgIHRoaXMuYWN0aXZlT2JqZWN0Lm9uVXBkYXRlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodmFsdWUpKSB7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHZhbHVlKS5zY3JvbGxJbnRvVmlldyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjaGFuZ2VDb2xsZWN0aW9uKHNlbGVjdGVkOiBhbnkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHNlbGVjdGVkLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNlbGVjdGVkQ29sbGVjdGlvbiA9IHZhbHVlO1xuICAgIHRoaXMuc2hvd2luZ0NvbGxlY3Rpb24gPSB0aGlzLmV2ZW50RGlzcGxheVxuICAgICAgLmdldENvbGxlY3Rpb24odmFsdWUpXG4gICAgICAubWFwKFByZXR0eVN5bWJvbHMuZ2V0UHJldHR5UGFyYW1zKTtcbiAgICB0aGlzLmNvbGxlY3Rpb25Db2x1bW5zID0gT2JqZWN0LmtleXModGhpcy5zaG93aW5nQ29sbGVjdGlvblswXSkuZmlsdGVyKFxuICAgICAgKGNvbHVtbikgPT4gY29sdW1uICE9PSAndXVpZCcgJiYgY29sdW1uICE9PSAnaGl0cycgLy8gRklYTUUgLSB0aGlzIGlzIGFuIHVnbHkgaGFjay4gQnV0IGN1cnJlbnRseSBoaXRzIGZyb20gdHJhY2tzIG1ha2UgdHJhY2sgY29sbGVjdGlvbnMgdW51c2FibGUuIEJldHRlciB0byBoYXZlIGV4bHVzaW9uIGxpc3QgcGFzc2VkIGluLlxuICAgICk7XG4gIH1cblxuICBsb29rQXRPYmplY3QodXVpZDogc3RyaW5nKSB7XG4gICAgaWYgKHV1aWQpIHtcbiAgICAgIHRoaXMuYWN0aXZlT2JqZWN0LnVwZGF0ZSh1dWlkKTtcbiAgICAgIHRoaXMuZXZlbnREaXNwbGF5Lmxvb2tBdE9iamVjdCh1dWlkKTtcbiAgICB9XG4gIH1cblxuICBoaWdobGlnaHRPYmplY3QodXVpZDogc3RyaW5nKSB7XG4gICAgaWYgKHV1aWQpIHtcbiAgICAgIHRoaXMuYWN0aXZlT2JqZWN0LnVwZGF0ZSh1dWlkKTtcbiAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmhpZ2hsaWdodE9iamVjdCh1dWlkKTtcbiAgICB9XG4gIH1cblxuICBhZGRMYWJlbChpbmRleDogbnVtYmVyLCB1dWlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsYWJlbFZhbHVlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgIGAjbGFiZWwke2luZGV4fWBcbiAgICApLnZhbHVlO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkQ29sbGVjdGlvbikge1xuICAgICAgLy8gRW1wdHkgbGFiZWxWYWx1ZSB3aWxsIHJlbW92ZSB0aGUgbGFiZWwgb2JqZWN0XG4gICAgICB0aGlzLmV2ZW50RGlzcGxheS5hZGRMYWJlbFRvT2JqZWN0KFxuICAgICAgICBsYWJlbFZhbHVlLFxuICAgICAgICB0aGlzLnNlbGVjdGVkQ29sbGVjdGlvbixcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIHV1aWRcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,34 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { Overlay } from '@angular/cdk/overlay';
3
- import { ComponentPortal } from '@angular/cdk/portal';
4
- import { CollectionsInfoOverlayComponent } from './collections-info-overlay/collections-info-overlay.component';
5
- export class CollectionsInfoComponent {
6
- constructor(overlay) {
7
- this.overlay = overlay;
8
- this.showObjectsInfo = false;
9
- }
10
- ngOnInit() {
11
- const overlayRef = this.overlay.create();
12
- const overlayPortal = new ComponentPortal(CollectionsInfoOverlayComponent);
13
- this.overlayWindow = overlayRef.attach(overlayPortal);
14
- this.overlayWindow.instance.showObjectsInfo = this.showObjectsInfo;
15
- }
16
- ngOnDestroy() {
17
- this.overlayWindow.destroy();
18
- }
19
- toggleOverlay() {
20
- this.showObjectsInfo = !this.showObjectsInfo;
21
- this.overlayWindow.instance.showObjectsInfo = this.showObjectsInfo;
22
- }
23
- }
24
- CollectionsInfoComponent.decorators = [
25
- { type: Component, args: [{
26
- selector: 'app-collections-info',
27
- template: "<app-menu-toggle\n tooltip=\"Event data collections info\"\n icon=\"info\"\n [active]=\"showObjectsInfo\"\n (click)=\"toggleOverlay()\"\n>\n</app-menu-toggle>\n",
28
- styles: [""]
29
- },] }
30
- ];
31
- CollectionsInfoComponent.ctorParameters = () => [
32
- { type: Overlay }
33
- ];
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy91aS1tZW51L2NvbGxlY3Rpb25zLWluZm8vY29sbGVjdGlvbnMtaW5mby5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQU9oSCxNQUFNLE9BQU8sd0JBQXdCO0lBSW5DLFlBQW9CLE9BQWdCO1FBQWhCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFIcEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFHZSxDQUFDO0lBRXhDLFFBQVE7UUFDTixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pDLE1BQU0sYUFBYSxHQUFHLElBQUksZUFBZSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ3JFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ3JFLENBQUM7OztZQXpCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsZ0xBQWdEOzthQUVqRDs7O1lBUlEsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDb21wb25lbnRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbnNJbmZvT3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4vY29sbGVjdGlvbnMtaW5mby1vdmVybGF5L2NvbGxlY3Rpb25zLWluZm8tb3ZlcmxheS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29sbGVjdGlvbnMtaW5mbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xsZWN0aW9ucy1pbmZvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sbGVjdGlvbnMtaW5mby5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uc0luZm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHNob3dPYmplY3RzSW5mbyA9IGZhbHNlO1xuICBvdmVybGF5V2luZG93OiBDb21wb25lbnRSZWY8Q29sbGVjdGlvbnNJbmZvT3ZlcmxheUNvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5KSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKCk7XG4gICAgY29uc3Qgb3ZlcmxheVBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoQ29sbGVjdGlvbnNJbmZvT3ZlcmxheUNvbXBvbmVudCk7XG4gICAgdGhpcy5vdmVybGF5V2luZG93ID0gb3ZlcmxheVJlZi5hdHRhY2gob3ZlcmxheVBvcnRhbCk7XG4gICAgdGhpcy5vdmVybGF5V2luZG93Lmluc3RhbmNlLnNob3dPYmplY3RzSW5mbyA9IHRoaXMuc2hvd09iamVjdHNJbmZvO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vdmVybGF5V2luZG93LmRlc3Ryb3koKTtcbiAgfVxuXG4gIHRvZ2dsZU92ZXJsYXkoKSB7XG4gICAgdGhpcy5zaG93T2JqZWN0c0luZm8gPSAhdGhpcy5zaG93T2JqZWN0c0luZm87XG4gICAgdGhpcy5vdmVybGF5V2luZG93Lmluc3RhbmNlLnNob3dPYmplY3RzSW5mbyA9IHRoaXMuc2hvd09iamVjdHNJbmZvO1xuICB9XG59XG4iXX0=
@@ -1,26 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { EventDisplayService } from '../../../services/event-display.service';
3
- export class DarkThemeComponent {
4
- constructor(eventDisplay) {
5
- this.eventDisplay = eventDisplay;
6
- this.darkTheme = false;
7
- }
8
- ngOnInit() {
9
- this.darkTheme = this.eventDisplay.getUIManager().getDarkTheme();
10
- }
11
- setDarkTheme() {
12
- this.darkTheme = !this.darkTheme;
13
- this.eventDisplay.getUIManager().setDarkTheme(this.darkTheme);
14
- }
15
- }
16
- DarkThemeComponent.decorators = [
17
- { type: Component, args: [{
18
- selector: 'app-dark-theme',
19
- template: "<app-menu-toggle\n tooltip=\"Dark theme\"\n [active]=\"darkTheme\"\n icon=\"dark\"\n (click)=\"setDarkTheme()\"\n>\n</app-menu-toggle>\n",
20
- styles: [""]
21
- },] }
22
- ];
23
- DarkThemeComponent.ctorParameters = () => [
24
- { type: EventDisplayService }
25
- ];
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFyay10aGVtZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy91aS1tZW51L2RhcmstdGhlbWUvZGFyay10aGVtZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQU85RSxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUZyRCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBRXNDLENBQUM7SUFFekQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRSxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRSxDQUFDOzs7WUFqQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLHdKQUEwQzs7YUFFM0M7OztZQU5RLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudERpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXZlbnQtZGlzcGxheS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWRhcmstdGhlbWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGFyay10aGVtZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhcmstdGhlbWUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGFya1RoZW1lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZGFya1RoZW1lID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXJrVGhlbWUgPSB0aGlzLmV2ZW50RGlzcGxheS5nZXRVSU1hbmFnZXIoKS5nZXREYXJrVGhlbWUoKTtcbiAgfVxuXG4gIHNldERhcmtUaGVtZSgpIHtcbiAgICB0aGlzLmRhcmtUaGVtZSA9ICF0aGlzLmRhcmtUaGVtZTtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5nZXRVSU1hbmFnZXIoKS5zZXREYXJrVGhlbWUodGhpcy5kYXJrVGhlbWUpO1xuICB9XG59XG4iXX0=
@@ -1,25 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { EventDisplayService } from '../../../services/event-display.service';
3
- export class EventSelectorComponent {
4
- constructor(eventDisplay) {
5
- this.eventDisplay = eventDisplay;
6
- }
7
- ngOnInit() {
8
- this.eventDisplay.listenToLoadedEventsChange((events) => (this.events = events));
9
- }
10
- changeEvent(selected) {
11
- const value = selected.target.value;
12
- this.eventDisplay.loadEvent(value);
13
- }
14
- }
15
- EventSelectorComponent.decorators = [
16
- { type: Component, args: [{
17
- selector: 'app-event-selector',
18
- template: "<div\n class=\"eventSelector mx-2\"\n *ngIf=\"events != null\"\n matTooltip=\"Event selector\"\n matTooltipPosition=\"above\"\n>\n <select name=\"event\" (change)=\"changeEvent($event)\">\n <option *ngFor=\"let event of events\" [value]=\"event\">\n {{ event }}\n </option>\n </select>\n</div>\n",
19
- styles: [".eventSelector select{width:9rem;padding:5px 10px;font-size:12px;border:1px solid rgba(88,88,88,.08);box-shadow:var(--phoenix-icon-shadow);background-color:var(--phoenix-background-color-tertiary);color:var(--phoenix-text-color-secondary)}"]
20
- },] }
21
- ];
22
- EventSelectorComponent.ctorParameters = () => [
23
- { type: EventDisplayService }
24
- ];
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdWktbWVudS9ldmVudC1zZWxlY3Rvci9ldmVudC1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQU85RSxNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtJQUFHLENBQUM7SUFFekQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsMEJBQTBCLENBQzFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWE7UUFDdkIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzs7O1lBcEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixvVUFBOEM7O2FBRS9DOzs7WUFOUSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1ldmVudC1zZWxlY3RvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ldmVudC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2V2ZW50LXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEV2ZW50U2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyBBcnJheSBjb250YWluaW5nIHRoZSBrZXlzIG9mIHRoZSBtdWx0aXBsZSBsb2FkZWQgZXZlbnRzXG4gIGV2ZW50czogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5ldmVudERpc3BsYXkubGlzdGVuVG9Mb2FkZWRFdmVudHNDaGFuZ2UoXG4gICAgICAoZXZlbnRzKSA9PiAodGhpcy5ldmVudHMgPSBldmVudHMpXG4gICAgKTtcbiAgfVxuXG4gIGNoYW5nZUV2ZW50KHNlbGVjdGVkOiBhbnkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHNlbGVjdGVkLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5sb2FkRXZlbnQodmFsdWUpO1xuICB9XG59XG4iXX0=
@@ -1,27 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { EventDisplayService } from '../../../services/event-display.service';
3
- export class ExperimentInfoComponent {
4
- constructor(eventDisplay) {
5
- this.eventDisplay = eventDisplay;
6
- }
7
- ngOnInit() {
8
- this.eventDisplay.listenToDisplayedEventChange(() => {
9
- this.experimentInfo = this.eventDisplay.getEventMetadata();
10
- });
11
- }
12
- }
13
- ExperimentInfoComponent.decorators = [
14
- { type: Component, args: [{
15
- selector: 'app-experiment-info',
16
- template: "<div id=\"experimentInfo\" class=\"experimentInfo\" cdkDrag cdkDragBoundary=\"body\">\n <a\n class=\"experimentLogoWrapper\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n *ngIf=\"experiment\"\n href=\"https://home.cern/science/experiments/{{ experiment }}\"\n >\n <img\n class=\"experimentLogo\"\n src=\"assets/images/{{ experiment }}.svg\"\n alt=\"\"\n />\n </a>\n <div class=\"textInfo\">\n <p *ngIf=\"experimentTagline\">\n <b>{{ experimentTagline }}</b>\n </p>\n <p *ngFor=\"let infoField of experimentInfo\">\n <ng-container *ngIf=\"infoField.label\">\n <b>{{ infoField.label }}: </b>{{ infoField.value }}\n </ng-container>\n <ng-container *ngIf=\"!infoField.label\">\n {{ infoField }}\n </ng-container>\n </p>\n </div>\n</div>\n",
17
- styles: [".experimentInfo{position:absolute;top:5rem;left:1rem;display:flex;flex-direction:row;justify-items:flex-end;justify-content:flex-end;align-items:center;align-content:center;cursor:move}.experimentLogoWrapper{width:6rem}.experimentLogoWrapper .experimentLogo{width:100%;height:100%}.textInfo{margin-left:1rem}.textInfo p{color:var(--phoenix-text-color-secondary);font-size:.8rem;margin-bottom:.5rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (max-width:768px){.experimentInfo{top:4rem;max-width:40%}.experimentLogoWrapper{height:4rem}.textInfo{display:none}}"]
18
- },] }
19
- ];
20
- ExperimentInfoComponent.ctorParameters = () => [
21
- { type: EventDisplayService }
22
- ];
23
- ExperimentInfoComponent.propDecorators = {
24
- experiment: [{ type: Input }],
25
- experimentTagline: [{ type: Input }]
26
- };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwZXJpbWVudC1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3VpLW1lbnUvZXhwZXJpbWVudC1pbmZvL2V4cGVyaW1lbnQtaW5mby5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFPOUUsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQyxZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7SUFBRyxDQUFDO0lBRXpELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsRUFBRTtZQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQWhCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsNDBCQUErQzs7YUFFaEQ7OztZQU5RLG1CQUFtQjs7O3lCQVN6QixLQUFLO2dDQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZXhwZXJpbWVudC1pbmZvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V4cGVyaW1lbnQtaW5mby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2V4cGVyaW1lbnQtaW5mby5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFeHBlcmltZW50SW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGV4cGVyaW1lbnRJbmZvOiBhbnlbXTtcbiAgQElucHV0KCkgZXhwZXJpbWVudDogc3RyaW5nO1xuICBASW5wdXQoKSBleHBlcmltZW50VGFnbGluZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXZlbnREaXNwbGF5OiBFdmVudERpc3BsYXlTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwbGF5Lmxpc3RlblRvRGlzcGxheWVkRXZlbnRDaGFuZ2UoKCkgPT4ge1xuICAgICAgdGhpcy5leHBlcmltZW50SW5mbyA9IHRoaXMuZXZlbnREaXNwbGF5LmdldEV2ZW50TWV0YWRhdGEoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,36 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { EventDisplayService } from '../../../../services/event-display.service';
3
- /**
4
- * Component for displaying information from the logger
5
- */
6
- export class InfoPanelOverlayComponent {
7
- /**
8
- * Create the information panel overlay
9
- * @param infoLogger Service containing operations related to info logs
10
- */
11
- constructor(eventDisplay) {
12
- this.eventDisplay = eventDisplay;
13
- /** List of actions to be displayed in the info panel */
14
- this.actionsList = [];
15
- }
16
- /**
17
- * Get the list of logs from the info logger service
18
- */
19
- ngOnInit() {
20
- this.actionsList = this.eventDisplay.getInfoLogger().getInfoLoggerList();
21
- }
22
- }
23
- InfoPanelOverlayComponent.decorators = [
24
- { type: Component, args: [{
25
- selector: 'app-info-panel-overlay',
26
- template: "<app-overlay\n overlayTitle=\"Info Panel\"\n icon=\"info-panel\"\n [resizable]=\"true\"\n [active]=\"showInfoPanel\"\n>\n <ul class=\"list-group list-group-flush\">\n <li class=\"list-group-item\" *ngIf=\"actionsList.length === 0\">\n No actions.\n </li>\n <li class=\"list-group-item\" *ngFor=\"let action of actionsList\">\n {{ action }}\n </li>\n </ul>\n</app-overlay>\n",
27
- styles: [".list-group-item{font-size:.8rem;padding:.5rem 1rem}"]
28
- },] }
29
- ];
30
- InfoPanelOverlayComponent.ctorParameters = () => [
31
- { type: EventDisplayService }
32
- ];
33
- InfoPanelOverlayComponent.propDecorators = {
34
- showInfoPanel: [{ type: Input }]
35
- };
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1wYW5lbC1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3VpLW1lbnUvaW5mby1wYW5lbC9pbmZvLXBhbmVsLW92ZXJsYXkvaW5mby1wYW5lbC1vdmVybGF5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVqRjs7R0FFRztBQU1ILE1BQU0sT0FBTyx5QkFBeUI7SUFNcEM7OztPQUdHO0lBQ0gsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBUHJELHdEQUF3RDtRQUN4RCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztJQU11QyxDQUFDO0lBRXpEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNFLENBQUM7OztZQXRCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsNlpBQWtEOzthQUVuRDs7O1lBVFEsbUJBQW1COzs7NEJBWXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgZGlzcGxheWluZyBpbmZvcm1hdGlvbiBmcm9tIHRoZSBsb2dnZXJcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWluZm8tcGFuZWwtb3ZlcmxheScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLXBhbmVsLW92ZXJsYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbmZvLXBhbmVsLW92ZXJsYXkuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5mb1BhbmVsT3ZlcmxheUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKiBAaWdub3JlICovXG4gIEBJbnB1dCgpIHNob3dJbmZvUGFuZWw6IGJvb2xlYW47XG4gIC8qKiBMaXN0IG9mIGFjdGlvbnMgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBpbmZvIHBhbmVsICovXG4gIGFjdGlvbnNMaXN0ID0gW107XG5cbiAgLyoqXG4gICAqIENyZWF0ZSB0aGUgaW5mb3JtYXRpb24gcGFuZWwgb3ZlcmxheVxuICAgKiBAcGFyYW0gaW5mb0xvZ2dlciBTZXJ2aWNlIGNvbnRhaW5pbmcgb3BlcmF0aW9ucyByZWxhdGVkIHRvIGluZm8gbG9nc1xuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiBsb2dzIGZyb20gdGhlIGluZm8gbG9nZ2VyIHNlcnZpY2VcbiAgICovXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYWN0aW9uc0xpc3QgPSB0aGlzLmV2ZW50RGlzcGxheS5nZXRJbmZvTG9nZ2VyKCkuZ2V0SW5mb0xvZ2dlckxpc3QoKTtcbiAgfVxufVxuIl19
@@ -1,51 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { Overlay } from '@angular/cdk/overlay';
3
- import { ComponentPortal } from '@angular/cdk/portal';
4
- import { InfoPanelOverlayComponent } from './info-panel-overlay/info-panel-overlay.component';
5
- /**
6
- * Component for toggling info panel overlay
7
- */
8
- export class InfoPanelComponent {
9
- /**
10
- * Create the info panel toggle
11
- * @param overlay Info panel overlay containing logger data
12
- */
13
- constructor(overlay) {
14
- this.overlay = overlay;
15
- /** @ignore */
16
- this.showInfoPanel = false;
17
- }
18
- /**
19
- * Create the info panel overlay
20
- */
21
- ngOnInit() {
22
- const overlayRef = this.overlay.create();
23
- const overlayPortal = new ComponentPortal(InfoPanelOverlayComponent);
24
- this.overlayWindow = overlayRef.attach(overlayPortal);
25
- this.overlayWindow.instance.showInfoPanel = this.showInfoPanel;
26
- }
27
- /**
28
- * Destroy the info panel overlay
29
- */
30
- ngOnDestroy() {
31
- this.overlayWindow.destroy();
32
- }
33
- /**
34
- * Toggle the info panel overlay
35
- */
36
- toggleOverlay() {
37
- this.showInfoPanel = !this.showInfoPanel;
38
- this.overlayWindow.instance.showInfoPanel = this.showInfoPanel;
39
- }
40
- }
41
- InfoPanelComponent.decorators = [
42
- { type: Component, args: [{
43
- selector: 'app-info-panel',
44
- template: "<app-menu-toggle\n tooltip=\"Info panel\"\n icon=\"info-panel\"\n [active]=\"showInfoPanel\"\n (click)=\"toggleOverlay()\"\n>\n</app-menu-toggle>\n",
45
- styles: [""]
46
- },] }
47
- ];
48
- InfoPanelComponent.ctorParameters = () => [
49
- { type: Overlay }
50
- ];
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy91aS1tZW51L2luZm8tcGFuZWwvaW5mby1wYW5lbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUU5Rjs7R0FFRztBQU1ILE1BQU0sT0FBTyxrQkFBa0I7SUFNN0I7OztPQUdHO0lBQ0gsWUFBb0IsT0FBZ0I7UUFBaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQVRwQyxjQUFjO1FBQ2Qsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFRaUIsQ0FBQztJQUV4Qzs7T0FFRztJQUNILFFBQVE7UUFDTixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pDLE1BQU0sYUFBYSxHQUFHLElBQUksZUFBZSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNqRSxDQUFDOzs7WUF4Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLG1LQUEwQzs7YUFFM0M7OztZQVhRLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ29tcG9uZW50UmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEluZm9QYW5lbE92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL2luZm8tcGFuZWwtb3ZlcmxheS9pbmZvLXBhbmVsLW92ZXJsYXkuY29tcG9uZW50JztcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIHRvZ2dsaW5nIGluZm8gcGFuZWwgb3ZlcmxheVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaW5mby1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5mby1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbmZvUGFuZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKiBAaWdub3JlICovXG4gIHNob3dJbmZvUGFuZWwgPSBmYWxzZTtcbiAgLyoqIEluZm9ybWF0aW9uIHBhbmVsIG92ZXJsYXkgd2luZG93ICovXG4gIG92ZXJsYXlXaW5kb3c6IENvbXBvbmVudFJlZjxJbmZvUGFuZWxPdmVybGF5Q29tcG9uZW50PjtcblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSBpbmZvIHBhbmVsIHRvZ2dsZVxuICAgKiBAcGFyYW0gb3ZlcmxheSBJbmZvIHBhbmVsIG92ZXJsYXkgY29udGFpbmluZyBsb2dnZXIgZGF0YVxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5KSB7fVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIGluZm8gcGFuZWwgb3ZlcmxheVxuICAgKi9cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoKTtcbiAgICBjb25zdCBvdmVybGF5UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChJbmZvUGFuZWxPdmVybGF5Q29tcG9uZW50KTtcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3cgPSBvdmVybGF5UmVmLmF0dGFjaChvdmVybGF5UG9ydGFsKTtcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3cuaW5zdGFuY2Uuc2hvd0luZm9QYW5lbCA9IHRoaXMuc2hvd0luZm9QYW5lbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXN0cm95IHRoZSBpbmZvIHBhbmVsIG92ZXJsYXlcbiAgICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVdpbmRvdy5kZXN0cm95KCk7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlIHRoZSBpbmZvIHBhbmVsIG92ZXJsYXlcbiAgICovXG4gIHRvZ2dsZU92ZXJsYXkoKSB7XG4gICAgdGhpcy5zaG93SW5mb1BhbmVsID0gIXRoaXMuc2hvd0luZm9QYW5lbDtcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3cuaW5zdGFuY2Uuc2hvd0luZm9QYW5lbCA9IHRoaXMuc2hvd0luZm9QYW5lbDtcbiAgfVxufVxuIl19