phoenix-ui-components 2.14.1 → 2.16.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 (147) hide show
  1. package/README.md +2 -2
  2. package/dist/README.md +2 -2
  3. package/dist/components/file-explorer/file-explorer.component.d.ts +9 -3
  4. package/dist/components/loader/loader.component.d.ts +1 -1
  5. package/dist/components/phoenix-menu/config/config-slider/config-slider.component.d.ts +1 -1
  6. package/dist/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.d.ts +1 -1
  7. package/dist/components/phoenix-menu/phoenix-menu.component.d.ts +1 -1
  8. package/dist/components/phoenix-ui.module.d.ts +62 -59
  9. package/dist/components/ui-menu/animate-camera/animate-camera.component.d.ts +1 -1
  10. package/dist/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.d.ts +3 -1
  11. package/dist/components/ui-menu/cycle-events/cycle-events.component.d.ts +7 -2
  12. package/dist/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.d.ts +7 -8
  13. package/dist/components/ui-menu/event-data-explorer/event-data-explorer.component.d.ts +1 -1
  14. package/dist/components/ui-menu/experiment-info/experiment-info.component.d.ts +1 -1
  15. package/dist/components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.d.ts +22 -0
  16. package/dist/components/ui-menu/geometry-browser/geometry-browser.component.d.ts +15 -0
  17. package/dist/components/ui-menu/index.d.ts +3 -0
  18. package/dist/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.d.ts +1 -1
  19. package/dist/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.d.ts +1 -1
  20. package/dist/components/ui-menu/io-options/io-options.component.d.ts +1 -1
  21. package/dist/components/ui-menu/make-picture/make-picture.component.d.ts +3 -0
  22. package/dist/components/ui-menu/menu-toggle/menu-toggle.component.d.ts +1 -1
  23. package/dist/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.d.ts +1 -1
  24. package/dist/components/ui-menu/overlay/overlay.component.d.ts +1 -1
  25. package/dist/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.d.ts +1 -1
  26. package/dist/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.d.ts +1 -1
  27. package/dist/components/ui-menu/ui-menu.component.d.ts +1 -1
  28. package/dist/components/ui-menu/view-options/cartesian-grid-config/cartesian-grid-config.component.d.ts +51 -0
  29. package/dist/components/ui-menu/view-options/view-options.component.d.ts +21 -4
  30. package/dist/esm2022/components/embed-menu/embed-menu.component.mjs +22 -0
  31. package/dist/esm2022/components/embed-menu/experiment-link/experiment-link.component.mjs +27 -0
  32. package/dist/esm2022/components/file-explorer/file-explorer.component.mjs +109 -0
  33. package/dist/esm2022/components/loader/loader.component.mjs +71 -0
  34. package/dist/esm2022/components/nav/nav.component.mjs +19 -0
  35. package/dist/esm2022/components/phoenix-menu/config/config-slider/config-slider.component.mjs +81 -0
  36. package/dist/esm2022/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.mjs +304 -0
  37. package/dist/esm2022/components/phoenix-menu/phoenix-menu.component.mjs +23 -0
  38. package/dist/esm2022/components/phoenix-ui.module.mjs +254 -0
  39. package/dist/esm2022/components/ring-loader/ring-loader.component.mjs +16 -0
  40. package/dist/esm2022/components/ui-menu/animate-camera/animate-camera.component.mjs +120 -0
  41. package/dist/esm2022/components/ui-menu/animate-event/animate-event.component.mjs +33 -0
  42. package/dist/esm2022/components/ui-menu/ar-toggle/ar-toggle.component.mjs +83 -0
  43. package/dist/esm2022/components/ui-menu/auto-rotate/auto-rotate.component.mjs +29 -0
  44. package/dist/esm2022/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.mjs +273 -0
  45. package/dist/esm2022/components/ui-menu/collections-info/collections-info.component.mjs +44 -0
  46. package/dist/esm2022/components/ui-menu/cycle-events/cycle-events.component.mjs +90 -0
  47. package/dist/esm2022/components/ui-menu/dark-theme/dark-theme.component.mjs +32 -0
  48. package/dist/esm2022/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.mjs +128 -0
  49. package/dist/esm2022/components/ui-menu/event-data-explorer/event-data-explorer.component.mjs +35 -0
  50. package/dist/esm2022/components/ui-menu/event-selector/event-selector.component.mjs +54 -0
  51. package/dist/esm2022/components/ui-menu/experiment-info/experiment-info.component.mjs +100 -0
  52. package/dist/esm2022/components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.mjs +172 -0
  53. package/dist/esm2022/components/ui-menu/geometry-browser/geometry-browser.component.mjs +44 -0
  54. package/dist/esm2022/components/ui-menu/index.mjs +40 -0
  55. package/dist/esm2022/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.mjs +69 -0
  56. package/dist/esm2022/components/ui-menu/info-panel/info-panel.component.mjs +59 -0
  57. package/dist/esm2022/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.mjs +294 -0
  58. package/dist/esm2022/components/ui-menu/io-options/io-options.component.mjs +36 -0
  59. package/dist/esm2022/components/ui-menu/main-view-toggle/main-view-toggle.component.mjs +32 -0
  60. package/dist/esm2022/components/ui-menu/make-picture/make-picture.component.mjs +109 -0
  61. package/dist/esm2022/components/ui-menu/menu-toggle/menu-toggle.component.mjs +40 -0
  62. package/dist/esm2022/components/ui-menu/object-clipping/object-clipping.component.mjs +72 -0
  63. package/dist/esm2022/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.mjs +59 -0
  64. package/dist/esm2022/components/ui-menu/object-selection/object-selection.component.mjs +46 -0
  65. package/dist/esm2022/components/ui-menu/overlay/overlay.component.mjs +197 -0
  66. package/dist/esm2022/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.mjs +83 -0
  67. package/dist/esm2022/components/ui-menu/overlay-view/overlay-view.component.mjs +41 -0
  68. package/dist/esm2022/components/ui-menu/performance-toggle/performance-toggle.component.mjs +29 -0
  69. package/dist/esm2022/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.mjs +165 -0
  70. package/dist/esm2022/components/ui-menu/share-link/share-link.component.mjs +28 -0
  71. package/dist/esm2022/components/ui-menu/ss-mode/ss-mode.component.mjs +46 -0
  72. package/dist/esm2022/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.mjs +94 -0
  73. package/dist/esm2022/components/ui-menu/tree-menu/tree-menu.component.mjs +78 -0
  74. package/dist/esm2022/components/ui-menu/ui-menu-wrapper/ui-menu-wrapper.component.mjs +34 -0
  75. package/dist/esm2022/components/ui-menu/ui-menu.component.mjs +54 -0
  76. package/dist/esm2022/components/ui-menu/view-options/cartesian-grid-config/cartesian-grid-config.component.mjs +247 -0
  77. package/dist/esm2022/components/ui-menu/view-options/view-options.component.mjs +170 -0
  78. package/dist/esm2022/components/ui-menu/vr-toggle/vr-toggle.component.mjs +52 -0
  79. package/dist/esm2022/components/ui-menu/zoom-controls/zoom-controls.component.mjs +79 -0
  80. package/dist/esm2022/services/error-message-service.mjs +30 -0
  81. package/dist/{esm2020 → esm2022}/services/event-display.service.mjs +5 -5
  82. package/dist/esm2022/services/extras/attribute.pipe.mjs +33 -0
  83. package/dist/{esm2020 → esm2022}/services/extras/event-data-import.mjs +5 -1
  84. package/dist/esm2022/services/file-loader.service.mjs +86 -0
  85. package/dist/esm2022/services/global-error-handler.mjs +30 -0
  86. package/dist/fesm2022/phoenix-ui-components.mjs +4302 -0
  87. package/dist/fesm2022/phoenix-ui-components.mjs.map +1 -0
  88. package/dist/services/file-loader.service.d.ts +17 -0
  89. package/package.json +27 -16
  90. package/dist/esm2020/components/embed-menu/embed-menu.component.mjs +0 -21
  91. package/dist/esm2020/components/embed-menu/experiment-link/experiment-link.component.mjs +0 -25
  92. package/dist/esm2020/components/file-explorer/file-explorer.component.mjs +0 -97
  93. package/dist/esm2020/components/loader/loader.component.mjs +0 -68
  94. package/dist/esm2020/components/nav/nav.component.mjs +0 -18
  95. package/dist/esm2020/components/phoenix-menu/config/config-slider/config-slider.component.mjs +0 -82
  96. package/dist/esm2020/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.mjs +0 -309
  97. package/dist/esm2020/components/phoenix-menu/phoenix-menu.component.mjs +0 -21
  98. package/dist/esm2020/components/phoenix-ui.module.mjs +0 -254
  99. package/dist/esm2020/components/ring-loader/ring-loader.component.mjs +0 -15
  100. package/dist/esm2020/components/ui-menu/animate-camera/animate-camera.component.mjs +0 -117
  101. package/dist/esm2020/components/ui-menu/animate-event/animate-event.component.mjs +0 -31
  102. package/dist/esm2020/components/ui-menu/ar-toggle/ar-toggle.component.mjs +0 -81
  103. package/dist/esm2020/components/ui-menu/auto-rotate/auto-rotate.component.mjs +0 -27
  104. package/dist/esm2020/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.mjs +0 -261
  105. package/dist/esm2020/components/ui-menu/collections-info/collections-info.component.mjs +0 -38
  106. package/dist/esm2020/components/ui-menu/cycle-events/cycle-events.component.mjs +0 -42
  107. package/dist/esm2020/components/ui-menu/dark-theme/dark-theme.component.mjs +0 -30
  108. package/dist/esm2020/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.mjs +0 -176
  109. package/dist/esm2020/components/ui-menu/event-data-explorer/event-data-explorer.component.mjs +0 -32
  110. package/dist/esm2020/components/ui-menu/event-selector/event-selector.component.mjs +0 -50
  111. package/dist/esm2020/components/ui-menu/experiment-info/experiment-info.component.mjs +0 -96
  112. package/dist/esm2020/components/ui-menu/index.mjs +0 -37
  113. package/dist/esm2020/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.mjs +0 -66
  114. package/dist/esm2020/components/ui-menu/info-panel/info-panel.component.mjs +0 -55
  115. package/dist/esm2020/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.mjs +0 -290
  116. package/dist/esm2020/components/ui-menu/io-options/io-options.component.mjs +0 -34
  117. package/dist/esm2020/components/ui-menu/main-view-toggle/main-view-toggle.component.mjs +0 -30
  118. package/dist/esm2020/components/ui-menu/make-picture/make-picture.component.mjs +0 -88
  119. package/dist/esm2020/components/ui-menu/menu-toggle/menu-toggle.component.mjs +0 -38
  120. package/dist/esm2020/components/ui-menu/object-clipping/object-clipping.component.mjs +0 -67
  121. package/dist/esm2020/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.mjs +0 -55
  122. package/dist/esm2020/components/ui-menu/object-selection/object-selection.component.mjs +0 -42
  123. package/dist/esm2020/components/ui-menu/overlay/overlay.component.mjs +0 -189
  124. package/dist/esm2020/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.mjs +0 -79
  125. package/dist/esm2020/components/ui-menu/overlay-view/overlay-view.component.mjs +0 -38
  126. package/dist/esm2020/components/ui-menu/performance-toggle/performance-toggle.component.mjs +0 -27
  127. package/dist/esm2020/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.mjs +0 -158
  128. package/dist/esm2020/components/ui-menu/share-link/share-link.component.mjs +0 -26
  129. package/dist/esm2020/components/ui-menu/ss-mode/ss-mode.component.mjs +0 -47
  130. package/dist/esm2020/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.mjs +0 -90
  131. package/dist/esm2020/components/ui-menu/tree-menu/tree-menu.component.mjs +0 -78
  132. package/dist/esm2020/components/ui-menu/ui-menu-wrapper/ui-menu-wrapper.component.mjs +0 -35
  133. package/dist/esm2020/components/ui-menu/ui-menu.component.mjs +0 -54
  134. package/dist/esm2020/components/ui-menu/view-options/view-options.component.mjs +0 -81
  135. package/dist/esm2020/components/ui-menu/vr-toggle/vr-toggle.component.mjs +0 -50
  136. package/dist/esm2020/components/ui-menu/zoom-controls/zoom-controls.component.mjs +0 -73
  137. package/dist/esm2020/services/error-message-service.mjs +0 -32
  138. package/dist/esm2020/services/extras/attribute.pipe.mjs +0 -33
  139. package/dist/esm2020/services/global-error-handler.mjs +0 -29
  140. package/dist/fesm2015/phoenix-ui-components.mjs +0 -3994
  141. package/dist/fesm2015/phoenix-ui-components.mjs.map +0 -1
  142. package/dist/fesm2020/phoenix-ui-components.mjs +0 -3552
  143. package/dist/fesm2020/phoenix-ui-components.mjs.map +0 -1
  144. /package/dist/{esm2020 → esm2022}/components/phoenix-menu/index.mjs +0 -0
  145. /package/dist/{esm2020 → esm2022}/phoenix-ui-components.mjs +0 -0
  146. /package/dist/{esm2020 → esm2022}/public_api.mjs +0 -0
  147. /package/dist/{esm2020 → esm2022}/services/index.mjs +0 -0
