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,28 @@
1
+ import { Component } from '@angular/core';
2
+ import { ShareLinkDialogComponent } from './share-link-dialog/share-link-dialog.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/dialog";
5
+ import * as i2 from "../menu-toggle/menu-toggle.component";
6
+ export class ShareLinkComponent {
7
+ dialog;
8
+ constructor(dialog) {
9
+ this.dialog = dialog;
10
+ }
11
+ openShareLinkDialog() {
12
+ this.dialog.open(ShareLinkDialogComponent);
13
+ }
14
+ static ɵfac = function ShareLinkComponent_Factory(t) { return new (t || ShareLinkComponent)(i0.ɵɵdirectiveInject(i1.MatDialog)); };
15
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareLinkComponent, selectors: [["app-share-link"]], decls: 1, vars: 1, consts: [["tooltip", "Create shareable link", "icon", "share", 3, "click", "active"]], template: function ShareLinkComponent_Template(rf, ctx) { if (rf & 1) {
16
+ i0.ɵɵelementStart(0, "app-menu-toggle", 0);
17
+ i0.ɵɵlistener("click", function ShareLinkComponent_Template_app_menu_toggle_click_0_listener() { return ctx.openShareLinkDialog(); });
18
+ i0.ɵɵelementEnd();
19
+ } if (rf & 2) {
20
+ i0.ɵɵproperty("active", false);
21
+ } }, dependencies: [i2.MenuToggleComponent] });
22
+ }
23
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShareLinkComponent, [{
24
+ type: Component,
25
+ args: [{ selector: 'app-share-link', template: "<app-menu-toggle\n tooltip=\"Create shareable link\"\n icon=\"share\"\n [active]=\"false\"\n (click)=\"openShareLinkDialog()\"\n>\n</app-menu-toggle>\n" }]
26
+ }], () => [{ type: i1.MatDialog }], null); })();
27
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShareLinkComponent, { className: "ShareLinkComponent", filePath: "components/ui-menu/share-link/share-link.component.ts", lineNumber: 10 }); })();
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3NoYXJlLWxpbmsvc2hhcmUtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3NoYXJlLWxpbmsvc2hhcmUtbGluay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7O0FBTzNGLE1BQU0sT0FBTyxrQkFBa0I7SUFDVDtJQUFwQixZQUFvQixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO0lBQUcsQ0FBQztJQUV6QyxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUM3QyxDQUFDOzRFQUxVLGtCQUFrQjs2REFBbEIsa0JBQWtCO1lDVC9CLDBDQUtDO1lBREMsd0dBQVMseUJBQXFCLElBQUM7WUFFakMsaUJBQWtCOztZQUhoQiw4QkFBZ0I7OztpRkRNTCxrQkFBa0I7Y0FMOUIsU0FBUzsyQkFDRSxnQkFBZ0I7O2tGQUlmLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFNoYXJlTGlua0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vc2hhcmUtbGluay1kaWFsb2cvc2hhcmUtbGluay1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXNoYXJlLWxpbmsnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2hhcmUtbGluay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NoYXJlLWxpbmsuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2hhcmVMaW5rQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZykge31cblxuICBvcGVuU2hhcmVMaW5rRGlhbG9nKCkge1xuICAgIHRoaXMuZGlhbG9nLm9wZW4oU2hhcmVMaW5rRGlhbG9nQ29tcG9uZW50KTtcbiAgfVxufVxuIiwiPGFwcC1tZW51LXRvZ2dsZVxuICB0b29sdGlwPVwiQ3JlYXRlIHNoYXJlYWJsZSBsaW5rXCJcbiAgaWNvbj1cInNoYXJlXCJcbiAgW2FjdGl2ZV09XCJmYWxzZVwiXG4gIChjbGljayk9XCJvcGVuU2hhcmVMaW5rRGlhbG9nKClcIlxuPlxuPC9hcHAtbWVudS10b2dnbGU+XG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { Component, ViewEncapsulation } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../menu-toggle/menu-toggle.component";
4
+ export class SSModeComponent {
5
+ ssMode = false;
6
+ ngOnInit() {
7
+ document.onfullscreenchange = () => {
8
+ if (!document.fullscreenElement) {
9
+ this.toggleSSMode();
10
+ }
11
+ };
12
+ }
13
+ toggleSSMode() {
14
+ this.ssMode = !this.ssMode;
15
+ document.body.classList.toggle('ss-mode');
16
+ if (this.ssMode) {
17
+ // WORKAROUND - Adding the event listener directly somehow calls it on the first click
18
+ setTimeout(() => {
19
+ document.addEventListener('click', this.onDocumentClick);
20
+ document.addEventListener('touchstart', this.onDocumentClick);
21
+ }, 1);
22
+ document.documentElement.requestFullscreen?.();
23
+ }
24
+ else {
25
+ document.removeEventListener('click', this.onDocumentClick);
26
+ document.removeEventListener('touchstart', this.onDocumentClick);
27
+ }
28
+ }
29
+ onDocumentClick = () => {
30
+ document.exitFullscreen?.();
31
+ };
32
+ static ɵfac = function SSModeComponent_Factory(t) { return new (t || SSModeComponent)(); };
33
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SSModeComponent, selectors: [["app-ss-mode"]], decls: 1, vars: 1, consts: [["tooltip", "Screenshot mode: phoenix will become fullscreen and the menu is suppressed", "icon", "ss-mode", 3, "click", "active"]], template: function SSModeComponent_Template(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵelementStart(0, "app-menu-toggle", 0);
35
+ i0.ɵɵlistener("click", function SSModeComponent_Template_app_menu_toggle_click_0_listener() { return ctx.toggleSSMode(); });
36
+ i0.ɵɵelementEnd();
37
+ } if (rf & 2) {
38
+ i0.ɵɵproperty("active", ctx.ssMode);
39
+ } }, dependencies: [i1.MenuToggleComponent], styles: ["#uiMenu,#phoenixMenu,#mainLogo,#statsElement{transition:opacity .4s}.ss-mode #uiMenu,.ss-mode #phoenixMenu,.ss-mode #mainLogo,.ss-mode #statsElement{visibility:hidden;opacity:0}\n"], encapsulation: 2 });
40
+ }
41
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SSModeComponent, [{
42
+ type: Component,
43
+ args: [{ selector: 'app-ss-mode', encapsulation: ViewEncapsulation.None, template: "<app-menu-toggle\n tooltip=\"Screenshot mode: phoenix will become fullscreen and the menu is suppressed\"\n [active]=\"ssMode\"\n icon=\"ss-mode\"\n (click)=\"toggleSSMode()\"\n>\n</app-menu-toggle>\n", styles: ["#uiMenu,#phoenixMenu,#mainLogo,#statsElement{transition:opacity .4s}.ss-mode #uiMenu,.ss-mode #phoenixMenu,.ss-mode #mainLogo,.ss-mode #statsElement{visibility:hidden;opacity:0}\n"] }]
44
+ }], null, null); })();
45
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SSModeComponent, { className: "SSModeComponent", filePath: "components/ui-menu/ss-mode/ss-mode.component.ts", lineNumber: 10 }); })();
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3MtbW9kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3NzLW1vZGUvc3MtbW9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3NzLW1vZGUvc3MtbW9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRN0QsTUFBTSxPQUFPLGVBQWU7SUFDMUIsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUV4QixRQUFRO1FBQ04sUUFBUSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixDQUFDO1FBQ0gsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsc0ZBQXNGO1lBQ3RGLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ3pELFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2hFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNOLFFBQVEsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO1FBQ2pELENBQUM7YUFBTSxDQUFDO1lBQ04sUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDNUQsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7SUFFTyxlQUFlLEdBQUcsR0FBRyxFQUFFO1FBQzdCLFFBQVEsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO0lBQzlCLENBQUMsQ0FBQzt5RUE3QlMsZUFBZTs2REFBZixlQUFlO1lDVDVCLDBDQUtDO1lBREMscUdBQVMsa0JBQWMsSUFBQztZQUUxQixpQkFBa0I7O1lBSmhCLG1DQUFpQjs7O2lGRE9OLGVBQWU7Y0FOM0IsU0FBUzsyQkFDRSxhQUFhLGlCQUdSLGlCQUFpQixDQUFDLElBQUk7O2tGQUUxQixlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zcy1tb2RlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NzLW1vZGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zcy1tb2RlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNTTW9kZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHNzTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGRvY3VtZW50Lm9uZnVsbHNjcmVlbmNoYW5nZSA9ICgpID0+IHtcbiAgICAgIGlmICghZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy50b2dnbGVTU01vZGUoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgdG9nZ2xlU1NNb2RlKCkge1xuICAgIHRoaXMuc3NNb2RlID0gIXRoaXMuc3NNb2RlO1xuICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnRvZ2dsZSgnc3MtbW9kZScpO1xuICAgIGlmICh0aGlzLnNzTW9kZSkge1xuICAgICAgLy8gV09SS0FST1VORCAtIEFkZGluZyB0aGUgZXZlbnQgbGlzdGVuZXIgZGlyZWN0bHkgc29tZWhvdyBjYWxscyBpdCBvbiB0aGUgZmlyc3QgY2xpY2tcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub25Eb2N1bWVudENsaWNrKTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMub25Eb2N1bWVudENsaWNrKTtcbiAgICAgIH0sIDEpO1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuPy4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm9uRG9jdW1lbnRDbGljayk7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5vbkRvY3VtZW50Q2xpY2spO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25Eb2N1bWVudENsaWNrID0gKCkgPT4ge1xuICAgIGRvY3VtZW50LmV4aXRGdWxsc2NyZWVuPy4oKTtcbiAgfTtcbn1cbiIsIjxhcHAtbWVudS10b2dnbGVcbiAgdG9vbHRpcD1cIlNjcmVlbnNob3QgbW9kZTogcGhvZW5peCB3aWxsIGJlY29tZSBmdWxsc2NyZWVuIGFuZCB0aGUgbWVudSBpcyBzdXBwcmVzc2VkXCJcbiAgW2FjdGl2ZV09XCJzc01vZGVcIlxuICBpY29uPVwic3MtbW9kZVwiXG4gIChjbGljayk9XCJ0b2dnbGVTU01vZGUoKVwiXG4+XG48L2FwcC1tZW51LXRvZ2dsZT5cbiJdfQ==
@@ -0,0 +1,94 @@
1
+ import { Component, Input, ViewChildren } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../../services/event-display.service";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/material/button";
6
+ import * as i4 from "@angular/material/icon";
7
+ const _c0 = a0 => ({ visible: a0 });
8
+ function TreeMenuItemComponent_ng_container_0_button_2_Template(rf, ctx) { if (rf & 1) {
9
+ const _r2 = i0.ɵɵgetCurrentView();
10
+ i0.ɵɵelementStart(0, "button", 7);
11
+ i0.ɵɵlistener("click", function TreeMenuItemComponent_ng_container_0_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.isExpanded = !ctx_r2.isExpanded); });
12
+ i0.ɵɵelementStart(1, "mat-icon", 8);
13
+ i0.ɵɵtext(2);
14
+ i0.ɵɵelementEnd()();
15
+ } if (rf & 2) {
16
+ const ctx_r2 = i0.ɵɵnextContext(2);
17
+ i0.ɵɵadvance(2);
18
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.isExpanded ? "expand_more" : "chevron_right", " ");
19
+ } }
20
+ function TreeMenuItemComponent_ng_container_0_li_7_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵelementStart(0, "li");
22
+ i0.ɵɵelement(1, "app-tree-menu-item", 9);
23
+ i0.ɵɵelementEnd();
24
+ } if (rf & 2) {
25
+ const node_r4 = ctx.$implicit;
26
+ i0.ɵɵadvance();
27
+ i0.ɵɵproperty("node", node_r4);
28
+ } }
29
+ function TreeMenuItemComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
30
+ const _r1 = i0.ɵɵgetCurrentView();
31
+ i0.ɵɵelementContainerStart(0);
32
+ i0.ɵɵelementStart(1, "div", 1);
33
+ i0.ɵɵtemplate(2, TreeMenuItemComponent_ng_container_0_button_2_Template, 3, 1, "button", 2);
34
+ i0.ɵɵelementStart(3, "div", 3);
35
+ i0.ɵɵlistener("click", function TreeMenuItemComponent_ng_container_0_Template_div_click_3_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleVisibility(!ctx_r2.visible)); });
36
+ i0.ɵɵtext(4);
37
+ i0.ɵɵelementEnd()();
38
+ i0.ɵɵelementStart(5, "ul", 4)(6, "div", 5);
39
+ i0.ɵɵtemplate(7, TreeMenuItemComponent_ng_container_0_li_7_Template, 2, 1, "li", 6);
40
+ i0.ɵɵelementEnd()();
41
+ i0.ɵɵelementContainerEnd();
42
+ } if (rf & 2) {
43
+ const ctx_r2 = i0.ɵɵnextContext();
44
+ i0.ɵɵadvance();
45
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(5, _c0, ctx_r2.visible));
46
+ i0.ɵɵadvance();
47
+ i0.ɵɵproperty("ngIf", ctx_r2.node.children);
48
+ i0.ɵɵadvance(2);
49
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.node.name, " ");
50
+ i0.ɵɵadvance();
51
+ i0.ɵɵproperty("hidden", !ctx_r2.isExpanded);
52
+ i0.ɵɵadvance(2);
53
+ i0.ɵɵproperty("ngForOf", ctx_r2.node.children);
54
+ } }
55
+ export class TreeMenuItemComponent {
56
+ eventDisplay;
57
+ children;
58
+ node;
59
+ isExpanded = false;
60
+ visible = true;
61
+ constructor(eventDisplay) {
62
+ this.eventDisplay = eventDisplay;
63
+ }
64
+ toggleVisibility(visible) {
65
+ console.log("hi! it's " + this.node.name);
66
+ this.eventDisplay
67
+ .getUIManager()
68
+ .geometryVisibility(this.node.geometryId, visible);
69
+ this.visible = visible;
70
+ this.children.forEach((child) => child.toggleVisibility(visible));
71
+ }
72
+ static ɵfac = function TreeMenuItemComponent_Factory(t) { return new (t || TreeMenuItemComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService)); };
73
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TreeMenuItemComponent, selectors: [["app-tree-menu-item"]], viewQuery: function TreeMenuItemComponent_Query(rf, ctx) { if (rf & 1) {
74
+ i0.ɵɵviewQuery(TreeMenuItemComponent, 5);
75
+ } if (rf & 2) {
76
+ let _t;
77
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.children = _t);
78
+ } }, inputs: { node: "node" }, decls: 1, vars: 1, consts: [[4, "ngIf"], [1, "header", 3, "ngClass"], ["mat-icon-button", "", "matTreeNodeToggle", "", 3, "click", 4, "ngIf"], [1, "node-name", 3, "click"], ["hid", "", 3, "hidden"], [1, "children"], [4, "ngFor", "ngForOf"], ["mat-icon-button", "", "matTreeNodeToggle", "", 3, "click"], [1, "mat-icon-rtl-mirror"], [3, "node"]], template: function TreeMenuItemComponent_Template(rf, ctx) { if (rf & 1) {
79
+ i0.ɵɵtemplate(0, TreeMenuItemComponent_ng_container_0_Template, 8, 7, "ng-container", 0);
80
+ } if (rf & 2) {
81
+ i0.ɵɵproperty("ngIf", ctx.node);
82
+ } }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i3.MatIconButton, i4.MatIcon, TreeMenuItemComponent], styles: [".header[_ngcontent-%COMP%]{cursor:pointer;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;display:flex;flex-direction:row;align-items:center}.header[_ngcontent-%COMP%] .node-name[_ngcontent-%COMP%], .header[_ngcontent-%COMP%] .mat-icon-rtl-mirror[_ngcontent-%COMP%]{color:var(--phoenix-text-color-secondary)}.header.visible[_ngcontent-%COMP%] .node-name[_ngcontent-%COMP%], .header.visible[_ngcontent-%COMP%] .mat-icon-rtl-mirror[_ngcontent-%COMP%]{color:var(--phoenix-accent)}.children[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{list-style-type:none}"] });
83
+ }
84
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TreeMenuItemComponent, [{
85
+ type: Component,
86
+ args: [{ selector: 'app-tree-menu-item', template: "<ng-container *ngIf=\"node\">\n <div class=\"header\" [ngClass]=\"{ visible: visible }\">\n <button\n *ngIf=\"node.children\"\n mat-icon-button\n matTreeNodeToggle\n (click)=\"isExpanded = !isExpanded\"\n >\n <mat-icon class=\"mat-icon-rtl-mirror\">\n {{ isExpanded ? 'expand_more' : 'chevron_right' }}\n </mat-icon>\n </button>\n <div (click)=\"toggleVisibility(!visible)\" class=\"node-name\">\n {{ node.name }}\n </div>\n </div>\n <ul [hidden]=\"!isExpanded\" hid>\n <div class=\"children\">\n <li *ngFor=\"let node of node.children\">\n <app-tree-menu-item [node]=\"node\"></app-tree-menu-item>\n </li>\n </div>\n </ul>\n</ng-container>\n", styles: [".header{cursor:pointer;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;display:flex;flex-direction:row;align-items:center}.header .node-name,.header .mat-icon-rtl-mirror{color:var(--phoenix-text-color-secondary)}.header.visible .node-name,.header.visible .mat-icon-rtl-mirror{color:var(--phoenix-accent)}.children li{list-style-type:none}\n"] }]
87
+ }], () => [{ type: i1.EventDisplayService }], { children: [{
88
+ type: ViewChildren,
89
+ args: [TreeMenuItemComponent]
90
+ }], node: [{
91
+ type: Input
92
+ }] }); })();
93
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TreeMenuItemComponent, { className: "TreeMenuItemComponent", filePath: "components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.ts", lineNumber: 16 }); })();
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1tZW51LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvdWktbWVudS90cmVlLW1lbnUvdHJlZS1tZW51LWl0ZW0vdHJlZS1tZW51LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvdWktbWVudS90cmVlLW1lbnUvdHJlZS1tZW51LWl0ZW0vdHJlZS1tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7SUNFM0QsaUNBS0M7SUFEQywrT0FBa0M7SUFFbEMsbUNBQXNDO0lBQ3BDLFlBQ0Y7SUFDRixBQURFLGlCQUFXLEVBQ0o7OztJQUZMLGVBQ0Y7SUFERSxvRkFDRjs7O0lBUUEsMEJBQXVDO0lBQ3JDLHdDQUF1RDtJQUN6RCxpQkFBSzs7O0lBRGlCLGNBQWE7SUFBYiw4QkFBYTs7OztJQW5CekMsNkJBQTJCO0lBQ3pCLDhCQUFxRDtJQUNuRCwyRkFLQztJQUtELDhCQUE0RDtJQUF2RCx1TEFBUyx3Q0FBMEIsS0FBQztJQUN2QyxZQUNGO0lBQ0YsQUFERSxpQkFBTSxFQUNGO0lBRUosQUFERiw2QkFBK0IsYUFDUDtJQUNwQixtRkFBdUM7SUFJM0MsQUFERSxpQkFBTSxFQUNIOzs7O0lBckJlLGNBQWdDO0lBQWhDLG9FQUFnQztJQUUvQyxjQUFtQjtJQUFuQiwyQ0FBbUI7SUFVcEIsZUFDRjtJQURFLGlEQUNGO0lBRUUsY0FBc0I7SUFBdEIsMkNBQXNCO0lBRUQsZUFBZ0I7SUFBaEIsOENBQWdCOztBREgzQyxNQUFNLE9BQU8scUJBQXFCO0lBT1o7SUFMcEIsUUFBUSxDQUFvQztJQUNuQyxJQUFJLENBQWU7SUFDNUIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixPQUFPLEdBQUcsSUFBSSxDQUFDO0lBRWYsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO0lBQUcsQ0FBQztJQUVsRCxnQkFBZ0IsQ0FBQyxPQUFnQjtRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxZQUFZO2FBQ2QsWUFBWSxFQUFFO2FBQ2Qsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7K0VBaEJVLHFCQUFxQjs2REFBckIscUJBQXFCOzJCQUNsQixxQkFBcUI7Ozs7O1lDaEJyQyx3RkFBMkI7O1lBQVosK0JBQVU7MkZEZVoscUJBQXFCOztpRkFBckIscUJBQXFCO2NBTGpDLFNBQVM7MkJBQ0Usb0JBQW9CO29EQU05QixRQUFRO2tCQURQLFlBQVk7bUJBQUMscUJBQXFCO1lBRTFCLElBQUk7a0JBQVosS0FBSzs7a0ZBSEsscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIFRyZWVNZW51Tm9kZSA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBnZW9tZXRyeUlkOiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogVHJlZU1lbnVOb2RlW107XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdHJlZS1tZW51LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS1tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90cmVlLW1lbnUtaXRlbS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlTWVudUl0ZW1Db21wb25lbnQge1xuICBAVmlld0NoaWxkcmVuKFRyZWVNZW51SXRlbUNvbXBvbmVudClcbiAgY2hpbGRyZW4hOiBRdWVyeUxpc3Q8VHJlZU1lbnVJdGVtQ29tcG9uZW50PjtcbiAgQElucHV0KCkgbm9kZTogVHJlZU1lbnVOb2RlO1xuICBpc0V4cGFuZGVkID0gZmFsc2U7XG4gIHZpc2libGUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXZlbnREaXNwbGF5OiBFdmVudERpc3BsYXlTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyB0b2dnbGVWaXNpYmlsaXR5KHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICBjb25zb2xlLmxvZyhcImhpISBpdCdzIFwiICsgdGhpcy5ub2RlLm5hbWUpO1xuICAgIHRoaXMuZXZlbnREaXNwbGF5XG4gICAgICAuZ2V0VUlNYW5hZ2VyKClcbiAgICAgIC5nZW9tZXRyeVZpc2liaWxpdHkodGhpcy5ub2RlLmdlb21ldHJ5SWQsIHZpc2libGUpO1xuICAgIHRoaXMudmlzaWJsZSA9IHZpc2libGU7XG4gICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4gY2hpbGQudG9nZ2xlVmlzaWJpbGl0eSh2aXNpYmxlKSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJub2RlXCI+XG4gIDxkaXYgY2xhc3M9XCJoZWFkZXJcIiBbbmdDbGFzc109XCJ7IHZpc2libGU6IHZpc2libGUgfVwiPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwibm9kZS5jaGlsZHJlblwiXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIG1hdFRyZWVOb2RlVG9nZ2xlXG4gICAgICAoY2xpY2spPVwiaXNFeHBhbmRlZCA9ICFpc0V4cGFuZGVkXCJcbiAgICA+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+XG4gICAgICAgIHt7IGlzRXhwYW5kZWQgPyAnZXhwYW5kX21vcmUnIDogJ2NoZXZyb25fcmlnaHQnIH19XG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxkaXYgKGNsaWNrKT1cInRvZ2dsZVZpc2liaWxpdHkoIXZpc2libGUpXCIgY2xhc3M9XCJub2RlLW5hbWVcIj5cbiAgICAgIHt7IG5vZGUubmFtZSB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPHVsIFtoaWRkZW5dPVwiIWlzRXhwYW5kZWRcIiBoaWQ+XG4gICAgPGRpdiBjbGFzcz1cImNoaWxkcmVuXCI+XG4gICAgICA8bGkgKm5nRm9yPVwibGV0IG5vZGUgb2Ygbm9kZS5jaGlsZHJlblwiPlxuICAgICAgICA8YXBwLXRyZWUtbWVudS1pdGVtIFtub2RlXT1cIm5vZGVcIj48L2FwcC10cmVlLW1lbnUtaXRlbT5cbiAgICAgIDwvbGk+XG4gICAgPC9kaXY+XG4gIDwvdWw+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,78 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./tree-menu-item/tree-menu-item.component";
4
+ export class TreeMenuComponent {
5
+ rootNode = {
6
+ name: 'Atlas Detector',
7
+ geometryId: 'AtlasDetector',
8
+ children: [
9
+ {
10
+ name: 'Magnet systems',
11
+ geometryId: 'MagnetSys',
12
+ children: [
13
+ {
14
+ name: 'Toroids',
15
+ geometryId: 'Toroids',
16
+ },
17
+ ],
18
+ },
19
+ {
20
+ name: 'Calorimeters',
21
+ geometryId: 'CaloSys',
22
+ children: [
23
+ {
24
+ name: 'LAr Barrel',
25
+ geometryId: 'LAr Barrel',
26
+ },
27
+ {
28
+ name: 'LAr EC1',
29
+ geometryId: 'LAr EC1',
30
+ },
31
+ {
32
+ name: 'LAr EC2',
33
+ geometryId: 'LAr EC2',
34
+ },
35
+ {
36
+ name: 'Tile Cal',
37
+ geometryId: 'Tile Cal',
38
+ },
39
+ ],
40
+ },
41
+ {
42
+ name: 'Inner detector',
43
+ geometryId: 'InDetSys',
44
+ children: [
45
+ {
46
+ name: 'Pixel',
47
+ geometryId: 'Pixel',
48
+ },
49
+ {
50
+ name: 'SCT',
51
+ geometryId: 'SCT',
52
+ },
53
+ {
54
+ name: 'TRT',
55
+ geometryId: 'TRT',
56
+ },
57
+ ],
58
+ },
59
+ ],
60
+ };
61
+ constructor() { }
62
+ ngOnInit() { }
63
+ static ɵfac = function TreeMenuComponent_Factory(t) { return new (t || TreeMenuComponent)(); };
64
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TreeMenuComponent, selectors: [["app-tree-menu"]], decls: 3, vars: 1, consts: [[1, "tree-wrapper"], [1, "tree-menu"], [3, "node"]], template: function TreeMenuComponent_Template(rf, ctx) { if (rf & 1) {
65
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
66
+ i0.ɵɵelement(2, "app-tree-menu-item", 2);
67
+ i0.ɵɵelementEnd()();
68
+ } if (rf & 2) {
69
+ i0.ɵɵadvance(2);
70
+ i0.ɵɵproperty("node", ctx.rootNode);
71
+ } }, dependencies: [i1.TreeMenuItemComponent], styles: [".tree-wrapper[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;align-content:center}.tree-menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;align-content:center;max-height:70vh;overflow-y:scroll}.example-tree-invisible[_ngcontent-%COMP%]{display:none}.example-tree[_ngcontent-%COMP%] ul[_ngcontent-%COMP%], .example-tree[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin-top:0;margin-bottom:0;list-style-type:none}"] });
72
+ }
73
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TreeMenuComponent, [{
74
+ type: Component,
75
+ args: [{ selector: 'app-tree-menu', template: "<div class=\"tree-wrapper\">\n <div class=\"tree-menu\">\n <app-tree-menu-item [node]=\"rootNode\"></app-tree-menu-item>\n </div>\n</div>\n", styles: [".tree-wrapper{position:absolute;top:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;align-content:center}.tree-menu{display:flex;flex-direction:column;justify-content:center;align-items:center;align-content:center;max-height:70vh;overflow-y:scroll}.example-tree-invisible{display:none}.example-tree ul,.example-tree li{margin-top:0;margin-bottom:0;list-style-type:none}\n"] }]
76
+ }], () => [], null); })();
77
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TreeMenuComponent, { className: "TreeMenuComponent", filePath: "components/ui-menu/tree-menu/tree-menu.component.ts", lineNumber: 9 }); })();
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvdHJlZS1tZW51L3RyZWUtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3RyZWUtbWVudS90cmVlLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBUWxELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsUUFBUSxHQUFpQjtRQUN2QixJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLFVBQVUsRUFBRSxlQUFlO1FBQzNCLFFBQVEsRUFBRTtZQUNSO2dCQUNFLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLFVBQVUsRUFBRSxXQUFXO2dCQUN2QixRQUFRLEVBQUU7b0JBQ1I7d0JBQ0UsSUFBSSxFQUFFLFNBQVM7d0JBQ2YsVUFBVSxFQUFFLFNBQVM7cUJBQ3RCO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsY0FBYztnQkFDcEIsVUFBVSxFQUFFLFNBQVM7Z0JBQ3JCLFFBQVEsRUFBRTtvQkFDUjt3QkFDRSxJQUFJLEVBQUUsWUFBWTt3QkFDbEIsVUFBVSxFQUFFLFlBQVk7cUJBQ3pCO29CQUNEO3dCQUNFLElBQUksRUFBRSxTQUFTO3dCQUNmLFVBQVUsRUFBRSxTQUFTO3FCQUN0QjtvQkFDRDt3QkFDRSxJQUFJLEVBQUUsU0FBUzt3QkFDZixVQUFVLEVBQUUsU0FBUztxQkFDdEI7b0JBQ0Q7d0JBQ0UsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLFVBQVUsRUFBRSxVQUFVO3FCQUN2QjtpQkFDRjthQUNGO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLFFBQVEsRUFBRTtvQkFDUjt3QkFDRSxJQUFJLEVBQUUsT0FBTzt3QkFDYixVQUFVLEVBQUUsT0FBTztxQkFDcEI7b0JBQ0Q7d0JBQ0UsSUFBSSxFQUFFLEtBQUs7d0JBQ1gsVUFBVSxFQUFFLEtBQUs7cUJBQ2xCO29CQUNEO3dCQUNFLElBQUksRUFBRSxLQUFLO3dCQUNYLFVBQVUsRUFBRSxLQUFLO3FCQUNsQjtpQkFDRjthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBRUYsZ0JBQWUsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQzsyRUE1RFIsaUJBQWlCOzZEQUFqQixpQkFBaUI7WUNQNUIsQUFERiw4QkFBMEIsYUFDRDtZQUNyQix3Q0FBMkQ7WUFFL0QsQUFERSxpQkFBTSxFQUNGOztZQUZrQixlQUFpQjtZQUFqQixtQ0FBaUI7OztpRkRNNUIsaUJBQWlCO2NBTDdCLFNBQVM7MkJBQ0UsZUFBZTs7a0ZBSWQsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyZWVNZW51Tm9kZSB9IGZyb20gJy4vdHJlZS1tZW51LWl0ZW0vdHJlZS1tZW51LWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXRyZWUtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi90cmVlLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90cmVlLW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZU1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICByb290Tm9kZTogVHJlZU1lbnVOb2RlID0ge1xuICAgIG5hbWU6ICdBdGxhcyBEZXRlY3RvcicsXG4gICAgZ2VvbWV0cnlJZDogJ0F0bGFzRGV0ZWN0b3InLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdNYWduZXQgc3lzdGVtcycsXG4gICAgICAgIGdlb21ldHJ5SWQ6ICdNYWduZXRTeXMnLFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdUb3JvaWRzJyxcbiAgICAgICAgICAgIGdlb21ldHJ5SWQ6ICdUb3JvaWRzJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0NhbG9yaW1ldGVycycsXG4gICAgICAgIGdlb21ldHJ5SWQ6ICdDYWxvU3lzJyxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnTEFyIEJhcnJlbCcsXG4gICAgICAgICAgICBnZW9tZXRyeUlkOiAnTEFyIEJhcnJlbCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnTEFyIEVDMScsXG4gICAgICAgICAgICBnZW9tZXRyeUlkOiAnTEFyIEVDMScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnTEFyIEVDMicsXG4gICAgICAgICAgICBnZW9tZXRyeUlkOiAnTEFyIEVDMicsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnVGlsZSBDYWwnLFxuICAgICAgICAgICAgZ2VvbWV0cnlJZDogJ1RpbGUgQ2FsJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0lubmVyIGRldGVjdG9yJyxcbiAgICAgICAgZ2VvbWV0cnlJZDogJ0luRGV0U3lzJyxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUGl4ZWwnLFxuICAgICAgICAgICAgZ2VvbWV0cnlJZDogJ1BpeGVsJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdTQ1QnLFxuICAgICAgICAgICAgZ2VvbWV0cnlJZDogJ1NDVCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnVFJUJyxcbiAgICAgICAgICAgIGdlb21ldHJ5SWQ6ICdUUlQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIF0sXG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0cmVlLXdyYXBwZXJcIj5cbiAgPGRpdiBjbGFzcz1cInRyZWUtbWVudVwiPlxuICAgIDxhcHAtdHJlZS1tZW51LWl0ZW0gW25vZGVdPVwicm9vdE5vZGVcIj48L2FwcC10cmVlLW1lbnUtaXRlbT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,34 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/material/tooltip";
5
+ const _c0 = ["*"];
6
+ const _c1 = a0 => ({ "ui-menu-hidden": a0 });
7
+ export class UiMenuWrapperComponent {
8
+ hideUIMenu = false;
9
+ static ɵfac = function UiMenuWrapperComponent_Factory(t) { return new (t || UiMenuWrapperComponent)(); };
10
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UiMenuWrapperComponent, selectors: [["app-ui-menu-wrapper"]], ngContentSelectors: _c0, decls: 6, vars: 5, consts: [["id", "uiMenu"], ["id", "hideUIMenu", "matTooltipPosition", "above", 3, "click", "matTooltip", "ngClass"], ["href", "assets/icons/expand.svg#expand"], ["id", "optionsPanel", 3, "hidden"]], template: function UiMenuWrapperComponent_Template(rf, ctx) { if (rf & 1) {
11
+ i0.ɵɵprojectionDef();
12
+ i0.ɵɵelementStart(0, "div", 0)(1, "button", 1);
13
+ i0.ɵɵlistener("click", function UiMenuWrapperComponent_Template_button_click_1_listener() { return ctx.hideUIMenu = !ctx.hideUIMenu; });
14
+ i0.ɵɵnamespaceSVG();
15
+ i0.ɵɵelementStart(2, "svg");
16
+ i0.ɵɵelement(3, "use", 2);
17
+ i0.ɵɵelementEnd()();
18
+ i0.ɵɵnamespaceHTML();
19
+ i0.ɵɵelementStart(4, "div", 3);
20
+ i0.ɵɵprojection(5);
21
+ i0.ɵɵelementEnd()();
22
+ } if (rf & 2) {
23
+ i0.ɵɵadvance();
24
+ i0.ɵɵproperty("matTooltip", ctx.hideUIMenu ? "Show toolbar" : "Hide toolbar")("ngClass", i0.ɵɵpureFunction1(3, _c1, ctx.hideUIMenu));
25
+ i0.ɵɵadvance(3);
26
+ i0.ɵɵproperty("hidden", ctx.hideUIMenu);
27
+ } }, dependencies: [i1.NgClass, i2.MatTooltip], styles: ["#uiMenu[_ngcontent-%COMP%]{position:absolute;bottom:1rem;width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}#optionsPanel[_ngcontent-%COMP%]{display:flex;align-items:center;background:var(--phoenix-background-color-secondary);border:1px solid var(--phoenix-background-color-tertiary);box-shadow:var(--phoenix-box-shadow);border-radius:30px;max-width:95%;padding:.3rem 1rem;overflow-x:scroll;z-index:90}#hideUIMenu[_ngcontent-%COMP%]{background:var(--phoenix-background-color-secondary);height:1.2rem;width:3rem;border:1px solid var(--phoenix-border);border-bottom:none;box-shadow:var(--phoenix-box-shadow);border-top-left-radius:15px;border-top-right-radius:15px;padding:3px}#hideUIMenu[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{height:100%;width:100%;vertical-align:top;transition:all .3s}#hideUIMenu.ui-menu-hidden[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{transform:scaleY(-1);transition:all .3s}"] });
28
+ }
29
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UiMenuWrapperComponent, [{
30
+ type: Component,
31
+ args: [{ selector: 'app-ui-menu-wrapper', template: "<div id=\"uiMenu\">\n <button\n id=\"hideUIMenu\"\n [matTooltip]=\"hideUIMenu ? 'Show toolbar' : 'Hide toolbar'\"\n matTooltipPosition=\"above\"\n (click)=\"hideUIMenu = !hideUIMenu\"\n [ngClass]=\"{ 'ui-menu-hidden': hideUIMenu }\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n <div id=\"optionsPanel\" [hidden]=\"hideUIMenu\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["#uiMenu{position:absolute;bottom:1rem;width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}#optionsPanel{display:flex;align-items:center;background:var(--phoenix-background-color-secondary);border:1px solid var(--phoenix-background-color-tertiary);box-shadow:var(--phoenix-box-shadow);border-radius:30px;max-width:95%;padding:.3rem 1rem;overflow-x:scroll;z-index:90}#hideUIMenu{background:var(--phoenix-background-color-secondary);height:1.2rem;width:3rem;border:1px solid var(--phoenix-border);border-bottom:none;box-shadow:var(--phoenix-box-shadow);border-top-left-radius:15px;border-top-right-radius:15px;padding:3px}#hideUIMenu svg{height:100%;width:100%;vertical-align:top;transition:all .3s}#hideUIMenu.ui-menu-hidden svg{transform:scaleY(-1);transition:all .3s}\n"] }]
32
+ }], null, null); })();
33
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UiMenuWrapperComponent, { className: "UiMenuWrapperComponent", filePath: "components/ui-menu/ui-menu-wrapper/ui-menu-wrapper.component.ts", lineNumber: 8 }); })();
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbWVudS13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvdWktbWVudS13cmFwcGVyL3VpLW1lbnUtd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3VpLW1lbnUtd3JhcHBlci91aS1tZW51LXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBTzFDLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsVUFBVSxHQUFZLEtBQUssQ0FBQztnRkFEakIsc0JBQXNCOzZEQUF0QixzQkFBc0I7O1lDTmpDLEFBREYsOEJBQWlCLGdCQU9kO1lBRkMsdUlBQWtDOztZQUdsQywyQkFBSztZQUNILHlCQUFpRDtZQUVyRCxBQURFLGlCQUFNLEVBQ0M7O1lBQ1QsOEJBQTZDO1lBQzNDLGtCQUF5QjtZQUU3QixBQURFLGlCQUFNLEVBQ0Y7O1lBWkYsY0FBMkQ7WUFHM0QsQUFIQSw2RUFBMkQsdURBR2Y7WUFNdkIsZUFBcUI7WUFBckIsdUNBQXFCOzs7aUZETGpDLHNCQUFzQjtjQUxsQyxTQUFTOzJCQUNFLHFCQUFxQjs7a0ZBSXBCLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdWktbWVudS13cmFwcGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VpLW1lbnUtd3JhcHBlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VpLW1lbnUtd3JhcHBlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBVaU1lbnVXcmFwcGVyQ29tcG9uZW50IHtcbiAgaGlkZVVJTWVudTogYm9vbGVhbiA9IGZhbHNlO1xufVxuIiwiPGRpdiBpZD1cInVpTWVudVwiPlxuICA8YnV0dG9uXG4gICAgaWQ9XCJoaWRlVUlNZW51XCJcbiAgICBbbWF0VG9vbHRpcF09XCJoaWRlVUlNZW51ID8gJ1Nob3cgdG9vbGJhcicgOiAnSGlkZSB0b29sYmFyJ1wiXG4gICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxuICAgIChjbGljayk9XCJoaWRlVUlNZW51ID0gIWhpZGVVSU1lbnVcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ3VpLW1lbnUtaGlkZGVuJzogaGlkZVVJTWVudSB9XCJcbiAgPlxuICAgIDxzdmc+XG4gICAgICA8dXNlIGhyZWY9XCJhc3NldHMvaWNvbnMvZXhwYW5kLnN2ZyNleHBhbmRcIj48L3VzZT5cbiAgICA8L3N2Zz5cbiAgPC9idXR0b24+XG4gIDxkaXYgaWQ9XCJvcHRpb25zUGFuZWxcIiBbaGlkZGVuXT1cImhpZGVVSU1lbnVcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,54 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { EventDataFormat, } from '../../services/extras/event-data-import';
3
+ import { defaultAnimationPresets } from './animate-camera/animate-camera.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./ui-menu-wrapper/ui-menu-wrapper.component";
6
+ import * as i2 from "./collections-info/collections-info.component";
7
+ import * as i3 from "./geometry-browser/geometry-browser.component";
8
+ import * as i4 from "./io-options/io-options.component";
9
+ import * as i5 from "./overlay-view/overlay-view.component";
10
+ import * as i6 from "./object-selection/object-selection.component";
11
+ import * as i7 from "./event-selector/event-selector.component";
12
+ import * as i8 from "./object-clipping/object-clipping.component";
13
+ import * as i9 from "./dark-theme/dark-theme.component";
14
+ import * as i10 from "./auto-rotate/auto-rotate.component";
15
+ import * as i11 from "./view-options/view-options.component";
16
+ import * as i12 from "./info-panel/info-panel.component";
17
+ import * as i13 from "./main-view-toggle/main-view-toggle.component";
18
+ import * as i14 from "./zoom-controls/zoom-controls.component";
19
+ import * as i15 from "./animate-camera/animate-camera.component";
20
+ import * as i16 from "./animate-event/animate-event.component";
21
+ import * as i17 from "./vr-toggle/vr-toggle.component";
22
+ import * as i18 from "./ar-toggle/ar-toggle.component";
23
+ import * as i19 from "./ss-mode/ss-mode.component";
24
+ import * as i20 from "./make-picture/make-picture.component";
25
+ import * as i21 from "./performance-toggle/performance-toggle.component";
26
+ import * as i22 from "./share-link/share-link.component";
27
+ const _c0 = ["*"];
28
+ export class UiMenuComponent {
29
+ eventDataImportOptions = Object.values(EventDataFormat);
30
+ animationPresets = defaultAnimationPresets;
31
+ static ɵfac = function UiMenuComponent_Factory(t) { return new (t || UiMenuComponent)(); };
32
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UiMenuComponent, selectors: [["app-ui-menu"]], inputs: { eventDataImportOptions: "eventDataImportOptions", animationPresets: "animationPresets" }, ngContentSelectors: _c0, decls: 23, vars: 2, consts: [[3, "animationPresets"], [3, "eventDataImportOptions"]], template: function UiMenuComponent_Template(rf, ctx) { if (rf & 1) {
33
+ i0.ɵɵprojectionDef();
34
+ i0.ɵɵelementStart(0, "app-ui-menu-wrapper");
35
+ i0.ɵɵelement(1, "app-event-selector")(2, "app-zoom-controls")(3, "app-view-options")(4, "app-auto-rotate")(5, "app-dark-theme")(6, "app-object-clipping")(7, "app-main-view-toggle")(8, "app-overlay-view")(9, "app-object-selection")(10, "app-info-panel")(11, "app-animate-event")(12, "app-animate-camera", 0)(13, "app-collections-info")(14, "app-geometry-browser")(15, "app-performance-toggle")(16, "app-vr-toggle")(17, "app-ar-toggle")(18, "app-ss-mode")(19, "app-make-picture")(20, "app-io-options", 1)(21, "app-share-link");
36
+ i0.ɵɵprojection(22);
37
+ i0.ɵɵelementEnd();
38
+ } if (rf & 2) {
39
+ i0.ɵɵadvance(12);
40
+ i0.ɵɵproperty("animationPresets", ctx.animationPresets);
41
+ i0.ɵɵadvance(8);
42
+ i0.ɵɵproperty("eventDataImportOptions", ctx.eventDataImportOptions);
43
+ } }, dependencies: [i1.UiMenuWrapperComponent, i2.CollectionsInfoComponent, i3.GeometryBrowserComponent, i4.IoOptionsComponent, i5.OverlayViewComponent, i6.ObjectSelectionComponent, i7.EventSelectorComponent, i8.ObjectClippingComponent, i9.DarkThemeComponent, i10.AutoRotateComponent, i11.ViewOptionsComponent, i12.InfoPanelComponent, i13.MainViewToggleComponent, i14.ZoomControlsComponent, i15.AnimateCameraComponent, i16.AnimateEventComponent, i17.VrToggleComponent, i18.ArToggleComponent, i19.SSModeComponent, i20.MakePictureComponent, i21.PerformanceToggleComponent, i22.ShareLinkComponent] });
44
+ }
45
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UiMenuComponent, [{
46
+ type: Component,
47
+ args: [{ selector: 'app-ui-menu', template: "<app-ui-menu-wrapper>\n <!-- Event selector -->\n <app-event-selector></app-event-selector>\n\n <!-- Zoom in and zoom out controls -->\n <app-zoom-controls></app-zoom-controls>\n\n <app-view-options></app-view-options>\n\n <app-auto-rotate></app-auto-rotate>\n\n <!-- Dark theme toggle -->\n <app-dark-theme></app-dark-theme>\n\n <!-- Toggle for clipping geometries -->\n <app-object-clipping></app-object-clipping>\n\n <!-- Main view toggle -->\n <app-main-view-toggle></app-main-view-toggle>\n\n <!-- Toggle for overlay panel -->\n <app-overlay-view></app-overlay-view>\n\n <!-- Toggle for selected object panel -->\n <app-object-selection></app-object-selection>\n\n <!-- Info panel -->\n <app-info-panel></app-info-panel>\n\n <!-- Toggle for animating the event data -->\n <app-animate-event></app-animate-event>\n\n <!-- Toggle for animating camera through event -->\n <app-animate-camera\n [animationPresets]=\"animationPresets\"\n ></app-animate-camera>\n\n <!-- Toggle for collections info -->\n <app-collections-info></app-collections-info>\n\n <!-- Toggle for geometry browser -->\n <app-geometry-browser></app-geometry-browser>\n\n <!-- Toggle for performance -->\n <app-performance-toggle></app-performance-toggle>\n\n <!-- Toggle for VR -->\n <app-vr-toggle></app-vr-toggle>\n\n <!-- Toggle for AR -->\n <app-ar-toggle></app-ar-toggle>\n\n <!-- Toggle for screenshot mode -->\n <app-ss-mode></app-ss-mode>\n\n <!-- Make pictures from scene -->\n <app-make-picture></app-make-picture>\n\n <!-- Toggle for loading geometries modal-->\n <app-io-options\n [eventDataImportOptions]=\"eventDataImportOptions\"\n ></app-io-options>\n\n <!-- Toggle for shareable link constructor modal-->\n <app-share-link></app-share-link>\n\n <!-- Extra options -->\n <ng-content></ng-content>\n</app-ui-menu-wrapper>\n" }]
48
+ }], null, { eventDataImportOptions: [{
49
+ type: Input
50
+ }], animationPresets: [{
51
+ type: Input
52
+ }] }); })();
53
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UiMenuComponent, { className: "UiMenuComponent", filePath: "components/ui-menu/ui-menu.component.ts", lineNumber: 13 }); })();
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3VpLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvdWktbWVudS91aS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFDTCxlQUFlLEdBRWhCLE1BQU0seUNBQXlDLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPcEYsTUFBTSxPQUFPLGVBQWU7SUFFMUIsc0JBQXNCLEdBQ3BCLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFakMsZ0JBQWdCLEdBQUcsdUJBQXVCLENBQUM7eUVBTGhDLGVBQWU7NkRBQWYsZUFBZTs7WUNaNUIsMkNBQXFCO1lBZ0VuQixBQUxBLEFBSEEsQUFIQSxBQUhBLEFBSEEsQUFIQSxBQUhBLEFBSEEsQUFMQSxBQUhBLEFBSEEsQUFIQSxBQUhBLEFBSEEsQUFIQSxBQUhBLEFBSEEsQUFGQSxBQUZBLEFBSEEscUNBQXlDLHdCQUdGLHVCQUVGLHNCQUVGLHFCQUdGLDBCQUdVLDJCQUdFLHVCQUdSLDJCQUdRLHNCQUdaLHlCQUdNLDZCQUtqQiw0QkFHdUIsNEJBR0EsOEJBR0kscUJBR2xCLHFCQUdBLG1CQUdKLHdCQUdVLHlCQUtuQixzQkFHZTtZQUdqQyxtQkFBeUI7WUFDM0IsaUJBQXNCOztZQWxDbEIsZ0JBQXFDO1lBQXJDLHVEQUFxQztZQTBCckMsZUFBaUQ7WUFBakQsbUVBQWlEOzs7aUZEaER4QyxlQUFlO2NBTDNCLFNBQVM7MkJBQ0UsYUFBYTtnQkFNdkIsc0JBQXNCO2tCQURyQixLQUFLO1lBSU4sZ0JBQWdCO2tCQURmLEtBQUs7O2tGQUpLLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBFdmVudERhdGFGb3JtYXQsXG4gIEV2ZW50RGF0YUltcG9ydE9wdGlvbixcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvZXh0cmFzL2V2ZW50LWRhdGEtaW1wb3J0JztcbmltcG9ydCB7IGRlZmF1bHRBbmltYXRpb25QcmVzZXRzIH0gZnJvbSAnLi9hbmltYXRlLWNhbWVyYS9hbmltYXRlLWNhbWVyYS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdWktbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi91aS1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdWktbWVudS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBVaU1lbnVDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBldmVudERhdGFJbXBvcnRPcHRpb25zOiBFdmVudERhdGFJbXBvcnRPcHRpb25bXSA9XG4gICAgT2JqZWN0LnZhbHVlcyhFdmVudERhdGFGb3JtYXQpO1xuICBASW5wdXQoKVxuICBhbmltYXRpb25QcmVzZXRzID0gZGVmYXVsdEFuaW1hdGlvblByZXNldHM7XG59XG4iLCI8YXBwLXVpLW1lbnUtd3JhcHBlcj5cbiAgPCEtLSBFdmVudCBzZWxlY3RvciAtLT5cbiAgPGFwcC1ldmVudC1zZWxlY3Rvcj48L2FwcC1ldmVudC1zZWxlY3Rvcj5cblxuICA8IS0tIFpvb20gaW4gYW5kIHpvb20gb3V0IGNvbnRyb2xzIC0tPlxuICA8YXBwLXpvb20tY29udHJvbHM+PC9hcHAtem9vbS1jb250cm9scz5cblxuICA8YXBwLXZpZXctb3B0aW9ucz48L2FwcC12aWV3LW9wdGlvbnM+XG5cbiAgPGFwcC1hdXRvLXJvdGF0ZT48L2FwcC1hdXRvLXJvdGF0ZT5cblxuICA8IS0tIERhcmsgdGhlbWUgdG9nZ2xlIC0tPlxuICA8YXBwLWRhcmstdGhlbWU+PC9hcHAtZGFyay10aGVtZT5cblxuICA8IS0tIFRvZ2dsZSBmb3IgY2xpcHBpbmcgZ2VvbWV0cmllcyAtLT5cbiAgPGFwcC1vYmplY3QtY2xpcHBpbmc+PC9hcHAtb2JqZWN0LWNsaXBwaW5nPlxuXG4gIDwhLS0gTWFpbiB2aWV3IHRvZ2dsZSAtLT5cbiAgPGFwcC1tYWluLXZpZXctdG9nZ2xlPjwvYXBwLW1haW4tdmlldy10b2dnbGU+XG5cbiAgPCEtLSBUb2dnbGUgZm9yIG92ZXJsYXkgcGFuZWwgLS0+XG4gIDxhcHAtb3ZlcmxheS12aWV3PjwvYXBwLW92ZXJsYXktdmlldz5cblxuICA8IS0tIFRvZ2dsZSBmb3Igc2VsZWN0ZWQgb2JqZWN0IHBhbmVsIC0tPlxuICA8YXBwLW9iamVjdC1zZWxlY3Rpb24+PC9hcHAtb2JqZWN0LXNlbGVjdGlvbj5cblxuICA8IS0tIEluZm8gcGFuZWwgLS0+XG4gIDxhcHAtaW5mby1wYW5lbD48L2FwcC1pbmZvLXBhbmVsPlxuXG4gIDwhLS0gVG9nZ2xlIGZvciBhbmltYXRpbmcgdGhlIGV2ZW50IGRhdGEgLS0+XG4gIDxhcHAtYW5pbWF0ZS1ldmVudD48L2FwcC1hbmltYXRlLWV2ZW50PlxuXG4gIDwhLS0gVG9nZ2xlIGZvciBhbmltYXRpbmcgY2FtZXJhIHRocm91Z2ggZXZlbnQgLS0+XG4gIDxhcHAtYW5pbWF0ZS1jYW1lcmFcbiAgICBbYW5pbWF0aW9uUHJlc2V0c109XCJhbmltYXRpb25QcmVzZXRzXCJcbiAgPjwvYXBwLWFuaW1hdGUtY2FtZXJhPlxuXG4gIDwhLS0gVG9nZ2xlIGZvciBjb2xsZWN0aW9ucyBpbmZvIC0tPlxuICA8YXBwLWNvbGxlY3Rpb25zLWluZm8+PC9hcHAtY29sbGVjdGlvbnMtaW5mbz5cblxuICA8IS0tIFRvZ2dsZSBmb3IgZ2VvbWV0cnkgYnJvd3NlciAtLT5cbiAgPGFwcC1nZW9tZXRyeS1icm93c2VyPjwvYXBwLWdlb21ldHJ5LWJyb3dzZXI+XG5cbiAgPCEtLSBUb2dnbGUgZm9yIHBlcmZvcm1hbmNlIC0tPlxuICA8YXBwLXBlcmZvcm1hbmNlLXRvZ2dsZT48L2FwcC1wZXJmb3JtYW5jZS10b2dnbGU+XG5cbiAgPCEtLSBUb2dnbGUgZm9yIFZSIC0tPlxuICA8YXBwLXZyLXRvZ2dsZT48L2FwcC12ci10b2dnbGU+XG5cbiAgPCEtLSBUb2dnbGUgZm9yIEFSIC0tPlxuICA8YXBwLWFyLXRvZ2dsZT48L2FwcC1hci10b2dnbGU+XG5cbiAgPCEtLSBUb2dnbGUgZm9yIHNjcmVlbnNob3QgbW9kZSAtLT5cbiAgPGFwcC1zcy1tb2RlPjwvYXBwLXNzLW1vZGU+XG5cbiAgPCEtLSBNYWtlIHBpY3R1cmVzIGZyb20gc2NlbmUgLS0+XG4gIDxhcHAtbWFrZS1waWN0dXJlPjwvYXBwLW1ha2UtcGljdHVyZT5cblxuICA8IS0tIFRvZ2dsZSBmb3IgbG9hZGluZyBnZW9tZXRyaWVzIG1vZGFsLS0+XG4gIDxhcHAtaW8tb3B0aW9uc1xuICAgIFtldmVudERhdGFJbXBvcnRPcHRpb25zXT1cImV2ZW50RGF0YUltcG9ydE9wdGlvbnNcIlxuICA+PC9hcHAtaW8tb3B0aW9ucz5cblxuICA8IS0tIFRvZ2dsZSBmb3Igc2hhcmVhYmxlIGxpbmsgY29uc3RydWN0b3IgbW9kYWwtLT5cbiAgPGFwcC1zaGFyZS1saW5rPjwvYXBwLXNoYXJlLWxpbms+XG5cbiAgPCEtLSBFeHRyYSBvcHRpb25zIC0tPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2FwcC11aS1tZW51LXdyYXBwZXI+XG4iXX0=