@@ -0,0 +1,254 @@
1
+ import { ErrorHandler, NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { RouterModule } from '@angular/router';
4
+ import { DragDropModule } from '@angular/cdk/drag-drop';
5
+ import { OverlayModule } from '@angular/cdk/overlay';
6
+ import { FormsModule } from '@angular/forms';
7
+ import { MatButtonModule } from '@angular/material/button';
8
+ import { MatCheckboxModule } from '@angular/material/checkbox';
9
+ import { MatDialogModule } from '@angular/material/dialog';
10
+ import { MatIconModule } from '@angular/material/icon';
11
+ import { MatMenuModule } from '@angular/material/menu';
12
+ import { MatRadioModule } from '@angular/material/radio';
13
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
14
+ import { MatSliderModule } from '@angular/material/slider';
15
+ import { MatTooltipModule } from '@angular/material/tooltip';
16
+ import { CdkTreeModule } from '@angular/cdk/tree';
17
+ import { MatTabsModule } from '@angular/material/tabs';
18
+ import { NavComponent } from './nav/nav.component';
19
+ import { PhoenixMenuComponent, PhoenixMenuItemComponent, ConfigSliderComponent, } from './phoenix-menu';
20
+ import { UiMenuWrapperComponent, UiMenuComponent, CollectionsInfoComponent, MenuToggleComponent, GeometryBrowserComponent, GeometryBrowserOverlayComponent, CollectionsInfoOverlayComponent, IoOptionsComponent, IOOptionsDialogComponent, OverlayViewComponent, ObjectSelectionComponent, ObjectSelectionOverlayComponent, EventSelectorComponent, ObjectClippingComponent, DarkThemeComponent, AutoRotateComponent, CartesianGridConfigComponent, ViewOptionsComponent, OverlayViewWindowComponent, OverlayComponent, ExperimentInfoComponent, InfoPanelComponent, InfoPanelOverlayComponent, MainViewToggleComponent, ZoomControlsComponent, TreeMenuComponent, TreeMenuItemComponent, AnimateCameraComponent, AnimateEventComponent, VrToggleComponent, ArToggleComponent, SSModeComponent, MakePictureComponent, PerformanceToggleComponent, ShareLinkComponent, ShareLinkDialogComponent, EventDataExplorerComponent, EventDataExplorerDialogComponent, CycleEventsComponent, } from './ui-menu';
21
+ import { AttributePipe } from '../services/extras/attribute.pipe';
22
+ import { EventDisplayService } from '../services/event-display.service';
23
+ import { ErrorMessageService } from '../services/error-message-service';
24
+ import { GlobalErrorHandler } from '../services/global-error-handler';
25
+ import { LoaderComponent } from './loader/loader.component';
26
+ import { EmbedMenuComponent } from './embed-menu/embed-menu.component';
27
+ import { ExperimentLinkComponent } from './embed-menu/experiment-link/experiment-link.component';
28
+ import { FileExplorerComponent } from './file-explorer/file-explorer.component';
29
+ import { RingLoaderComponent } from './ring-loader/ring-loader.component';
30
+ import * as i0 from "@angular/core";
31
+ const PHOENIX_COMPONENTS = [
32
+ NavComponent,
33
+ UiMenuWrapperComponent,
34
+ UiMenuComponent,
35
+ CollectionsInfoComponent,
36
+ GeometryBrowserComponent,
37
+ GeometryBrowserOverlayComponent,
38
+ MenuToggleComponent,
39
+ CollectionsInfoOverlayComponent,
40
+ IoOptionsComponent,
41
+ IOOptionsDialogComponent,
42
+ OverlayViewComponent,
43
+ AttributePipe,
44
+ ObjectSelectionComponent,
45
+ ObjectSelectionOverlayComponent,
46
+ EventSelectorComponent,
47
+ ObjectClippingComponent,
48
+ DarkThemeComponent,
49
+ AutoRotateComponent,
50
+ ViewOptionsComponent,
51
+ CartesianGridConfigComponent,
52
+ OverlayViewWindowComponent,
53
+ OverlayComponent,
54
+ ExperimentInfoComponent,
55
+ InfoPanelComponent,
56
+ InfoPanelOverlayComponent,
57
+ MainViewToggleComponent,
58
+ ZoomControlsComponent,
59
+ TreeMenuComponent,
60
+ TreeMenuItemComponent,
61
+ PhoenixMenuComponent,
62
+ PhoenixMenuItemComponent,
63
+ ConfigSliderComponent,
64
+ AnimateCameraComponent,
65
+ AnimateEventComponent,
66
+ VrToggleComponent,
67
+ ArToggleComponent,
68
+ SSModeComponent,
69
+ MakePictureComponent,
70
+ PerformanceToggleComponent,
71
+ LoaderComponent,
72
+ ShareLinkComponent,
73
+ ShareLinkDialogComponent,
74
+ EmbedMenuComponent,
75
+ ExperimentLinkComponent,
76
+ EventDataExplorerComponent,
77
+ EventDataExplorerDialogComponent,
78
+ FileExplorerComponent,
79
+ RingLoaderComponent,
80
+ CycleEventsComponent,
81
+ ];
82
+ export class PhoenixUIModule {
83
+ static ɵfac = function PhoenixUIModule_Factory(t) { return new (t || PhoenixUIModule)(); };
84
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PhoenixUIModule });
85
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
86
+ EventDisplayService,
87
+ ErrorMessageService,
88
+ {
89
+ provide: ErrorHandler,
90
+ useClass: GlobalErrorHandler,
91
+ },
92
+ ], imports: [CommonModule,
93
+ RouterModule,
94
+ DragDropModule,
95
+ MatDialogModule,
96
+ MatButtonModule,
97
+ MatTooltipModule,
98
+ OverlayModule,
99
+ FormsModule,
100
+ MatMenuModule,
101
+ MatRadioModule,
102
+ MatSliderModule,
103
+ MatSlideToggleModule,
104
+ MatCheckboxModule,
105
+ MatIconModule,
106
+ CdkTreeModule,
107
+ MatTabsModule] });
108
+ }
109
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PhoenixUIModule, [{
110
+ type: NgModule,
111
+ args: [{
112
+ declarations: PHOENIX_COMPONENTS,
113
+ imports: [
114
+ CommonModule,
115
+ RouterModule,
116
+ DragDropModule,
117
+ MatDialogModule,
118
+ MatButtonModule,
119
+ MatTooltipModule,
120
+ OverlayModule,
121
+ FormsModule,
122
+ MatMenuModule,
123
+ MatRadioModule,
124
+ MatSliderModule,
125
+ MatSlideToggleModule,
126
+ MatCheckboxModule,
127
+ MatIconModule,
128
+ CdkTreeModule,
129
+ MatTabsModule,
130
+ ],
131
+ exports: PHOENIX_COMPONENTS,
132
+ providers: [
133
+ EventDisplayService,
134
+ ErrorMessageService,
135
+ {
136
+ provide: ErrorHandler,
137
+ useClass: GlobalErrorHandler,
138
+ },
139
+ ],
140
+ }]
141
+ }], null, null); })();
142
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PhoenixUIModule, { declarations: [NavComponent,
143
+ UiMenuWrapperComponent,
144
+ UiMenuComponent,
145
+ CollectionsInfoComponent,
146
+ GeometryBrowserComponent,
147
+ GeometryBrowserOverlayComponent,
148
+ MenuToggleComponent,
149
+ CollectionsInfoOverlayComponent,
150
+ IoOptionsComponent,
151
+ IOOptionsDialogComponent,
152
+ OverlayViewComponent,
153
+ AttributePipe,
154
+ ObjectSelectionComponent,
155
+ ObjectSelectionOverlayComponent,
156
+ EventSelectorComponent,
157
+ ObjectClippingComponent,
158
+ DarkThemeComponent,
159
+ AutoRotateComponent,
160
+ ViewOptionsComponent,
161
+ CartesianGridConfigComponent,
162
+ OverlayViewWindowComponent,
163
+ OverlayComponent,
164
+ ExperimentInfoComponent,
165
+ InfoPanelComponent,
166
+ InfoPanelOverlayComponent,
167
+ MainViewToggleComponent,
168
+ ZoomControlsComponent,
169
+ TreeMenuComponent,
170
+ TreeMenuItemComponent,
171
+ PhoenixMenuComponent,
172
+ PhoenixMenuItemComponent,
173
+ ConfigSliderComponent,
174
+ AnimateCameraComponent,
175
+ AnimateEventComponent,
176
+ VrToggleComponent,
177
+ ArToggleComponent,
178
+ SSModeComponent,
179
+ MakePictureComponent,
180
+ PerformanceToggleComponent,
181
+ LoaderComponent,
182
+ ShareLinkComponent,
183
+ ShareLinkDialogComponent,
184
+ EmbedMenuComponent,
185
+ ExperimentLinkComponent,
186
+ EventDataExplorerComponent,
187
+ EventDataExplorerDialogComponent,
188
+ FileExplorerComponent,
189
+ RingLoaderComponent,
190
+ CycleEventsComponent], imports: [CommonModule,
191
+ RouterModule,
192
+ DragDropModule,
193
+ MatDialogModule,
194
+ MatButtonModule,
195
+ MatTooltipModule,
196
+ OverlayModule,
197
+ FormsModule,
198
+ MatMenuModule,
199
+ MatRadioModule,
200
+ MatSliderModule,
201
+ MatSlideToggleModule,
202
+ MatCheckboxModule,
203
+ MatIconModule,
204
+ CdkTreeModule,
205
+ MatTabsModule], exports: [NavComponent,
206
+ UiMenuWrapperComponent,
207
+ UiMenuComponent,
208
+ CollectionsInfoComponent,
209
+ GeometryBrowserComponent,
210
+ GeometryBrowserOverlayComponent,
211
+ MenuToggleComponent,
212
+ CollectionsInfoOverlayComponent,
213
+ IoOptionsComponent,
214
+ IOOptionsDialogComponent,
215
+ OverlayViewComponent,
216
+ AttributePipe,
217
+ ObjectSelectionComponent,
218
+ ObjectSelectionOverlayComponent,
219
+ EventSelectorComponent,
220
+ ObjectClippingComponent,
221
+ DarkThemeComponent,
222
+ AutoRotateComponent,
223
+ ViewOptionsComponent,
224
+ CartesianGridConfigComponent,
225
+ OverlayViewWindowComponent,
226
+ OverlayComponent,
227
+ ExperimentInfoComponent,
228
+ InfoPanelComponent,
229
+ InfoPanelOverlayComponent,
230
+ MainViewToggleComponent,
231
+ ZoomControlsComponent,
232
+ TreeMenuComponent,
233
+ TreeMenuItemComponent,
234
+ PhoenixMenuComponent,
235
+ PhoenixMenuItemComponent,
236
+ ConfigSliderComponent,
237
+ AnimateCameraComponent,
238
+ AnimateEventComponent,
239
+ VrToggleComponent,
240
+ ArToggleComponent,
241
+ SSModeComponent,
242
+ MakePictureComponent,
243
+ PerformanceToggleComponent,
244
+ LoaderComponent,
245
+ ShareLinkComponent,
246
+ ShareLinkDialogComponent,
247
+ EmbedMenuComponent,
248
+ ExperimentLinkComponent,
249
+ EventDataExplorerComponent,
250
+ EventDataExplorerDialogComponent,
251
+ FileExplorerComponent,
252
+ RingLoaderComponent,
253
+ CycleEventsComponent] }); })();
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvZW5peC11aS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tcG9uZW50cy9waG9lbml4LXVpLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFF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cUJBQXFCO1FBQ3JCLHNCQUFzQjtRQUN0QixxQkFBcUI7UUFDckIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixlQUFlO1FBQ2Ysb0JBQW9CO1FBQ3BCLDBCQUEwQjtRQUMxQixlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLHdCQUF3QjtRQUN4QixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLDBCQUEwQjtRQUMxQixnQ0FBZ0M7UUFDaEMscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFcnJvckhhbmRsZXIsIE5nTW9kdWxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRTbGlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZXInO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQ2RrVHJlZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IE5hdkNvbXBvbmVudCB9IGZyb20gJy4vbmF2L25hdi5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgUGhvZW5peE1lbnVDb21wb25lbnQsXG4gIFBob2VuaXhNZW51SXRlbUNvbXBvbmVudCxcbiAgQ29uZmlnU2xpZGVyQ29tcG9uZW50LFxufSBmcm9tICcuL3Bob2VuaXgtbWVudSc7XG5pbXBvcnQge1xuICBVaU1lbnVXcmFwcGVyQ29tcG9uZW50LFxuICBVaU1lbnVDb21wb25lbnQsXG4gIENvbGxlY3Rpb25zSW5mb0NvbXBvbmVudCxcbiAgTWVudVRvZ2dsZUNvbXBvbmVudCxcbiAgR2VvbWV0cnlCcm93c2VyQ29tcG9uZW50LFxuICBHZW9tZXRyeUJyb3dzZXJPdmVybGF5Q29tcG9uZW50LFxuICBDb2xsZWN0aW9uc0luZm9PdmVybGF5Q29tcG9uZW50LFxuICBJb09wdGlvbnNDb21wb25lbnQsXG4gIElPT3B0aW9uc0RpYWxvZ0NvbXBvbmVudCxcbiAgT3ZlcmxheVZpZXdDb21wb25lbnQsXG4gIE9iamVjdFNlbGVjdGlvbkNvbXBvbmVudCxcbiAgT2JqZWN0U2VsZWN0aW9uT3ZlcmxheUNvbXBvbmVudCxcbiAgRXZlbnRTZWxlY3RvckNvbXBvbmVudCxcbiAgT2JqZWN0Q2xpcHBpbmdDb21wb25lbnQsXG4gIERhcmtUaGVtZUNvbXBvbmVudCxcbiAgQXV0b1JvdGF0ZUNvbXBvbmVudCxcbiAgQ2FydGVzaWFuR3JpZENvbmZpZ0NvbXBvbmVudCxcbiAgVmlld09wdGlvbnNDb21wb25lbnQsXG4gIE92ZXJsYXlWaWV3V2luZG93Q29tcG9uZW50LFxuICBPdmVybGF5Q29tcG9uZW50LFxuICBFeHBlcmltZW50SW5mb0NvbXBvbmVudCxcbiAgSW5mb1BhbmVsQ29tcG9uZW50LFxuICBJbmZvUGFuZWxPdmVybGF5Q29tcG9uZW50LFxuICBNYWluVmlld1RvZ2dsZUNvbXBvbmVudCxcbiAgWm9vbUNvbnRyb2xzQ29tcG9uZW50LFxuICBUcmVlTWVudUNvbXBvbmVudCxcbiAgVHJlZU1lbnVJdGVtQ29tcG9uZW50LFxuICBBbmltYXRlQ2FtZXJhQ29tcG9uZW50LFxuICBBbmltYXRlRXZlbnRDb21wb25lbnQsXG4gIFZyVG9nZ2xlQ29tcG9uZW50LFxuICBBclRvZ2dsZUNvbXBvbmVudCxcbiAgU1NNb2RlQ29tcG9uZW50LFxuICBNYWtlUGljdHVyZUNvbXBvbmVudCxcbiAgUGVyZm9ybWFuY2VUb2dnbGVDb21wb25lbnQsXG4gIFNoYXJlTGlua0NvbXBvbmVudCxcbiAgU2hhcmVMaW5rRGlhbG9nQ29tcG9uZW50LFxuICBFdmVudERhdGFFeHBsb3JlckNvbXBvbmVudCxcbiAgRXZlbnREYXRhRXhwbG9yZXJEaWFsb2dDb21wb25lbnQsXG4gIEN5Y2xlRXZlbnRzQ29tcG9uZW50LFxufSBmcm9tICcuL3VpLW1lbnUnO1xuaW1wb3J0IHsgQXR0cmlidXRlUGlwZSB9IGZyb20gJy4uL3NlcnZpY2VzL2V4dHJhcy9hdHRyaWJ1dGUucGlwZSc7XG5pbXBvcnQgeyBFdmVudERpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZXZlbnQtZGlzcGxheS5zZXJ2aWNlJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lcnJvci1tZXNzYWdlLXNlcnZpY2UnO1xuaW1wb3J0IHsgR2xvYmFsRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi4vc2VydmljZXMvZ2xvYmFsLWVycm9yLWhhbmRsZXInO1xuaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbWJlZE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2VtYmVkLW1lbnUvZW1iZWQtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXhwZXJpbWVudExpbmtDb21wb25lbnQgfSBmcm9tICcuL2VtYmVkLW1lbnUvZXhwZXJpbWVudC1saW5rL2V4cGVyaW1lbnQtbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZUV4cGxvcmVyQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLWV4cGxvcmVyL2ZpbGUtZXhwbG9yZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFJpbmdMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3JpbmctbG9hZGVyL3JpbmctbG9hZGVyLmNvbXBvbmVudCc7XG5cbmNvbnN0IFBIT0VOSVhfQ09NUE9ORU5UUzogVHlwZTxhbnk+W10gPSBbXG4gIE5hdkNvbXBvbmVudCxcbiAgVWlNZW51V3JhcHBlckNvbXBvbmVudCxcbiAgVWlNZW51Q29tcG9uZW50LFxuICBDb2xsZWN0aW9uc0luZm9Db21wb25lbnQsXG4gIEdlb21ldHJ5QnJvd3NlckNvbXBvbmVudCxcbiAgR2VvbWV0cnlCcm93c2VyT3ZlcmxheUNvbXBvbmVudCxcbiAgTWVudVRvZ2dsZUNvbXBvbmVudCxcbiAgQ29sbGVjdGlvbnNJbmZvT3ZlcmxheUNvbXBvbmVudCxcbiAgSW9PcHRpb25zQ29tcG9uZW50LFxuICBJT09wdGlvbnNEaWFsb2dDb21wb25lbnQsXG4gIE92ZXJsYXlWaWV3Q29tcG9uZW50LFxuICBBdHRyaWJ1dGVQaXBlLFxuICBPYmplY3RTZWxlY3Rpb25Db21wb25lbnQsXG4gIE9iamVjdFNlbGVjdGlvbk92ZXJsYXlDb21wb25lbnQsXG4gIEV2ZW50U2VsZWN0b3JDb21wb25lbnQsXG4gIE9iamVjdENsaXBwaW5nQ29tcG9uZW50LFxuICBEYXJrVGhlbWVDb21wb25lbnQsXG4gIEF1dG9Sb3RhdGVDb21wb25lbnQsXG4gIFZpZXdPcHRpb25zQ29tcG9uZW50LFxuICBDYXJ0ZXNpYW5HcmlkQ29uZmlnQ29tcG9uZW50LFxuICBPdmVybGF5Vmlld1dpbmRvd0NvbXBvbmVudCxcbiAgT3ZlcmxheUNvbXBvbmVudCxcbiAgRXhwZXJpbWVudEluZm9Db21wb25lbnQsXG4gIEluZm9QYW5lbENvbXBvbmVudCxcbiAgSW5mb1BhbmVsT3ZlcmxheUNvbXBvbmVudCxcbiAgTWFpblZpZXdUb2dnbGVDb21wb25lbnQsXG4gIFpvb21Db250cm9sc0NvbXBvbmVudCxcbiAgVHJlZU1lbnVDb21wb25lbnQsXG4gIFRyZWVNZW51SXRlbUNvbXBvbmVudCxcbiAgUGhvZW5peE1lbnVDb21wb25lbnQsXG4gIFBob2VuaXhNZW51SXRlbUNvbXBvbmVudCxcbiAgQ29uZmlnU2xpZGVyQ29tcG9uZW50LFxuICBBbmltYXRlQ2FtZXJhQ29tcG9uZW50LFxuICBBbmltYXRlRXZlbnRDb21wb25lbnQsXG4gIFZyVG9nZ2xlQ29tcG9uZW50LFxuICBBclRvZ2dsZUNvbXBvbmVudCxcbiAgU1NNb2RlQ29tcG9uZW50LFxuICBNYWtlUGljdHVyZUNvbXBvbmVudCxcbiAgUGVyZm9ybWFuY2VUb2dnbGVDb21wb25lbnQsXG4gIExvYWRlckNvbXBvbmVudCxcbiAgU2hhcmVMaW5rQ29tcG9uZW50LFxuICBTaGFyZUxpbmtEaWFsb2dDb21wb25lbnQsXG4gIEVtYmVkTWVudUNvbXBvbmVudCxcbiAgRXhwZXJpbWVudExpbmtDb21wb25lbnQsXG4gIEV2ZW50RGF0YUV4cGxvcmVyQ29tcG9uZW50LFxuICBFdmVudERhdGFFeHBsb3JlckRpYWxvZ0NvbXBvbmVudCxcbiAgRmlsZUV4cGxvcmVyQ29tcG9uZW50LFxuICBSaW5nTG9hZGVyQ29tcG9uZW50LFxuICBDeWNsZUV2ZW50c0NvbXBvbmVudCxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogUEhPRU5JWF9DT01QT05FTlRTLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgIE1hdFNsaWRlck1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIENka1RyZWVNb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogUEhPRU5JWF9DT01QT05FTlRTLFxuICBwcm92aWRlcnM6IFtcbiAgICBFdmVudERpc3BsYXlTZXJ2aWNlLFxuICAgIEVycm9yTWVzc2FnZVNlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogRXJyb3JIYW5kbGVyLFxuICAgICAgdXNlQ2xhc3M6IEdsb2JhbEVycm9ySGFuZGxlcixcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQaG9lbml4VUlNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class RingLoaderComponent {
4
+ static ɵfac = function RingLoaderComponent_Factory(t) { return new (t || RingLoaderComponent)(); };
5
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RingLoaderComponent, selectors: [["app-ring-loader"]], decls: 5, vars: 0, consts: [[1, "ring"]], template: function RingLoaderComponent_Template(rf, ctx) { if (rf & 1) {
6
+ i0.ɵɵelementStart(0, "div", 0);
7
+ i0.ɵɵelement(1, "div")(2, "div")(3, "div")(4, "div");
8
+ i0.ɵɵelementEnd();
9
+ } }, styles: [".ring[_ngcontent-%COMP%]{display:inline-block;position:relative;width:1.5rem;height:1.5rem}.ring[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{box-sizing:border-box;display:block;position:absolute;width:1.5rem;height:1.5rem;margin:.25rem .5rem;border:.25rem solid var(--phoenix-text-color);border-radius:50%;animation:animate-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--phoenix-text-color) transparent transparent transparent}.ring[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:nth-child(1){animation-delay:-.45s}.ring[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:nth-child(2){animation-delay:-.3s}.ring[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:nth-child(3){animation-delay:-.15s}@keyframes _ngcontent-%COMP%_app-ring-loader_animate-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"] });
10
+ }
11
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RingLoaderComponent, [{
12
+ type: Component,
13
+ args: [{ selector: 'app-ring-loader', template: "<div class=\"ring\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n</div>\n", styles: [".ring{display:inline-block;position:relative;width:1.5rem;height:1.5rem}.ring div{box-sizing:border-box;display:block;position:absolute;width:1.5rem;height:1.5rem;margin:.25rem .5rem;border:.25rem solid var(--phoenix-text-color);border-radius:50%;animation:animate-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--phoenix-text-color) transparent transparent transparent}.ring div:nth-child(1){animation-delay:-.45s}.ring div:nth-child(2){animation-delay:-.3s}.ring div:nth-child(3){animation-delay:-.15s}@keyframes app-ring-loader_animate-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
14
+ }], null, null); })();
15
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RingLoaderComponent, { className: "RingLoaderComponent", filePath: "components/ring-loader/ring-loader.component.ts", lineNumber: 8 }); })();
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmluZy1sb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvcmluZy1sb2FkZXIvcmluZy1sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvcmluZy1sb2FkZXIvcmluZy1sb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLG1CQUFtQjs2RUFBbkIsbUJBQW1COzZEQUFuQixtQkFBbUI7WUNQaEMsOEJBQWtCO1lBSWhCLEFBREEsQUFEQSxBQURBLHNCQUFXLFVBQ0EsVUFDQSxVQUNBO1lBQ2IsaUJBQU07OztpRkRFTyxtQkFBbUI7Y0FML0IsU0FBUzsyQkFDRSxpQkFBaUI7O2tGQUloQixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJpbmctbG9hZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JpbmctbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmluZy1sb2FkZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUmluZ0xvYWRlckNvbXBvbmVudCB7fVxuIiwiPGRpdiBjbGFzcz1cInJpbmdcIj5cbiAgPGRpdj48L2Rpdj5cbiAgPGRpdj48L2Rpdj5cbiAgPGRpdj48L2Rpdj5cbiAgPGRpdj48L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,120 @@
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/common";
6
+ import * as i3 from "@angular/material/menu";
7
+ import * as i4 from "../menu-toggle/menu-toggle.component";
8
+ function AnimateCameraComponent_button_2_Template(rf, ctx) { if (rf & 1) {
9
+ const _r2 = i0.ɵɵgetCurrentView();
10
+ i0.ɵɵelementStart(0, "button", 2);
11
+ i0.ɵɵlistener("click", function AnimateCameraComponent_button_2_Template_button_click_0_listener() { const preset_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.animatePreset(preset_r3)); });
12
+ i0.ɵɵtext(1);
13
+ i0.ɵɵelementEnd();
14
+ } if (rf & 2) {
15
+ const preset_r3 = ctx.$implicit;
16
+ i0.ɵɵadvance();
17
+ i0.ɵɵtextInterpolate1(" ", preset_r3, " ");
18
+ } }
19
+ export const defaultAnimationPresets = {
20
+ 'Cavern to ID': {
21
+ name: 'Cavern to ID',
22
+ positions: [
23
+ {
24
+ position: [66388.95051168812, 5264.228603228927, -46910.7848593543],
25
+ duration: 1000,
26
+ },
27
+ {
28
+ position: [12834.18729094943, 677.7571205763458, 135.68755273443463],
29
+ duration: 2000,
30
+ },
31
+ {
32
+ position: [312.02688693297375, 25.884223757326, 270.10019006776236],
33
+ duration: 3500,
34
+ },
35
+ {
36
+ position: [263.3640855132258, 19.874838262525053, -318.16541790248885],
37
+ duration: 3000,
38
+ },
39
+ {
40
+ position: [5534.140362338047, 234.03507981484574, -2933.619479808285],
41
+ duration: 2000,
42
+ },
43
+ {
44
+ position: [2681.277288705242, 646.5795158318147, 5628.5248735111745],
45
+ duration: 1000,
46
+ },
47
+ {
48
+ position: [-6062.586283740076, 790.5876682946184, 1381.1675900848818],
49
+ duration: 1000,
50
+ },
51
+ {
52
+ position: [-1766.7693725879053, 1007.1048030984678, -5928.901341784575],
53
+ duration: 1000,
54
+ },
55
+ {
56
+ position: [12814.982506255355, 2516.987185037266, -22891.902734328327],
57
+ duration: 1000,
58
+ },
59
+ ],
60
+ animateEventAfterInterval: 5000,
61
+ collisionDuration: 6000,
62
+ },
63
+ };
64
+ export class AnimateCameraComponent {
65
+ eventDisplay;
66
+ animationPresets = defaultAnimationPresets;
67
+ animationPresetsKeys = Object.keys(this.animationPresets);
68
+ isAnimating = false;
69
+ constructor(eventDisplay) {
70
+ this.eventDisplay = eventDisplay;
71
+ // this.animationPresets = this.eventDisplay
72
+ // .getUIManager()
73
+ // .getPresetAnimations();
74
+ // This is too late to fill the UI! FIXME. EJWM
75
+ }
76
+ animatePreset(preset) {
77
+ this.setDetectorOpacity(0.2);
78
+ this.eventDisplay.animatePreset(this.animationPresets[preset], () => {
79
+ this.setDetectorOpacity(1);
80
+ });
81
+ }
82
+ animateCamera() {
83
+ if (!this.isAnimating) {
84
+ this.isAnimating = true;
85
+ this.eventDisplay.animateThroughEvent([11976, 7262, 11927], 3000, () => {
86
+ this.isAnimating = false;
87
+ });
88
+ }
89
+ }
90
+ setDetectorOpacity(opacity) {
91
+ const sceneManager = this.eventDisplay.getThreeManager().getSceneManager();
92
+ const geometriesGroup = sceneManager.getObjectByName(SceneManager.GEOMETRIES_ID);
93
+ sceneManager.setGeometryOpacity(geometriesGroup, opacity);
94
+ }
95
+ static ɵfac = function AnimateCameraComponent_Factory(t) { return new (t || AnimateCameraComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService)); };
96
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AnimateCameraComponent, selectors: [["app-animate-camera"]], inputs: { animationPresets: "animationPresets" }, decls: 6, vars: 2, consts: [["animationPresets", ""], ["mat-menu-item", "", 3, "click", 4, "ngFor", "ngForOf"], ["mat-menu-item", "", 3, "click"], ["tooltip", "Preset animations", "icon", "animate-camera", 3, "matMenuTriggerFor"]], template: function AnimateCameraComponent_Template(rf, ctx) { if (rf & 1) {
97
+ const _r1 = i0.ɵɵgetCurrentView();
98
+ i0.ɵɵelementStart(0, "mat-menu", null, 0);
99
+ i0.ɵɵtemplate(2, AnimateCameraComponent_button_2_Template, 2, 1, "button", 1);
100
+ i0.ɵɵelementStart(3, "button", 2);
101
+ i0.ɵɵlistener("click", function AnimateCameraComponent_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.animateCamera()); });
102
+ i0.ɵɵtext(4, "Animate camera");
103
+ i0.ɵɵelementEnd()();
104
+ i0.ɵɵelement(5, "app-menu-toggle", 3);
105
+ } if (rf & 2) {
106
+ const animationPresets_r5 = i0.ɵɵreference(1);
107
+ i0.ɵɵadvance(2);
108
+ i0.ɵɵproperty("ngForOf", ctx.animationPresetsKeys);
109
+ i0.ɵɵadvance(3);
110
+ i0.ɵɵproperty("matMenuTriggerFor", animationPresets_r5);
111
+ } }, dependencies: [i2.NgForOf, i3.MatMenu, i3.MatMenuItem, i3.MatMenuTrigger, i4.MenuToggleComponent] });
112
+ }
113
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnimateCameraComponent, [{
114
+ type: Component,
115
+ 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" }]
116
+ }], () => [{ type: i1.EventDisplayService }], { animationPresets: [{
117
+ type: Input
118
+ }] }); })();
119
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AnimateCameraComponent, { className: "AnimateCameraComponent", filePath: "components/ui-menu/animate-camera/animate-camera.component.ts", lineNumber: 58 }); })();
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZS1jYW1lcmEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvdWktbWVudS9hbmltYXRlLWNhbWVyYS9hbmltYXRlLWNhbWVyYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2FuaW1hdGUtY2FtZXJhL2FuaW1hdGUtY2FtZXJhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBbUIsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7O0lDQXBFLGlDQUlDO0lBREMsaU5BQVMsK0JBQXFCLEtBQUM7SUFFL0IsWUFDRjtJQUFBLGlCQUFTOzs7SUFEUCxjQUNGO0lBREUsMENBQ0Y7O0FESEYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBRWhDO0lBQ0YsY0FBYyxFQUFFO1FBQ2QsSUFBSSxFQUFFLGNBQWM7UUFDcEIsU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsUUFBUSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDbkUsUUFBUSxFQUFFLElBQUk7YUFDZjtZQUNEO2dCQUNFLFFBQVEsRUFBRSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixDQUFDO2dCQUNwRSxRQUFRLEVBQUUsSUFBSTthQUNmO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixDQUFDO2dCQUNuRSxRQUFRLEVBQUUsSUFBSTthQUNmO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDdEUsUUFBUSxFQUFFLElBQUk7YUFDZjtZ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bmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFuaW1hdGlvblByZXNldCwgU2NlbmVNYW5hZ2VyIH0gZnJvbSAncGhvZW5peC1ldmVudC1kaXNwbGF5JztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEFuaW1hdGlvblByZXNldHM6IHtcbiAgW2tleTogc3RyaW5nXTogQW5pbWF0aW9uUHJlc2V0O1xufSA9IHtcbiAgJ0NhdmVybiB0byBJRCc6IHtcbiAgICBuYW1lOiAnQ2F2ZXJuIHRvIElEJyxcbiAgICBwb3NpdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgcG9zaXRpb246IFs2NjM4OC45NTA1MTE2ODgxMiwgNTI2NC4yMjg2MDMyMjg5MjcsIC00NjkxMC43ODQ4NTkzNTQzXSxcbiAgICAgICAgZHVyYXRpb246IDEwMDAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwb3NpdGlvbjogWzEyODM0LjE4NzI5MDk0OTQzLCA2NzcuNzU3MTIwNTc2MzQ1OCwgMTM1LjY4NzU1MjczNDQzNDYzXSxcbiAgICAgICAgZHVyYXRpb246IDIwMDAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwb3NpdGlvbjogWzMxMi4wMjY4ODY5MzI5NzM3NSwgMjUuODg0MjIzNzU3MzI2LCAyNzAuMTAwMTkwMDY3NzYyMzZdLFxuICAgICAgICBkdXJhdGlvbjogMzUwMCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBvc2l0aW9uOiBbMjYzLjM2NDA4NTUxMzIyNTgsIDE5Ljg3NDgzODI2MjUyNTA1MywgLTMxOC4xNjU0MTc5MDI0ODg4NV0sXG4gICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcG9zaXRpb246IFs1NTM0LjE0MDM2MjMzODA0NywgMjM0LjAzNTA3OTgxNDg0NTc0LCAtMjkzMy42MTk0Nzk4MDgyODVdLFxuICAgICAgICBkdXJhdGlvbjogMjAwMCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBvc2l0aW9uOiBbMjY4MS4yNzcyODg3MDUyNDIsIDY0Ni41Nzk1MTU4MzE4MTQ3LCA1NjI4LjUyNDg3MzUxMTE3NDVdLFxuICAgICAgICBkdXJhdGlvbjogMTAwMCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBvc2l0aW9uOiBbLTYwNjIuNTg2MjgzNzQwMDc2LCA3OTAuNTg3NjY4Mjk0NjE4NCwgMTM4MS4xNjc1OTAwODQ4ODE4XSxcbiAgICAgICAgZHVyYXRpb246IDEwMDAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwb3NpdGlvbjogWy0xNzY2Ljc2OTM3MjU4NzkwNTMsIDEwMDcuMTA0ODAzMDk4NDY3OCwgLTU5MjguOTAxMzQxNzg0NTc1XSxcbiAgICAgICAgZHVyYXRpb246IDEwMDAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwb3NpdGlvbjogWzEyODE0Ljk4MjUwNjI1NTM1NSwgMjUxNi45ODcxODUwMzcyNjYsIC0yMjg5MS45MDI3MzQzMjgzMjddLFxuICAgICAgICBkdXJhdGlvbjogMTAwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBhbmltYXRlRXZlbnRBZnRlckludGVydmFsOiA1MDAwLFxuICAgIGNvbGxpc2lvbkR1cmF0aW9uOiA2MDAwLFxuICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFuaW1hdGUtY2FtZXJhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FuaW1hdGUtY2FtZXJhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYW5pbWF0ZS1jYW1lcmEuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5pbWF0ZUNhbWVyYUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGFuaW1hdGlvblByZXNldHMgPSBkZWZhdWx0QW5pbWF0aW9uUHJlc2V0cztcbiAgYW5pbWF0aW9uUHJlc2V0c0tleXMgPSBPYmplY3Qua2V5cyh0aGlzLmFuaW1hdGlvblByZXNldHMpO1xuICBpc0FuaW1hdGluZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXZlbnREaXNwbGF5OiBFdmVudERpc3BsYXlTZXJ2aWNlKSB7XG4gICAgLy8gdGhpcy5hbmltYXRpb25QcmVzZXRzID0gdGhpcy5ldmVudERpc3BsYXlcbiAgICAvLyAgIC5nZXRVSU1hbmFnZXIoKVxuICAgIC8vICAgLmdldFByZXNldEFuaW1hdGlvbnMoKTtcbiAgICAvLyBUaGlzIGlzIHRvbyBsYXRlIHRvIGZpbGwgdGhlIFVJISBGSVhNRS4gRUpXTVxuICB9XG5cbiAgYW5pbWF0ZVByZXNldChwcmVzZXQ6IHN0cmluZykge1xuICAgIHRoaXMuc2V0RGV0ZWN0b3JPcGFjaXR5KDAuMik7XG4gICAgdGhpcy5ldmVudERpc3BsYXkuYW5pbWF0ZVByZXNldCh0aGlzLmFuaW1hdGlvblByZXNldHNbcHJlc2V0XSwgKCkgPT4ge1xuICAgICAgdGhpcy5zZXREZXRlY3Rvck9wYWNpdHkoMSk7XG4gICAgfSk7XG4gIH1cblxuICBhbmltYXRlQ2FtZXJhKCkge1xuICAgIGlmICghdGhpcy5pc0FuaW1hdGluZykge1xuICAgICAgdGhpcy5pc0FuaW1hdGluZyA9IHRydWU7XG4gICAgICB0aGlzLmV2ZW50RGlzcGxheS5hbmltYXRlVGhyb3VnaEV2ZW50KFsxMTk3NiwgNzI2MiwgMTE5MjddLCAzMDAwLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNBbmltYXRpbmcgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RGV0ZWN0b3JPcGFjaXR5KG9wYWNpdHk6IG51bWJlcikge1xuICAgIGNvbnN0IHNjZW5lTWFuYWdlciA9IHRoaXMuZXZlbnREaXNwbGF5LmdldFRocmVlTWFuYWdlcigpLmdldFNjZW5lTWFuYWdlcigpO1xuICAgIGNvbnN0IGdlb21ldHJpZXNHcm91cCA9IHNjZW5lTWFuYWdlci5nZXRPYmplY3RCeU5hbWUoXG4gICAgICBTY2VuZU1hbmFnZXIuR0VPTUVUUklFU19JRCxcbiAgICApO1xuXG4gICAgc2NlbmVNYW5hZ2VyLnNldEdlb21ldHJ5T3BhY2l0eShnZW9tZXRyaWVzR3JvdXAsIG9wYWNpdHkpO1xuICB9XG59XG4iLCI8bWF0LW1lbnUgI2FuaW1hdGlvblByZXNldHM+XG4gIDxidXR0b25cbiAgICBtYXQtbWVudS1pdGVtXG4gICAgKm5nRm9yPVwibGV0IHByZXNldCBvZiBhbmltYXRpb25QcmVzZXRzS2V5c1wiXG4gICAgKGNsaWNrKT1cImFuaW1hdGVQcmVzZXQocHJlc2V0KVwiXG4gID5cbiAgICB7eyBwcmVzZXQgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiYW5pbWF0ZUNhbWVyYSgpXCI+QW5pbWF0ZSBjYW1lcmE8L2J1dHRvbj5cbjwvbWF0LW1lbnU+XG5cbjxhcHAtbWVudS10b2dnbGVcbiAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFuaW1hdGlvblByZXNldHNcIlxuICB0b29sdGlwPVwiUHJlc2V0IGFuaW1hdGlvbnNcIlxuICBpY29uPVwiYW5pbWF0ZS1jYW1lcmFcIlxuPlxuPC9hcHAtbWVudS10b2dnbGU+XG4iXX0=
@@ -0,0 +1,33 @@
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
+ eventDisplay;
7
+ isAnimating = false;
8
+ constructor(eventDisplay) {
9
+ this.eventDisplay = eventDisplay;
10
+ }
11
+ toggleAnimateEvent() {
12
+ if (!this.isAnimating) {
13
+ this.isAnimating = true;
14
+ this.eventDisplay.animateEventWithCollision(10000, () => {
15
+ this.isAnimating = false;
16
+ });
17
+ }
18
+ }
19
+ static ɵfac = function AnimateEventComponent_Factory(t) { return new (t || AnimateEventComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService)); };
20
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AnimateEventComponent, selectors: [["app-animate-event"]], decls: 1, vars: 1, consts: [["tooltip", "Animate event", "icon", "event-folder", 3, "click", "active"]], template: function AnimateEventComponent_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵelementStart(0, "app-menu-toggle", 0);
22
+ i0.ɵɵlistener("click", function AnimateEventComponent_Template_app_menu_toggle_click_0_listener() { return ctx.toggleAnimateEvent(); });
23
+ i0.ɵɵelementEnd();
24
+ } if (rf & 2) {
25
+ i0.ɵɵproperty("active", ctx.isAnimating);
26
+ } }, dependencies: [i2.MenuToggleComponent] });
27
+ }
28
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnimateEventComponent, [{
29
+ type: Component,
30
+ 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" }]
31
+ }], () => [{ type: i1.EventDisplayService }], null); })();
32
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AnimateEventComponent, { className: "AnimateEventComponent", filePath: "components/ui-menu/animate-event/animate-event.component.ts", lineNumber: 9 }); })();
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZS1ldmVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2FuaW1hdGUtZXZlbnQvYW5pbWF0ZS1ldmVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2FuaW1hdGUtZXZlbnQvYW5pbWF0ZS1ldmVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUTFDLE1BQU0sT0FBTyxxQkFBcUI7SUFHWjtJQUZwQixXQUFXLEdBQVksS0FBSyxDQUFDO0lBRTdCLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtJQUFHLENBQUM7SUFFekQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUN0RCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOytFQVpVLHFCQUFxQjs2REFBckIscUJBQXFCO1lDUmxDLDBDQUtDO1lBREMsMkdBQVMsd0JBQW9CLElBQUM7WUFFaEMsaUJBQWtCOztZQUhoQix3Q0FBc0I7OztpRkRLWCxxQkFBcUI7Y0FMakMsU0FBUzsyQkFDRSxtQkFBbUI7O2tGQUlsQixxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYW5pbWF0ZS1ldmVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmltYXRlLWV2ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYW5pbWF0ZS1ldmVudC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBbmltYXRlRXZlbnRDb21wb25lbnQge1xuICBpc0FuaW1hdGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXZlbnREaXNwbGF5OiBFdmVudERpc3BsYXlTZXJ2aWNlKSB7fVxuXG4gIHRvZ2dsZUFuaW1hdGVFdmVudCgpIHtcbiAgICBpZiAoIXRoaXMuaXNBbmltYXRpbmcpIHtcbiAgICAgIHRoaXMuaXNBbmltYXRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5ldmVudERpc3BsYXkuYW5pbWF0ZUV2ZW50V2l0aENvbGxpc2lvbigxMDAwMCwgKCkgPT4ge1xuICAgICAgICB0aGlzLmlzQW5pbWF0aW5nID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxhcHAtbWVudS10b2dnbGVcbiAgdG9vbHRpcD1cIkFuaW1hdGUgZXZlbnRcIlxuICBpY29uPVwiZXZlbnQtZm9sZGVyXCJcbiAgW2FjdGl2ZV09XCJpc0FuaW1hdGluZ1wiXG4gIChjbGljayk9XCJ0b2dnbGVBbmltYXRlRXZlbnQoKVwiXG4+XG48L2FwcC1tZW51LXRvZ2dsZT5cbiJdfQ==
@@ -0,0 +1,83 @@
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/common";
6
+ import * as i3 from "@angular/material/menu";
7
+ import * as i4 from "../menu-toggle/menu-toggle.component";
8
+ function ArToggleComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
9
+ const _r2 = i0.ɵɵgetCurrentView();
10
+ i0.ɵɵelementContainerStart(0);
11
+ i0.ɵɵelementStart(1, "button", 4);
12
+ i0.ɵɵlistener("click", function ArToggleComponent_ng_container_2_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleAr(true)); });
13
+ i0.ɵɵtext(2, "AR with overlays");
14
+ i0.ɵɵelementEnd();
15
+ i0.ɵɵelementStart(3, "button", 4);
16
+ i0.ɵɵlistener("click", function ArToggleComponent_ng_container_2_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleAr(false)); });
17
+ i0.ɵɵtext(4, "AR without overlays");
18
+ i0.ɵɵelementEnd();
19
+ i0.ɵɵelementContainerEnd();
20
+ } }
21
+ function ArToggleComponent_button_3_Template(rf, ctx) { if (rf & 1) {
22
+ i0.ɵɵelementStart(0, "button", 5);
23
+ i0.ɵɵtext(1, "AR not supported");
24
+ i0.ɵɵelementEnd();
25
+ } }
26
+ export class ArToggleComponent {
27
+ eventDisplay;
28
+ arSupported = false;
29
+ arActive = false;
30
+ constructor(eventDisplay) {
31
+ this.eventDisplay = eventDisplay;
32
+ // NOTE: WebXR needs secure HTTPS context
33
+ // 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
34
+ navigator.xr
35
+ ?.isSessionSupported?.(ARManager.SESSION_TYPE)
36
+ .then((supported) => {
37
+ if (supported) {
38
+ this.arSupported = true;
39
+ }
40
+ })
41
+ .catch((err) => console.warn('Error in AR', err));
42
+ }
43
+ toggleAr(enableDomOverlay = true) {
44
+ ARManager.enableDomOverlay = enableDomOverlay;
45
+ // If toggling AR on
46
+ if (!this.arActive) {
47
+ this.eventDisplay.initXR(XRSessionType.AR, () => {
48
+ this.arActive = false;
49
+ // Disable renderer XR and remove animation loop
50
+ this.eventDisplay.endXR(XRSessionType.AR);
51
+ });
52
+ this.arActive = true;
53
+ }
54
+ else {
55
+ this.eventDisplay.endXR(XRSessionType.AR);
56
+ this.arActive = false;
57
+ }
58
+ }
59
+ static ɵfac = function ArToggleComponent_Factory(t) { return new (t || ArToggleComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService)); };
60
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ArToggleComponent, selectors: [["app-ar-toggle"]], decls: 5, vars: 6, consts: [["arToggleOptions", ""], [4, "ngIf"], ["mat-menu-item", "", "disabled", "", 4, "ngIf"], ["icon", "ar", 3, "click", "matMenuTriggerFor", "disabled", "active", "tooltip"], ["mat-menu-item", "", 3, "click"], ["mat-menu-item", "", "disabled", ""]], template: function ArToggleComponent_Template(rf, ctx) { if (rf & 1) {
61
+ const _r1 = i0.ɵɵgetCurrentView();
62
+ i0.ɵɵelementStart(0, "mat-menu", null, 0);
63
+ i0.ɵɵtemplate(2, ArToggleComponent_ng_container_2_Template, 5, 0, "ng-container", 1)(3, ArToggleComponent_button_3_Template, 2, 0, "button", 2);
64
+ i0.ɵɵelementEnd();
65
+ i0.ɵɵelementStart(4, "app-menu-toggle", 3);
66
+ i0.ɵɵlistener("click", function ArToggleComponent_Template_app_menu_toggle_click_4_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.arSupported && (ctx.arActive ? ctx.toggleAr() : null)); });
67
+ i0.ɵɵelementEnd();
68
+ } if (rf & 2) {
69
+ const arToggleOptions_r4 = i0.ɵɵreference(1);
70
+ i0.ɵɵadvance(2);
71
+ i0.ɵɵproperty("ngIf", ctx.arSupported);
72
+ i0.ɵɵadvance();
73
+ i0.ɵɵproperty("ngIf", !ctx.arSupported);
74
+ i0.ɵɵadvance();
75
+ i0.ɵɵproperty("matMenuTriggerFor", arToggleOptions_r4)("disabled", !ctx.arSupported)("active", ctx.arActive)("tooltip", ctx.arSupported ? ctx.arActive ? "Exit AR" : "Enter AR" : "AR not supported");
76
+ } }, dependencies: [i2.NgIf, i3.MatMenu, i3.MatMenuItem, i3.MatMenuTrigger, i4.MenuToggleComponent] });
77
+ }
78
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ArToggleComponent, [{
79
+ type: Component,
80
+ 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" }]
81
+ }], () => [{ type: i1.EventDisplayService }], null); })();
82
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ArToggleComponent, { className: "ArToggleComponent", filePath: "components/ui-menu/ar-toggle/ar-toggle.component.ts", lineNumber: 10 }); })();
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXItdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvYXItdG9nZ2xlL2FyLXRvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2FyLXRvZ2dsZS9hci10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztJQ0QvRCw2QkFBa0M7SUFDaEMsaUNBQStDO0lBQXpCLHNMQUFTLGdCQUFTLElBQUksQ0FBQyxLQUFDO0lBQUMsZ0NBQWdCO0lBQUEsaUJBQVM7SUFDeEUsaUNBQWdEO0lBQTFCLHNMQUFTLGdCQUFTLEtBQUssQ0FBQyxLQUFDO0lBQUMsbUNBQW1CO0lBQUEsaUJBQVM7Ozs7SUFFOUUsaUNBQW9EO0lBQUEsZ0NBQWdCO0lBQUEsaUJBQVM7O0FESS9FLE1BQU0sT0FBTyxpQkFBaUI7SUFJUjtJQUhwQixXQUFXLEdBQVksS0FBSyxDQUFDO0lBQzdCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFMUIsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ25ELHlDQUF5QztRQUN6QyxzSkFBc0o7UUFDckosU0FBaUIsQ0FBQyxFQUFFO1lBQ25CLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO2FBQzdDLElBQUksQ0FBQyxDQUFDLFNBQWtCLEVBQUUsRUFBRTtZQUMzQixJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQzFCLENBQUM7UUFDSCxDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFFBQVEsQ0FBQyxtQkFBNEIsSUFBSTtRQUN2QyxTQUFTLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFFOUMsb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN0QixnREFBZ0Q7Z0JBQ2hELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM1QyxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDOzJFQWhDVSxpQkFBaUI7NkRBQWpCLGlCQUFpQjs7WUNUOUIseUNBQTJCO1lBS3pCLEFBSkEsb0ZBQWtDLDJEQUlrQjtZQUN0RCxpQkFBVztZQUVYLDBDQVNDO1lBUEMsZ0xBQW9DLGNBQVUsR0FBRyxJQUFJLE1BQUU7WUFRekQsaUJBQWtCOzs7WUFqQkQsZUFBaUI7WUFBakIsc0NBQWlCO1lBSXZCLGNBQWtCO1lBQWxCLHVDQUFrQjtZQUkzQixjQUFxQztZQUtyQyxBQUZBLEFBREEsQUFGQSxzREFBcUMsOEJBRVosd0JBQ04seUZBSWxCOzs7aUZEUFUsaUJBQWlCO2NBTDdCLFNBQVM7MkJBQ0UsZUFBZTs7a0ZBSWQsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudERpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXZlbnQtZGlzcGxheS5zZXJ2aWNlJztcbmltcG9ydCB7IEFSTWFuYWdlciwgWFJTZXNzaW9uVHlwZSB9IGZyb20gJ3Bob2VuaXgtZXZlbnQtZGlzcGxheSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hci10b2dnbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXItdG9nZ2xlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXItdG9nZ2xlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFyVG9nZ2xlQ29tcG9uZW50IHtcbiAgYXJTdXBwb3J0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYXJBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV2ZW50RGlzcGxheTogRXZlbnREaXNwbGF5U2VydmljZSkge1xuICAgIC8vIE5PVEU6IFdlYlhSIG5lZWRzIHNlY3VyZSBIVFRQUyBjb250ZXh0XG4gICAgLy8gUXVlcnkgZm9yIHBlcm1pc3Npb25zIG9mIFhSIGJlZm9yZSB1c2luZyBpdCAobm90IHN1cHBvcnRlZCBieSBicm93c2VycyB5ZXQpLiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1Blcm1pc3Npb25zL3F1ZXJ5XG4gICAgKG5hdmlnYXRvciBhcyBhbnkpLnhyXG4gICAgICA/LmlzU2Vzc2lvblN1cHBvcnRlZD8uKEFSTWFuYWdlci5TRVNTSU9OX1RZUEUpXG4gICAgICAudGhlbigoc3VwcG9ydGVkOiBib29sZWFuKSA9PiB7XG4gICAgICAgIGlmIChzdXBwb3J0ZWQpIHtcbiAgICAgICAgICB0aGlzLmFyU3VwcG9ydGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyOiBhbnkpID0+IGNvbnNvbGUud2FybignRXJyb3IgaW4gQVInLCBlcnIpKTtcbiAgfVxuXG4gIHRvZ2dsZUFyKGVuYWJsZURvbU92ZXJsYXk6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgQVJNYW5hZ2VyLmVuYWJsZURvbU92ZXJsYXkgPSBlbmFibGVEb21PdmVybGF5O1xuXG4gICAgLy8gSWYgdG9nZ2xpbmcgQVIgb25cbiAgICBpZiAoIXRoaXMuYXJBY3RpdmUpIHtcbiAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmluaXRYUihYUlNlc3Npb25UeXBlLkFSLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuYXJBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgLy8gRGlzYWJsZSByZW5kZXJlciBYUiBhbmQgcmVtb3ZlIGFuaW1hdGlvbiBsb29wXG4gICAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmVuZFhSKFhSU2Vzc2lvblR5cGUuQVIpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmFyQWN0aXZlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ldmVudERpc3BsYXkuZW5kWFIoWFJTZXNzaW9uVHlwZS5BUik7XG4gICAgICB0aGlzLmFyQWN0aXZlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8bWF0LW1lbnUgI2FyVG9nZ2xlT3B0aW9ucz5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFyU3VwcG9ydGVkXCI+XG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJ0b2dnbGVBcih0cnVlKVwiPkFSIHdpdGggb3ZlcmxheXM8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInRvZ2dsZUFyKGZhbHNlKVwiPkFSIHdpdGhvdXQgb3ZlcmxheXM8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxidXR0b24gKm5nSWY9XCIhYXJTdXBwb3J0ZWRcIiBtYXQtbWVudS1pdGVtIGRpc2FibGVkPkFSIG5vdCBzdXBwb3J0ZWQ8L2J1dHRvbj5cbjwvbWF0LW1lbnU+XG5cbjxhcHAtbWVudS10b2dnbGVcbiAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFyVG9nZ2xlT3B0aW9uc1wiXG4gIChjbGljayk9XCJhclN1cHBvcnRlZCAmJiAoYXJBY3RpdmUgPyB0b2dnbGVBcigpIDogbnVsbClcIlxuICBbZGlzYWJsZWRdPVwiIWFyU3VwcG9ydGVkXCJcbiAgW2FjdGl2ZV09XCJhckFjdGl2ZVwiXG4gIGljb249XCJhclwiXG4gIFt0b29sdGlwXT1cIlxuICAgIGFyU3VwcG9ydGVkID8gKGFyQWN0aXZlID8gJ0V4aXQgQVInIDogJ0VudGVyIEFSJykgOiAnQVIgbm90IHN1cHBvcnRlZCdcbiAgXCJcbj5cbjwvYXBwLW1lbnUtdG9nZ2xlPlxuIl19
@@ -0,0 +1,29 @@
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
+ eventDisplay;
7
+ autoRotate = false;
8
+ constructor(eventDisplay) {
9
+ this.eventDisplay = eventDisplay;
10
+ }
11
+ toggleAutoRotate() {
12
+ this.autoRotate = !this.autoRotate;
13
+ this.eventDisplay.getUIManager().setAutoRotate(this.autoRotate);
14
+ }
15
+ static ɵfac = function AutoRotateComponent_Factory(t) { return new (t || AutoRotateComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService)); };
16
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AutoRotateComponent, selectors: [["app-auto-rotate"]], decls: 1, vars: 1, consts: [["tooltip", "Auto rotate", "icon", "rotate", 3, "click", "active"]], template: function AutoRotateComponent_Template(rf, ctx) { if (rf & 1) {
17
+ i0.ɵɵelementStart(0, "app-menu-toggle", 0);
18
+ i0.ɵɵlistener("click", function AutoRotateComponent_Template_app_menu_toggle_click_0_listener() { return ctx.toggleAutoRotate(); });
19
+ i0.ɵɵelementEnd();
20
+ } if (rf & 2) {
21
+ i0.ɵɵproperty("active", ctx.autoRotate);
22
+ } }, dependencies: [i2.MenuToggleComponent] });
23
+ }
24
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AutoRotateComponent, [{
25
+ type: Component,
26
+ 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" }]
27
+ }], () => [{ type: i1.EventDisplayService }], null); })();
28
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AutoRotateComponent, { className: "AutoRotateComponent", filePath: "components/ui-menu/auto-rotate/auto-rotate.component.ts", lineNumber: 9 }); })();
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1yb3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvdWktbWVudS9hdXRvLXJvdGF0ZS9hdXRvLXJvdGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2F1dG8tcm90YXRlL2F1dG8tcm90YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRMUMsTUFBTSxPQUFPLG1CQUFtQjtJQUdWO0lBRnBCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFbkIsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO0lBQUcsQ0FBQztJQUV6RCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEUsQ0FBQzs2RUFSVSxtQkFBbUI7NkRBQW5CLG1CQUFtQjtZQ1JoQywwQ0FLQztZQURDLHlHQUFTLHNCQUFrQixJQUFDO1lBRTlCLGlCQUFrQjs7WUFIaEIsdUNBQXFCOzs7aUZES1YsbUJBQW1CO2NBTC9CLFNBQVM7MkJBQ0UsaUJBQWlCOztrRkFJaEIsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudERpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXZlbnQtZGlzcGxheS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWF1dG8tcm90YXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG8tcm90YXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0by1yb3RhdGUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b1JvdGF0ZUNvbXBvbmVudCB7XG4gIGF1dG9Sb3RhdGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV2ZW50RGlzcGxheTogRXZlbnREaXNwbGF5U2VydmljZSkge31cblxuICB0b2dnbGVBdXRvUm90YXRlKCkge1xuICAgIHRoaXMuYXV0b1JvdGF0ZSA9ICF0aGlzLmF1dG9Sb3RhdGU7XG4gICAgdGhpcy5ldmVudERpc3BsYXkuZ2V0VUlNYW5hZ2VyKCkuc2V0QXV0b1JvdGF0ZSh0aGlzLmF1dG9Sb3RhdGUpO1xuICB9XG59XG4iLCI8YXBwLW1lbnUtdG9nZ2xlXG4gIHRvb2x0aXA9XCJBdXRvIHJvdGF0ZVwiXG4gIGljb249XCJyb3RhdGVcIlxuICBbYWN0aXZlXT1cImF1dG9Sb3RhdGVcIlxuICAoY2xpY2spPVwidG9nZ2xlQXV0b1JvdGF0ZSgpXCJcbj5cbjwvYXBwLW1lbnUtdG9nZ2xlPlxuIl19