phoenix-ui-components 3.0.4 → 3.0.6

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 (123) hide show
  1. package/dist/fesm2022/phoenix-ui-components.mjs +2262 -473
  2. package/dist/fesm2022/phoenix-ui-components.mjs.map +1 -1
  3. package/dist/index.d.ts +1109 -3
  4. package/package.json +10 -19
  5. package/dist/components/embed-menu/embed-menu.component.d.ts +0 -5
  6. package/dist/components/embed-menu/experiment-link/experiment-link.component.d.ts +0 -9
  7. package/dist/components/file-explorer/file-explorer.component.d.ts +0 -35
  8. package/dist/components/loader/loader.component.d.ts +0 -11
  9. package/dist/components/nav/nav.component.d.ts +0 -8
  10. package/dist/components/phoenix-menu/config/config-slider/config-slider.component.d.ts +0 -18
  11. package/dist/components/phoenix-menu/index.d.ts +0 -3
  12. package/dist/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.d.ts +0 -14
  13. package/dist/components/phoenix-menu/phoenix-menu.component.d.ts +0 -7
  14. package/dist/components/phoenix-ui.module.d.ts +0 -71
  15. package/dist/components/ring-loader/ring-loader.component.d.ts +0 -5
  16. package/dist/components/ui-menu/animate-camera/animate-camera.component.d.ts +0 -20
  17. package/dist/components/ui-menu/animate-event/animate-event.component.d.ts +0 -10
  18. package/dist/components/ui-menu/ar-toggle/ar-toggle.component.d.ts +0 -11
  19. package/dist/components/ui-menu/auto-rotate/auto-rotate.component.d.ts +0 -10
  20. package/dist/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.d.ts +0 -29
  21. package/dist/components/ui-menu/collections-info/collections-info.component.d.ts +0 -15
  22. package/dist/components/ui-menu/cycle-events/cycle-events.component.d.ts +0 -21
  23. package/dist/components/ui-menu/dark-theme/dark-theme.component.d.ts +0 -12
  24. package/dist/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.d.ts +0 -28
  25. package/dist/components/ui-menu/event-data-explorer/event-data-explorer.component.d.ts +0 -13
  26. package/dist/components/ui-menu/event-selector/event-selector.component.d.ts +0 -12
  27. package/dist/components/ui-menu/experiment-info/experiment-info.component.d.ts +0 -14
  28. package/dist/components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.d.ts +0 -22
  29. package/dist/components/ui-menu/geometry-browser/geometry-browser.component.d.ts +0 -15
  30. package/dist/components/ui-menu/index.d.ts +0 -39
  31. package/dist/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.d.ts +0 -26
  32. package/dist/components/ui-menu/info-panel/info-panel.component.d.ts +0 -33
  33. package/dist/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.d.ts +0 -34
  34. package/dist/components/ui-menu/io-options/io-options.component.d.ts +0 -11
  35. package/dist/components/ui-menu/main-view-toggle/main-view-toggle.component.d.ts +0 -10
  36. package/dist/components/ui-menu/make-picture/make-picture.component.d.ts +0 -20
  37. package/dist/components/ui-menu/menu-toggle/menu-toggle.component.d.ts +0 -9
  38. package/dist/components/ui-menu/object-clipping/object-clipping.component.d.ts +0 -15
  39. package/dist/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.d.ts +0 -15
  40. package/dist/components/ui-menu/object-selection/object-selection.component.d.ts +0 -17
  41. package/dist/components/ui-menu/overlay/overlay.component.d.ts +0 -52
  42. package/dist/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.d.ts +0 -20
  43. package/dist/components/ui-menu/overlay-view/overlay-view.component.d.ts +0 -15
  44. package/dist/components/ui-menu/performance-toggle/performance-toggle.component.d.ts +0 -10
  45. package/dist/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.d.ts +0 -28
  46. package/dist/components/ui-menu/share-link/share-link.component.d.ts +0 -9
  47. package/dist/components/ui-menu/ss-mode/ss-mode.component.d.ts +0 -10
  48. package/dist/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.d.ts +0 -19
  49. package/dist/components/ui-menu/tree-menu/tree-menu.component.d.ts +0 -10
  50. package/dist/components/ui-menu/ui-menu-wrapper/ui-menu-wrapper.component.d.ts +0 -6
  51. package/dist/components/ui-menu/ui-menu.component.d.ts +0 -10
  52. package/dist/components/ui-menu/view-options/cartesian-grid-config/cartesian-grid-config.component.d.ts +0 -51
  53. package/dist/components/ui-menu/view-options/view-options.component.d.ts +0 -33
  54. package/dist/components/ui-menu/vr-toggle/vr-toggle.component.d.ts +0 -11
  55. package/dist/components/ui-menu/zoom-controls/zoom-controls.component.d.ts +0 -39
  56. package/dist/esm2022/components/embed-menu/embed-menu.component.mjs +0 -22
  57. package/dist/esm2022/components/embed-menu/experiment-link/experiment-link.component.mjs +0 -27
  58. package/dist/esm2022/components/file-explorer/file-explorer.component.mjs +0 -109
  59. package/dist/esm2022/components/loader/loader.component.mjs +0 -71
  60. package/dist/esm2022/components/nav/nav.component.mjs +0 -19
  61. package/dist/esm2022/components/phoenix-menu/config/config-slider/config-slider.component.mjs +0 -82
  62. package/dist/esm2022/components/phoenix-menu/index.mjs +0 -4
  63. package/dist/esm2022/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.mjs +0 -308
  64. package/dist/esm2022/components/phoenix-menu/phoenix-menu.component.mjs +0 -23
  65. package/dist/esm2022/components/phoenix-ui.module.mjs +0 -257
  66. package/dist/esm2022/components/ring-loader/ring-loader.component.mjs +0 -16
  67. package/dist/esm2022/components/ui-menu/animate-camera/animate-camera.component.mjs +0 -120
  68. package/dist/esm2022/components/ui-menu/animate-event/animate-event.component.mjs +0 -33
  69. package/dist/esm2022/components/ui-menu/ar-toggle/ar-toggle.component.mjs +0 -83
  70. package/dist/esm2022/components/ui-menu/auto-rotate/auto-rotate.component.mjs +0 -29
  71. package/dist/esm2022/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.mjs +0 -274
  72. package/dist/esm2022/components/ui-menu/collections-info/collections-info.component.mjs +0 -47
  73. package/dist/esm2022/components/ui-menu/cycle-events/cycle-events.component.mjs +0 -90
  74. package/dist/esm2022/components/ui-menu/dark-theme/dark-theme.component.mjs +0 -32
  75. package/dist/esm2022/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.mjs +0 -128
  76. package/dist/esm2022/components/ui-menu/event-data-explorer/event-data-explorer.component.mjs +0 -35
  77. package/dist/esm2022/components/ui-menu/event-selector/event-selector.component.mjs +0 -54
  78. package/dist/esm2022/components/ui-menu/experiment-info/experiment-info.component.mjs +0 -100
  79. package/dist/esm2022/components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.mjs +0 -172
  80. package/dist/esm2022/components/ui-menu/geometry-browser/geometry-browser.component.mjs +0 -45
  81. package/dist/esm2022/components/ui-menu/index.mjs +0 -40
  82. package/dist/esm2022/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.mjs +0 -69
  83. package/dist/esm2022/components/ui-menu/info-panel/info-panel.component.mjs +0 -59
  84. package/dist/esm2022/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.mjs +0 -304
  85. package/dist/esm2022/components/ui-menu/io-options/io-options.component.mjs +0 -36
  86. package/dist/esm2022/components/ui-menu/main-view-toggle/main-view-toggle.component.mjs +0 -32
  87. package/dist/esm2022/components/ui-menu/make-picture/make-picture.component.mjs +0 -109
  88. package/dist/esm2022/components/ui-menu/menu-toggle/menu-toggle.component.mjs +0 -40
  89. package/dist/esm2022/components/ui-menu/object-clipping/object-clipping.component.mjs +0 -72
  90. package/dist/esm2022/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.mjs +0 -59
  91. package/dist/esm2022/components/ui-menu/object-selection/object-selection.component.mjs +0 -46
  92. package/dist/esm2022/components/ui-menu/overlay/overlay.component.mjs +0 -197
  93. package/dist/esm2022/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.mjs +0 -83
  94. package/dist/esm2022/components/ui-menu/overlay-view/overlay-view.component.mjs +0 -41
  95. package/dist/esm2022/components/ui-menu/performance-toggle/performance-toggle.component.mjs +0 -29
  96. package/dist/esm2022/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.mjs +0 -165
  97. package/dist/esm2022/components/ui-menu/share-link/share-link.component.mjs +0 -28
  98. package/dist/esm2022/components/ui-menu/ss-mode/ss-mode.component.mjs +0 -46
  99. package/dist/esm2022/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.mjs +0 -94
  100. package/dist/esm2022/components/ui-menu/tree-menu/tree-menu.component.mjs +0 -78
  101. package/dist/esm2022/components/ui-menu/ui-menu-wrapper/ui-menu-wrapper.component.mjs +0 -34
  102. package/dist/esm2022/components/ui-menu/ui-menu.component.mjs +0 -54
  103. package/dist/esm2022/components/ui-menu/view-options/cartesian-grid-config/cartesian-grid-config.component.mjs +0 -247
  104. package/dist/esm2022/components/ui-menu/view-options/view-options.component.mjs +0 -170
  105. package/dist/esm2022/components/ui-menu/vr-toggle/vr-toggle.component.mjs +0 -52
  106. package/dist/esm2022/components/ui-menu/zoom-controls/zoom-controls.component.mjs +0 -79
  107. package/dist/esm2022/phoenix-ui-components.mjs +0 -5
  108. package/dist/esm2022/public_api.mjs +0 -11
  109. package/dist/esm2022/services/error-message-service.mjs +0 -30
  110. package/dist/esm2022/services/event-display.service.mjs +0 -23
  111. package/dist/esm2022/services/extras/attribute.pipe.mjs +0 -33
  112. package/dist/esm2022/services/extras/event-data-import.mjs +0 -21
  113. package/dist/esm2022/services/file-loader.service.mjs +0 -93
  114. package/dist/esm2022/services/global-error-handler.mjs +0 -30
  115. package/dist/esm2022/services/index.mjs +0 -4
  116. package/dist/public_api.d.ts +0 -10
  117. package/dist/services/error-message-service.d.ts +0 -17
  118. package/dist/services/event-display.service.d.ts +0 -13
  119. package/dist/services/extras/attribute.pipe.d.ts +0 -16
  120. package/dist/services/extras/event-data-import.d.ts +0 -15
  121. package/dist/services/file-loader.service.d.ts +0 -17
  122. package/dist/services/global-error-handler.d.ts +0 -20
  123. package/dist/services/index.d.ts +0 -3
@@ -1,128 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
- import { FileNode, } from '../../../file-explorer/file-explorer.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../../../services/event-display.service";
6
- import * as i2 from "../../../../services/file-loader.service";
7
- import * as i3 from "@angular/material/dialog";
8
- import * as i4 from "@angular/common";
9
- import * as i5 from "@angular/material/button";
10
- import * as i6 from "@angular/material/tabs";
11
- import * as i7 from "../../../file-explorer/file-explorer.component";
12
- import * as i8 from "../../../ring-loader/ring-loader.component";
13
- function EventDataExplorerDialogComponent_app_ring_loader_4_Template(rf, ctx) { if (rf & 1) {
14
- i0.ɵɵelement(0, "app-ring-loader");
15
- } }
16
- function EventDataExplorerDialogComponent_div_6_Template(rf, ctx) { if (rf & 1) {
17
- i0.ɵɵelementStart(0, "div");
18
- i0.ɵɵtext(1, "Error processing request.");
19
- i0.ɵɵelementEnd();
20
- } }
21
- function EventDataExplorerDialogComponent_mat_tab_group_7_Template(rf, ctx) { if (rf & 1) {
22
- const _r1 = i0.ɵɵgetCurrentView();
23
- i0.ɵɵelementStart(0, "mat-tab-group", 8)(1, "mat-tab", 9)(2, "div", 10)(3, "app-file-explorer", 11);
24
- i0.ɵɵlistener("onFileSelect", function EventDataExplorerDialogComponent_mat_tab_group_7_Template_app_file_explorer_onFileSelect_3_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.loadEvent($event)); });
25
- i0.ɵɵelementEnd()()();
26
- i0.ɵɵelementStart(4, "mat-tab", 12)(5, "div", 10)(6, "app-file-explorer", 11);
27
- i0.ɵɵlistener("onFileSelect", function EventDataExplorerDialogComponent_mat_tab_group_7_Template_app_file_explorer_onFileSelect_6_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.loadConfig($event)); });
28
- i0.ɵɵelementEnd()()()();
29
- } if (rf & 2) {
30
- const ctx_r1 = i0.ɵɵnextContext();
31
- i0.ɵɵadvance(3);
32
- i0.ɵɵproperty("rootFileNode", ctx_r1.eventDataFileNode);
33
- i0.ɵɵadvance(3);
34
- i0.ɵɵproperty("rootFileNode", ctx_r1.configFileNode);
35
- } }
36
- const supportFileTypes = ['json', 'xml'];
37
- export class EventDataExplorerDialogComponent {
38
- eventDisplay;
39
- fileLoader;
40
- dialogRef;
41
- dialogData;
42
- eventDataFileNode;
43
- configFileNode;
44
- loading = true;
45
- error = false;
46
- constructor(eventDisplay, fileLoader, dialogRef, dialogData) {
47
- this.eventDisplay = eventDisplay;
48
- this.fileLoader = fileLoader;
49
- this.dialogRef = dialogRef;
50
- this.dialogData = dialogData;
51
- // Event data
52
- fileLoader.makeRequest(this.dialogData.apiURL, 'json', (res) => {
53
- const filePaths = res.filter((file) => supportFileTypes.includes(file.name.split('.').pop()));
54
- this.eventDataFileNode = this.buildFileNode(filePaths);
55
- });
56
- // Config
57
- fileLoader.makeRequest(`${this.dialogData.apiURL}?type=config`, 'json', (res) => {
58
- const filePaths = res.filter((file) => file.name.split('.').pop() === 'json');
59
- this.configFileNode = this.buildFileNode(filePaths);
60
- });
61
- }
62
- loadEvent(file) {
63
- this.loading = true;
64
- this.error = this.fileLoader.loadEvent(file.url, this.eventDisplay, file.nocache ? { cache: 'no-cache' } : {});
65
- this.loading = false;
66
- if (!this.error)
67
- this.onClose();
68
- }
69
- loadConfig(file) {
70
- this.loading = true;
71
- this.error = this.fileLoader.makeRequest(`${this.dialogData.apiURL}?type=config&f=${file.url}`, 'text', (config) => {
72
- const stateManager = this.eventDisplay.getStateManager();
73
- stateManager.loadStateFromJSON(JSON.parse(config));
74
- this.onClose();
75
- });
76
- this.loading = false;
77
- }
78
- // Helpers
79
- onClose() {
80
- this.dialogRef.close();
81
- }
82
- buildFileNode(filePaths) {
83
- const rootNode = new FileNode();
84
- let fileNode = rootNode;
85
- for (const filePath of filePaths) {
86
- filePath.name.split('/').forEach((name) => {
87
- fileNode.children = fileNode.children ?? {};
88
- fileNode.children[name] = fileNode.children[name] ?? new FileNode(name);
89
- fileNode = fileNode.children[name];
90
- });
91
- fileNode.url = filePath.url;
92
- fileNode.nocache = filePath.nocache;
93
- fileNode = rootNode;
94
- }
95
- return rootNode;
96
- }
97
- static ɵfac = function EventDataExplorerDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EventDataExplorerDialogComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService), i0.ɵɵdirectiveInject(i2.FileLoaderService), i0.ɵɵdirectiveInject(i3.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
98
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EventDataExplorerDialogComponent, selectors: [["app-event-data-explorer-dialog"]], decls: 11, vars: 3, consts: [[1, "dialog"], [1, "d-flex"], ["mat-dialog-title", ""], [4, "ngIf"], ["mat-dialog-content", "", 1, "dialog-content"], ["mat-align-tabs", "start", "animationDuration", "0ms", "disableRipple", "", "opacity", "transparent", 4, "ngIf"], ["mat-dialog-actions", ""], ["mat-button", "", "cdkFocusInitial", "", 3, "click"], ["mat-align-tabs", "start", "animationDuration", "0ms", "disableRipple", "", "opacity", "transparent"], ["label", "Event data"], [1, "py-3"], [3, "onFileSelect", "rootFileNode"], ["label", "Config"]], template: function EventDataExplorerDialogComponent_Template(rf, ctx) { if (rf & 1) {
99
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h1", 2);
100
- i0.ɵɵtext(3, "Event data from directory");
101
- i0.ɵɵelementEnd();
102
- i0.ɵɵtemplate(4, EventDataExplorerDialogComponent_app_ring_loader_4_Template, 1, 0, "app-ring-loader", 3);
103
- i0.ɵɵelementEnd();
104
- i0.ɵɵelementStart(5, "div", 4);
105
- i0.ɵɵtemplate(6, EventDataExplorerDialogComponent_div_6_Template, 2, 0, "div", 3)(7, EventDataExplorerDialogComponent_mat_tab_group_7_Template, 7, 2, "mat-tab-group", 5);
106
- i0.ɵɵelementEnd();
107
- i0.ɵɵelementStart(8, "div", 6)(9, "button", 7);
108
- i0.ɵɵlistener("click", function EventDataExplorerDialogComponent_Template_button_click_9_listener() { return ctx.onClose(); });
109
- i0.ɵɵtext(10, "Close");
110
- i0.ɵɵelementEnd()()();
111
- } if (rf & 2) {
112
- i0.ɵɵadvance(4);
113
- i0.ɵɵproperty("ngIf", ctx.loading);
114
- i0.ɵɵadvance(2);
115
- i0.ɵɵproperty("ngIf", ctx.error);
116
- i0.ɵɵadvance();
117
- i0.ɵɵproperty("ngIf", !ctx.error);
118
- } }, dependencies: [i4.NgIf, i3.MatDialogTitle, i3.MatDialogActions, i3.MatDialogContent, i5.MatButton, i6.MatTab, i6.MatTabGroup, i7.FileExplorerComponent, i8.RingLoaderComponent], styles: [".dialog[_ngcontent-%COMP%]{width:30rem;max-width:95%}.file-path-button[_ngcontent-%COMP%]{width:100%;color:var(--phoenix-text-color);background:var(--phoenix-background-color-tertiary);text-align:left;border-radius:1rem;margin-bottom:.5rem;padding:.5rem 1rem}.file-path-button[_ngcontent-%COMP%]:last-child{margin-bottom:0}.file-path-button[_ngcontent-%COMP%]:hover{background:var(--phoenix-background-color-secondary)}.file-path-button[_ngcontent-%COMP%]:focus{border:1px solid var(--phoenix-text-color-secondary);box-shadow:none}"] });
119
- }
120
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventDataExplorerDialogComponent, [{
121
- type: Component,
122
- args: [{ selector: 'app-event-data-explorer-dialog', template: "<div class=\"dialog\">\n <div class=\"d-flex\">\n <h1 mat-dialog-title>Event data from directory</h1>\n <app-ring-loader *ngIf=\"loading\"></app-ring-loader>\n </div>\n <div mat-dialog-content class=\"dialog-content\">\n <div *ngIf=\"error\">Error processing request.</div>\n <mat-tab-group\n *ngIf=\"!error\"\n mat-align-tabs=\"start\"\n animationDuration=\"0ms\"\n disableRipple\n opacity=\"transparent\"\n >\n <mat-tab label=\"Event data\">\n <div class=\"py-3\">\n <app-file-explorer\n [rootFileNode]=\"eventDataFileNode\"\n (onFileSelect)=\"loadEvent($event)\"\n ></app-file-explorer>\n </div>\n </mat-tab>\n <mat-tab label=\"Config\">\n <div class=\"py-3\">\n <app-file-explorer\n [rootFileNode]=\"configFileNode\"\n (onFileSelect)=\"loadConfig($event)\"\n ></app-file-explorer>\n </div>\n </mat-tab>\n </mat-tab-group>\n </div>\n <div mat-dialog-actions>\n <button mat-button (click)=\"onClose()\" cdkFocusInitial>Close</button>\n </div>\n</div>\n", styles: [".dialog{width:30rem;max-width:95%}.file-path-button{width:100%;color:var(--phoenix-text-color);background:var(--phoenix-background-color-tertiary);text-align:left;border-radius:1rem;margin-bottom:.5rem;padding:.5rem 1rem}.file-path-button:last-child{margin-bottom:0}.file-path-button:hover{background:var(--phoenix-background-color-secondary)}.file-path-button:focus{border:1px solid var(--phoenix-text-color-secondary);box-shadow:none}\n"] }]
123
- }], () => [{ type: i1.EventDisplayService }, { type: i2.FileLoaderService }, { type: i3.MatDialogRef }, { type: undefined, decorators: [{
124
- type: Inject,
125
- args: [MAT_DIALOG_DATA]
126
- }] }], null); })();
127
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventDataExplorerDialogComponent, { className: "EventDataExplorerDialogComponent", filePath: "components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.ts", lineNumber: 24 }); })();
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZGF0YS1leHBsb3Jlci1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvdWktbWVudS9ldmVudC1kYXRhLWV4cGxvcmVyL2V2ZW50LWRhdGEtZXhwbG9yZXItZGlhbG9nL2V2ZW50LWRhdGEtZXhwbG9yZXItZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvZXZlbnQtZGF0YS1leHBsb3Jlci9ldmVudC1kYXRhLWV4cGxvcmVyLWRpYWxvZy9ldmVudC1kYXRhLWV4cGxvcmVyLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFDTCxRQUFRLEdBRVQsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7Ozs7Ozs7SUNIcEQsa0NBQW1EOzs7SUFHbkQsMkJBQW1CO0lBQUEseUNBQXlCO0lBQUEsaUJBQU07Ozs7SUFVNUMsQUFERixBQURGLEFBUEYsd0NBTUMsaUJBQzZCLGNBQ1IsNEJBSWY7SUFEQyxxT0FBZ0Isd0JBQWlCLEtBQUM7SUFHeEMsQUFERSxBQURHLGlCQUFvQixFQUNqQixFQUNFO0lBR04sQUFERixBQURGLG1DQUF3QixjQUNKLDRCQUlmO0lBREMscU9BQWdCLHlCQUFrQixLQUFDO0lBSTNDLEFBREUsQUFERSxBQURHLGlCQUFvQixFQUNqQixFQUNFLEVBQ0k7OztJQWJSLGVBQWtDO0lBQWxDLHVEQUFrQztJQVFsQyxlQUErQjtJQUEvQixvREFBK0I7O0FEZjNDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFhekMsTUFBTSxPQUFPLGdDQUFnQztJQU9qQztJQUNBO0lBQ0E7SUFDeUI7SUFUbkMsaUJBQWlCLENBQVc7SUFDNUIsY0FBYyxDQUFXO0lBQ3pCLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDZixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRWQsWUFDVSxZQUFpQyxFQUNqQyxVQUE2QixFQUM3QixTQUF5RCxFQUNoQyxVQUF1QztRQUhoRSxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0IsY0FBUyxHQUFULFNBQVMsQ0FBZ0Q7UUFDaEMsZUFBVSxHQUFWLFVBQVUsQ0FBNkI7UUFFeEUsYUFBYTtRQUNiLFVBQVUsQ0FBQyxXQUFXLENBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUN0QixNQUFNLEVBQ04sQ0FBQyxHQUFtQixFQUFFLEVBQUU7WUFDdEIsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ3BDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUN0RCxDQUFDO1lBRUYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUNGLENBQUM7UUFFRixTQUFTO1FBQ1QsVUFBVSxDQUFDLFdBQVcsQ0FDcEIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sY0FBYyxFQUN2QyxNQUFNLEVBQ04sQ0FBQyxHQUFtQixFQUFFLEVBQUU7WUFDdEIsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FDMUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLE1BQU0sQ0FDaEQsQ0FBQztZQUVGLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBZTtRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUNwQyxJQUFJLENBQUMsR0FBRyxFQUNSLElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzFDLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFlO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQ3RDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLGtCQUFrQixJQUFJLENBQUMsR0FBRyxFQUFFLEVBQ3JELE1BQU0sRUFDTixDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ1QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6RCxZQUFZLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxVQUFVO0lBQ1YsT0FBTztRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxTQUF5QjtRQUM3QyxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLElBQUksUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUV4QixLQUFLLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN4QyxRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO2dCQUM1QyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3hFLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1lBRUgsUUFBUSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO1lBQzVCLFFBQVEsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUNwQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3RCLENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzBIQXRGVSxnQ0FBZ0Msd0pBVWpDLGVBQWU7NkRBVmQsZ0NBQWdDO1lDckJ6QyxBQURGLEFBREYsOEJBQW9CLGFBQ0UsWUFDRztZQUFBLHlDQUF5QjtZQUFBLGlCQUFLO1lBQ25ELHlHQUFpQztZQUNuQyxpQkFBTTtZQUNOLDhCQUErQztZQUU3QyxBQURBLGlGQUFtQix3RkFPbEI7WUFrQkgsaUJBQU07WUFFSixBQURGLDhCQUF3QixnQkFDaUM7WUFBcEMsNkdBQVMsYUFBUyxJQUFDO1lBQWlCLHNCQUFLO1lBRWhFLEFBREUsQUFEOEQsaUJBQVMsRUFDakUsRUFDRjs7WUFoQ2dCLGVBQWE7WUFBYixrQ0FBYTtZQUd6QixlQUFXO1lBQVgsZ0NBQVc7WUFFZCxjQUFZO1lBQVosaUNBQVk7OztpRkRlTixnQ0FBZ0M7Y0FMNUMsU0FBUzsyQkFDRSxnQ0FBZ0M7O3NCQWN2QyxNQUFNO3VCQUFDLGVBQWU7O2tGQVZkLGdDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBFdmVudERpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvZXZlbnQtZGlzcGxheS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEZpbGVOb2RlLFxuICBGaWxlRXZlbnQsXG59IGZyb20gJy4uLy4uLy4uL2ZpbGUtZXhwbG9yZXIvZmlsZS1leHBsb3Jlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZUxvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9maWxlLWxvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IHR5cGUgRXZlbnREYXRhRXhwbG9yZXJEaWFsb2dEYXRhIH0gZnJvbSAnLi4vZXZlbnQtZGF0YS1leHBsb3Jlci5jb21wb25lbnQnO1xuXG5jb25zdCBzdXBwb3J0RmlsZVR5cGVzID0gWydqc29uJywgJ3htbCddO1xuXG5leHBvcnQgdHlwZSBGaWxlUmVzcG9uc2UgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG4gIG5vY2FjaGU6IGJvb2xlYW47XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZXZlbnQtZGF0YS1leHBsb3Jlci1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZXZlbnQtZGF0YS1leHBsb3Jlci1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ldmVudC1kYXRhLWV4cGxvcmVyLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFdmVudERhdGFFeHBsb3JlckRpYWxvZ0NvbXBvbmVudCB7XG4gIGV2ZW50RGF0YUZpbGVOb2RlOiBGaWxlTm9kZTtcbiAgY29uZmlnRmlsZU5vZGU6IEZpbGVOb2RlO1xuICBsb2FkaW5nID0gdHJ1ZTtcbiAgZXJyb3IgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGV2ZW50RGlzcGxheTogRXZlbnREaXNwbGF5U2VydmljZSxcbiAgICBwcml2YXRlIGZpbGVMb2FkZXI6IEZpbGVMb2FkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RXZlbnREYXRhRXhwbG9yZXJEaWFsb2dDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIGRpYWxvZ0RhdGE6IEV2ZW50RGF0YUV4cGxvcmVyRGlhbG9nRGF0YSxcbiAgKSB7XG4gICAgLy8gRXZlbnQgZGF0YVxuICAgIGZpbGVMb2FkZXIubWFrZVJlcXVlc3QoXG4gICAgICB0aGlzLmRpYWxvZ0RhdGEuYXBpVVJMLFxuICAgICAgJ2pzb24nLFxuICAgICAgKHJlczogRmlsZVJlc3BvbnNlW10pID0+IHtcbiAgICAgICAgY29uc3QgZmlsZVBhdGhzID0gcmVzLmZpbHRlcigoZmlsZSkgPT5cbiAgICAgICAgICBzdXBwb3J0RmlsZVR5cGVzLmluY2x1ZGVzKGZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpKSxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmV2ZW50RGF0YUZpbGVOb2RlID0gdGhpcy5idWlsZEZpbGVOb2RlKGZpbGVQYXRocyk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvLyBDb25maWdcbiAgICBmaWxlTG9hZGVyLm1ha2VSZXF1ZXN0KFxuICAgICAgYCR7dGhpcy5kaWFsb2dEYXRhLmFwaVVSTH0/dHlwZT1jb25maWdgLFxuICAgICAgJ2pzb24nLFxuICAgICAgKHJlczogRmlsZVJlc3BvbnNlW10pID0+IHtcbiAgICAgICAgY29uc3QgZmlsZVBhdGhzID0gcmVzLmZpbHRlcihcbiAgICAgICAgICAoZmlsZSkgPT4gZmlsZS5uYW1lLnNwbGl0KCcuJykucG9wKCkgPT09ICdqc29uJyxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmNvbmZpZ0ZpbGVOb2RlID0gdGhpcy5idWlsZEZpbGVOb2RlKGZpbGVQYXRocyk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBsb2FkRXZlbnQoZmlsZTogRmlsZUV2ZW50KSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yID0gdGhpcy5maWxlTG9hZGVyLmxvYWRFdmVudChcbiAgICAgIGZpbGUudXJsLFxuICAgICAgdGhpcy5ldmVudERpc3BsYXksXG4gICAgICBmaWxlLm5vY2FjaGUgPyB7IGNhY2hlOiAnbm8tY2FjaGUnIH0gOiB7fSxcbiAgICApO1xuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIGlmICghdGhpcy5lcnJvcikgdGhpcy5vbkNsb3NlKCk7XG4gIH1cblxuICBsb2FkQ29uZmlnKGZpbGU6IEZpbGVFdmVudCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5lcnJvciA9IHRoaXMuZmlsZUxvYWRlci5tYWtlUmVxdWVzdChcbiAgICAgIGAke3RoaXMuZGlhbG9nRGF0YS5hcGlVUkx9P3R5cGU9Y29uZmlnJmY9JHtmaWxlLnVybH1gLFxuICAgICAgJ3RleHQnLFxuICAgICAgKGNvbmZpZykgPT4ge1xuICAgICAgICBjb25zdCBzdGF0ZU1hbmFnZXIgPSB0aGlzLmV2ZW50RGlzcGxheS5nZXRTdGF0ZU1hbmFnZXIoKTtcbiAgICAgICAgc3RhdGVNYW5hZ2VyLmxvYWRTdGF0ZUZyb21KU09OKEpTT04ucGFyc2UoY29uZmlnKSk7XG4gICAgICAgIHRoaXMub25DbG9zZSgpO1xuICAgICAgfSxcbiAgICApO1xuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICB9XG5cbiAgLy8gSGVscGVyc1xuICBvbkNsb3NlKCkge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRmlsZU5vZGUoZmlsZVBhdGhzOiBGaWxlUmVzcG9uc2VbXSk6IEZpbGVOb2RlIHtcbiAgICBjb25zdCByb290Tm9kZSA9IG5ldyBGaWxlTm9kZSgpO1xuICAgIGxldCBmaWxlTm9kZSA9IHJvb3ROb2RlO1xuXG4gICAgZm9yIChjb25zdCBmaWxlUGF0aCBvZiBmaWxlUGF0aHMpIHtcbiAgICAgIGZpbGVQYXRoLm5hbWUuc3BsaXQoJy8nKS5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgICAgIGZpbGVOb2RlLmNoaWxkcmVuID0gZmlsZU5vZGUuY2hpbGRyZW4gPz8ge307XG4gICAgICAgIGZpbGVOb2RlLmNoaWxkcmVuW25hbWVdID0gZmlsZU5vZGUuY2hpbGRyZW5bbmFtZV0gPz8gbmV3IEZpbGVOb2RlKG5hbWUpO1xuICAgICAgICBmaWxlTm9kZSA9IGZpbGVOb2RlLmNoaWxkcmVuW25hbWVdO1xuICAgICAgfSk7XG5cbiAgICAgIGZpbGVOb2RlLnVybCA9IGZpbGVQYXRoLnVybDtcbiAgICAgIGZpbGVOb2RlLm5vY2FjaGUgPSBmaWxlUGF0aC5ub2NhY2hlO1xuICAgICAgZmlsZU5vZGUgPSByb290Tm9kZTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm9vdE5vZGU7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkaWFsb2dcIj5cbiAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxuICAgIDxoMSBtYXQtZGlhbG9nLXRpdGxlPkV2ZW50IGRhdGEgZnJvbSBkaXJlY3Rvcnk8L2gxPlxuICAgIDxhcHAtcmluZy1sb2FkZXIgKm5nSWY9XCJsb2FkaW5nXCI+PC9hcHAtcmluZy1sb2FkZXI+XG4gIDwvZGl2PlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImRpYWxvZy1jb250ZW50XCI+XG4gICAgPGRpdiAqbmdJZj1cImVycm9yXCI+RXJyb3IgcHJvY2Vzc2luZyByZXF1ZXN0LjwvZGl2PlxuICAgIDxtYXQtdGFiLWdyb3VwXG4gICAgICAqbmdJZj1cIiFlcnJvclwiXG4gICAgICBtYXQtYWxpZ24tdGFicz1cInN0YXJ0XCJcbiAgICAgIGFuaW1hdGlvbkR1cmF0aW9uPVwiMG1zXCJcbiAgICAgIGRpc2FibGVSaXBwbGVcbiAgICAgIG9wYWNpdHk9XCJ0cmFuc3BhcmVudFwiXG4gICAgPlxuICAgICAgPG1hdC10YWIgbGFiZWw9XCJFdmVudCBkYXRhXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJweS0zXCI+XG4gICAgICAgICAgPGFwcC1maWxlLWV4cGxvcmVyXG4gICAgICAgICAgICBbcm9vdEZpbGVOb2RlXT1cImV2ZW50RGF0YUZpbGVOb2RlXCJcbiAgICAgICAgICAgIChvbkZpbGVTZWxlY3QpPVwibG9hZEV2ZW50KCRldmVudClcIlxuICAgICAgICAgID48L2FwcC1maWxlLWV4cGxvcmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LXRhYj5cbiAgICAgIDxtYXQtdGFiIGxhYmVsPVwiQ29uZmlnXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJweS0zXCI+XG4gICAgICAgICAgPGFwcC1maWxlLWV4cGxvcmVyXG4gICAgICAgICAgICBbcm9vdEZpbGVOb2RlXT1cImNvbmZpZ0ZpbGVOb2RlXCJcbiAgICAgICAgICAgIChvbkZpbGVTZWxlY3QpPVwibG9hZENvbmZpZygkZXZlbnQpXCJcbiAgICAgICAgICA+PC9hcHAtZmlsZS1leHBsb3Jlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC10YWI+XG4gICAgPC9tYXQtdGFiLWdyb3VwPlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJvbkNsb3NlKClcIiBjZGtGb2N1c0luaXRpYWw+Q2xvc2U8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,35 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { EventDataExplorerDialogComponent } from './event-data-explorer-dialog/event-data-explorer-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 EventDataExplorerComponent {
7
- dialog;
8
- apiURL;
9
- constructor(dialog) {
10
- this.dialog = dialog;
11
- }
12
- openEventDataExplorerDialog() {
13
- this.dialog.open(EventDataExplorerDialogComponent, {
14
- data: {
15
- apiURL: this.apiURL,
16
- },
17
- });
18
- }
19
- static ɵfac = function EventDataExplorerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EventDataExplorerComponent)(i0.ɵɵdirectiveInject(i1.MatDialog)); };
20
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EventDataExplorerComponent, selectors: [["app-event-data-explorer"]], inputs: { apiURL: "apiURL" }, decls: 1, vars: 1, consts: [["tooltip", "Browse events in data directory", "icon", "server", 3, "click", "active"]], template: function EventDataExplorerComponent_Template(rf, ctx) { if (rf & 1) {
21
- i0.ɵɵelementStart(0, "app-menu-toggle", 0);
22
- i0.ɵɵlistener("click", function EventDataExplorerComponent_Template_app_menu_toggle_click_0_listener() { return ctx.openEventDataExplorerDialog(); });
23
- i0.ɵɵelementEnd();
24
- } if (rf & 2) {
25
- i0.ɵɵproperty("active", false);
26
- } }, dependencies: [i2.MenuToggleComponent] });
27
- }
28
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventDataExplorerComponent, [{
29
- type: Component,
30
- args: [{ selector: 'app-event-data-explorer', template: "<app-menu-toggle\n tooltip=\"Browse events in data directory\"\n icon=\"server\"\n [active]=\"false\"\n (click)=\"openEventDataExplorerDialog()\"\n>\n</app-menu-toggle>\n" }]
31
- }], () => [{ type: i1.MatDialog }], { apiURL: [{
32
- type: Input
33
- }] }); })();
34
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventDataExplorerComponent, { className: "EventDataExplorerComponent", filePath: "components/ui-menu/event-data-explorer/event-data-explorer.component.ts", lineNumber: 14 }); })();
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZGF0YS1leHBsb3Jlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2V2ZW50LWRhdGEtZXhwbG9yZXIvZXZlbnQtZGF0YS1leHBsb3Jlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2V2ZW50LWRhdGEtZXhwbG9yZXIvZXZlbnQtZGF0YS1leHBsb3Jlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQzs7OztBQVdySCxNQUFNLE9BQU8sMEJBQTBCO0lBR2pCO0lBRlgsTUFBTSxDQUFTO0lBRXhCLFlBQW9CLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7SUFBRyxDQUFDO0lBRXpDLDJCQUEyQjtRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FHZCxnQ0FBZ0MsRUFBRTtZQUNsQyxJQUFJLEVBQUU7Z0JBQ0osTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2FBQ3BCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztvSEFkVSwwQkFBMEI7NkRBQTFCLDBCQUEwQjtZQ2J2QywwQ0FLQztZQURDLGdIQUFTLGlDQUE2QixJQUFDO1lBRXpDLGlCQUFrQjs7WUFIaEIsOEJBQWdCOzs7aUZEVUwsMEJBQTBCO2NBTHRDLFNBQVM7MkJBQ0UseUJBQXlCOzBDQUsxQixNQUFNO2tCQUFkLEtBQUs7O2tGQURLLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBFdmVudERhdGFFeHBsb3JlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZXZlbnQtZGF0YS1leHBsb3Jlci1kaWFsb2cvZXZlbnQtZGF0YS1leHBsb3Jlci1kaWFsb2cuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgRXZlbnREYXRhRXhwbG9yZXJEaWFsb2dEYXRhID0ge1xuICBhcGlVUkw6IHN0cmluZztcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1ldmVudC1kYXRhLWV4cGxvcmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V2ZW50LWRhdGEtZXhwbG9yZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ldmVudC1kYXRhLWV4cGxvcmVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEV2ZW50RGF0YUV4cGxvcmVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgYXBpVVJMOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZykge31cblxuICBvcGVuRXZlbnREYXRhRXhwbG9yZXJEaWFsb2coKSB7XG4gICAgdGhpcy5kaWFsb2cub3BlbjxcbiAgICAgIEV2ZW50RGF0YUV4cGxvcmVyRGlhbG9nQ29tcG9uZW50LFxuICAgICAgRXZlbnREYXRhRXhwbG9yZXJEaWFsb2dEYXRhXG4gICAgPihFdmVudERhdGFFeHBsb3JlckRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgZGF0YToge1xuICAgICAgICBhcGlVUkw6IHRoaXMuYXBpVVJMLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGFwcC1tZW51LXRvZ2dsZVxuICB0b29sdGlwPVwiQnJvd3NlIGV2ZW50cyBpbiBkYXRhIGRpcmVjdG9yeVwiXG4gIGljb249XCJzZXJ2ZXJcIlxuICBbYWN0aXZlXT1cImZhbHNlXCJcbiAgKGNsaWNrKT1cIm9wZW5FdmVudERhdGFFeHBsb3JlckRpYWxvZygpXCJcbj5cbjwvYXBwLW1lbnUtdG9nZ2xlPlxuIl19
@@ -1,54 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../../services/event-display.service";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@angular/material/tooltip";
6
- import * as i4 from "@angular/forms";
7
- function EventSelectorComponent_div_0_option_2_Template(rf, ctx) { if (rf & 1) {
8
- i0.ɵɵelementStart(0, "option", 4);
9
- i0.ɵɵtext(1);
10
- i0.ɵɵelementEnd();
11
- } if (rf & 2) {
12
- const event_r3 = ctx.$implicit;
13
- i0.ɵɵproperty("value", event_r3);
14
- i0.ɵɵadvance();
15
- i0.ɵɵtextInterpolate1(" ", event_r3, " ");
16
- } }
17
- function EventSelectorComponent_div_0_Template(rf, ctx) { if (rf & 1) {
18
- const _r1 = i0.ɵɵgetCurrentView();
19
- i0.ɵɵelementStart(0, "div", 1)(1, "select", 2);
20
- i0.ɵɵlistener("change", function EventSelectorComponent_div_0_Template_select_change_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.changeEvent($event)); });
21
- i0.ɵɵtemplate(2, EventSelectorComponent_div_0_option_2_Template, 2, 2, "option", 3);
22
- i0.ɵɵelementEnd()();
23
- } if (rf & 2) {
24
- const ctx_r1 = i0.ɵɵnextContext();
25
- i0.ɵɵadvance(2);
26
- i0.ɵɵproperty("ngForOf", ctx_r1.events);
27
- } }
28
- export class EventSelectorComponent {
29
- eventDisplay;
30
- // Array containing the keys of the multiple loaded events
31
- events;
32
- constructor(eventDisplay) {
33
- this.eventDisplay = eventDisplay;
34
- }
35
- ngOnInit() {
36
- this.eventDisplay.listenToLoadedEventsChange((events) => (this.events = events));
37
- }
38
- changeEvent(selected) {
39
- const value = selected.target.value;
40
- this.eventDisplay.loadEvent(value);
41
- }
42
- static ɵfac = function EventSelectorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EventSelectorComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService)); };
43
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EventSelectorComponent, selectors: [["app-event-selector"]], decls: 1, vars: 1, consts: [["class", "eventSelector mx-2", "matTooltip", "Event selector", "matTooltipPosition", "above", 4, "ngIf"], ["matTooltip", "Event selector", "matTooltipPosition", "above", 1, "eventSelector", "mx-2"], ["name", "event", 3, "change"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"]], template: function EventSelectorComponent_Template(rf, ctx) { if (rf & 1) {
44
- i0.ɵɵtemplate(0, EventSelectorComponent_div_0_Template, 3, 1, "div", 0);
45
- } if (rf & 2) {
46
- i0.ɵɵproperty("ngIf", ctx.events != null);
47
- } }, dependencies: [i2.NgForOf, i2.NgIf, i3.MatTooltip, i4.NgSelectOption, i4.ɵNgSelectMultipleOption], styles: [".eventSelector[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:9rem;padding:5px 10px;font-size:12px;border:1px solid rgba(88,88,88,.08);box-shadow:var(--phoenix-icon-shadow);background-color:var(--phoenix-background-color-tertiary);color:var(--phoenix-text-color-secondary)}"] });
48
- }
49
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventSelectorComponent, [{
50
- type: Component,
51
- args: [{ selector: 'app-event-selector', template: "<div\n class=\"eventSelector mx-2\"\n *ngIf=\"events != null\"\n matTooltip=\"Event selector\"\n matTooltipPosition=\"above\"\n>\n <select name=\"event\" (change)=\"changeEvent($event)\">\n <option *ngFor=\"let event of events\" [value]=\"event\">\n {{ event }}\n </option>\n </select>\n</div>\n", styles: [".eventSelector select{width:9rem;padding:5px 10px;font-size:12px;border:1px solid rgba(88,88,88,.08);box-shadow:var(--phoenix-icon-shadow);background-color:var(--phoenix-background-color-tertiary);color:var(--phoenix-text-color-secondary)}\n"] }]
52
- }], () => [{ type: i1.EventDisplayService }], null); })();
53
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventSelectorComponent, { className: "EventSelectorComponent", filePath: "components/ui-menu/event-selector/event-selector.component.ts", lineNumber: 9 }); })();
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvdWktbWVudS9ldmVudC1zZWxlY3Rvci9ldmVudC1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2V2ZW50LXNlbGVjdG9yL2V2ZW50LXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7SUNPbkQsaUNBQXFEO0lBQ25ELFlBQ0Y7SUFBQSxpQkFBUzs7O0lBRjRCLGdDQUFlO0lBQ2xELGNBQ0Y7SUFERSx5Q0FDRjs7OztJQUhGLEFBTkYsOEJBS0MsZ0JBQ3FEO0lBQS9CLDBMQUFVLDBCQUFtQixLQUFDO0lBQ2pELG1GQUFxRDtJQUl6RCxBQURFLGlCQUFTLEVBQ0w7OztJQUp3QixlQUFTO0lBQVQsdUNBQVM7O0FEQ3ZDLE1BQU0sT0FBTyxzQkFBc0I7SUFJYjtJQUhwQiwwREFBMEQ7SUFDMUQsTUFBTSxDQUFXO0lBRWpCLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtJQUFHLENBQUM7SUFFekQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsMEJBQTBCLENBQzFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWE7UUFDdkIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztnSEFmVSxzQkFBc0I7NkRBQXRCLHNCQUFzQjtZQ1JuQyx1RUFLQzs7WUFIRSx5Q0FBb0I7OztpRkRNVixzQkFBc0I7Y0FMbEMsU0FBUzsyQkFDRSxvQkFBb0I7O2tGQUluQixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIHR5cGUgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudERpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXZlbnQtZGlzcGxheS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWV2ZW50LXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V2ZW50LXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZXZlbnQtc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRXZlbnRTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vIEFycmF5IGNvbnRhaW5pbmcgdGhlIGtleXMgb2YgdGhlIG11bHRpcGxlIGxvYWRlZCBldmVudHNcbiAgZXZlbnRzOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV2ZW50RGlzcGxheTogRXZlbnREaXNwbGF5U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5saXN0ZW5Ub0xvYWRlZEV2ZW50c0NoYW5nZShcbiAgICAgIChldmVudHMpID0+ICh0aGlzLmV2ZW50cyA9IGV2ZW50cyksXG4gICAgKTtcbiAgfVxuXG4gIGNoYW5nZUV2ZW50KHNlbGVjdGVkOiBhbnkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHNlbGVjdGVkLnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5sb2FkRXZlbnQodmFsdWUpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZXZlbnRTZWxlY3RvciBteC0yXCJcbiAgKm5nSWY9XCJldmVudHMgIT0gbnVsbFwiXG4gIG1hdFRvb2x0aXA9XCJFdmVudCBzZWxlY3RvclwiXG4gIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCJcbj5cbiAgPHNlbGVjdCBuYW1lPVwiZXZlbnRcIiAoY2hhbmdlKT1cImNoYW5nZUV2ZW50KCRldmVudClcIj5cbiAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBldmVudCBvZiBldmVudHNcIiBbdmFsdWVdPVwiZXZlbnRcIj5cbiAgICAgIHt7IGV2ZW50IH19XG4gICAgPC9vcHRpb24+XG4gIDwvc2VsZWN0PlxuPC9kaXY+XG4iXX0=
@@ -1,100 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../../services/event-display.service";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@angular/cdk/drag-drop";
6
- function ExperimentInfoComponent_a_1_Template(rf, ctx) { if (rf & 1) {
7
- i0.ɵɵelementStart(0, "a", 5);
8
- i0.ɵɵelement(1, "img", 6);
9
- i0.ɵɵelementEnd();
10
- } if (rf & 2) {
11
- const ctx_r0 = i0.ɵɵnextContext();
12
- i0.ɵɵproperty("href", ctx_r0.url, i0.ɵɵsanitizeUrl);
13
- i0.ɵɵadvance();
14
- i0.ɵɵproperty("src", ctx_r0.logo, i0.ɵɵsanitizeUrl);
15
- } }
16
- function ExperimentInfoComponent_p_3_Template(rf, ctx) { if (rf & 1) {
17
- i0.ɵɵelementStart(0, "p")(1, "b");
18
- i0.ɵɵtext(2);
19
- i0.ɵɵelementEnd()();
20
- } if (rf & 2) {
21
- const ctx_r0 = i0.ɵɵnextContext();
22
- i0.ɵɵadvance(2);
23
- i0.ɵɵtextInterpolate(ctx_r0.tagline);
24
- } }
25
- function ExperimentInfoComponent_p_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
26
- i0.ɵɵelementContainerStart(0);
27
- i0.ɵɵelementStart(1, "b");
28
- i0.ɵɵtext(2);
29
- i0.ɵɵelementEnd();
30
- i0.ɵɵtext(3);
31
- i0.ɵɵelementContainerEnd();
32
- } if (rf & 2) {
33
- const infoField_r2 = i0.ɵɵnextContext().$implicit;
34
- i0.ɵɵadvance(2);
35
- i0.ɵɵtextInterpolate1("", infoField_r2.label, ": ");
36
- i0.ɵɵadvance();
37
- i0.ɵɵtextInterpolate1("", infoField_r2.value, " ");
38
- } }
39
- function ExperimentInfoComponent_p_4_ng_container_2_Template(rf, ctx) { if (rf & 1) {
40
- i0.ɵɵelementContainerStart(0);
41
- i0.ɵɵtext(1);
42
- i0.ɵɵelementContainerEnd();
43
- } if (rf & 2) {
44
- const infoField_r2 = i0.ɵɵnextContext().$implicit;
45
- i0.ɵɵadvance();
46
- i0.ɵɵtextInterpolate1(" ", infoField_r2, " ");
47
- } }
48
- function ExperimentInfoComponent_p_4_Template(rf, ctx) { if (rf & 1) {
49
- i0.ɵɵelementStart(0, "p");
50
- i0.ɵɵtemplate(1, ExperimentInfoComponent_p_4_ng_container_1_Template, 4, 2, "ng-container", 3)(2, ExperimentInfoComponent_p_4_ng_container_2_Template, 2, 1, "ng-container", 3);
51
- i0.ɵɵelementEnd();
52
- } if (rf & 2) {
53
- const infoField_r2 = ctx.$implicit;
54
- i0.ɵɵadvance();
55
- i0.ɵɵproperty("ngIf", infoField_r2.label);
56
- i0.ɵɵadvance();
57
- i0.ɵɵproperty("ngIf", !infoField_r2.label);
58
- } }
59
- export class ExperimentInfoComponent {
60
- eventDisplay;
61
- experimentInfo;
62
- url;
63
- logo;
64
- tagline;
65
- constructor(eventDisplay) {
66
- this.eventDisplay = eventDisplay;
67
- }
68
- ngOnInit() {
69
- this.eventDisplay.listenToDisplayedEventChange(() => {
70
- this.experimentInfo = this.eventDisplay.getEventMetadata();
71
- });
72
- }
73
- static ɵfac = function ExperimentInfoComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ExperimentInfoComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService)); };
74
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ExperimentInfoComponent, selectors: [["app-experiment-info"]], inputs: { url: "url", logo: "logo", tagline: "tagline" }, decls: 5, vars: 3, consts: [["id", "experimentInfo", "cdkDrag", "", "cdkDragBoundary", "body", 1, "experimentInfo"], ["class", "experimentLogoWrapper", "target", "_blank", "rel", "noopener noreferrer", 3, "href", 4, "ngIf"], [1, "textInfo"], [4, "ngIf"], [4, "ngFor", "ngForOf"], ["target", "_blank", "rel", "noopener noreferrer", 1, "experimentLogoWrapper", 3, "href"], ["alt", "", 1, "experimentLogo", 3, "src"]], template: function ExperimentInfoComponent_Template(rf, ctx) { if (rf & 1) {
75
- i0.ɵɵelementStart(0, "div", 0);
76
- i0.ɵɵtemplate(1, ExperimentInfoComponent_a_1_Template, 2, 2, "a", 1);
77
- i0.ɵɵelementStart(2, "div", 2);
78
- i0.ɵɵtemplate(3, ExperimentInfoComponent_p_3_Template, 3, 1, "p", 3)(4, ExperimentInfoComponent_p_4_Template, 3, 2, "p", 4);
79
- i0.ɵɵelementEnd()();
80
- } if (rf & 2) {
81
- i0.ɵɵadvance();
82
- i0.ɵɵproperty("ngIf", ctx.url);
83
- i0.ɵɵadvance(2);
84
- i0.ɵɵproperty("ngIf", ctx.tagline);
85
- i0.ɵɵadvance();
86
- i0.ɵɵproperty("ngForOf", ctx.experimentInfo);
87
- } }, dependencies: [i2.NgForOf, i2.NgIf, i3.CdkDrag], styles: [".experimentInfo[_ngcontent-%COMP%]{position:absolute;top:5rem;left:1rem;display:flex;flex-direction:row;justify-items:flex-end;justify-content:flex-end;align-items:center;align-content:center;font-family:Courier New,Lucida Console,monospace;cursor:move}.experimentLogoWrapper[_ngcontent-%COMP%]{width:6rem}.experimentLogoWrapper[_ngcontent-%COMP%] .experimentLogo[_ngcontent-%COMP%]{width:100%;height:100%}.textInfo[_ngcontent-%COMP%]{margin-left:1rem}.textInfo[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--phoenix-text-color-secondary);font-size:.8rem;margin-bottom:.5rem;-webkit-user-select:none;user-select:none}@media screen and (max-width: 768px){.experimentInfo[_ngcontent-%COMP%]{top:4rem;max-width:40%}.experimentLogoWrapper[_ngcontent-%COMP%]{height:4rem}.textInfo[_ngcontent-%COMP%]{display:none}}"] });
88
- }
89
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ExperimentInfoComponent, [{
90
- type: Component,
91
- args: [{ selector: 'app-experiment-info', template: "<div id=\"experimentInfo\" class=\"experimentInfo\" cdkDrag cdkDragBoundary=\"body\">\n <a\n class=\"experimentLogoWrapper\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n *ngIf=\"url\"\n [href]=\"url\"\n >\n <img class=\"experimentLogo\" [src]=\"logo\" alt=\"\" />\n </a>\n <div class=\"textInfo\">\n <p *ngIf=\"tagline\">\n <b>{{ tagline }}</b>\n </p>\n <p *ngFor=\"let infoField of experimentInfo\">\n <ng-container *ngIf=\"infoField.label\">\n <b>{{ infoField.label }}: </b>{{ infoField.value }}\n </ng-container>\n <ng-container *ngIf=\"!infoField.label\">\n {{ infoField }}\n </ng-container>\n </p>\n </div>\n</div>\n", styles: [".experimentInfo{position:absolute;top:5rem;left:1rem;display:flex;flex-direction:row;justify-items:flex-end;justify-content:flex-end;align-items:center;align-content:center;font-family:Courier New,Lucida Console,monospace;cursor:move}.experimentLogoWrapper{width:6rem}.experimentLogoWrapper .experimentLogo{width:100%;height:100%}.textInfo{margin-left:1rem}.textInfo p{color:var(--phoenix-text-color-secondary);font-size:.8rem;margin-bottom:.5rem;-webkit-user-select:none;user-select:none}@media screen and (max-width: 768px){.experimentInfo{top:4rem;max-width:40%}.experimentLogoWrapper{height:4rem}.textInfo{display:none}}\n"] }]
92
- }], () => [{ type: i1.EventDisplayService }], { url: [{
93
- type: Input
94
- }], logo: [{
95
- type: Input
96
- }], tagline: [{
97
- type: Input
98
- }] }); })();
99
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ExperimentInfoComponent, { className: "ExperimentInfoComponent", filePath: "components/ui-menu/experiment-info/experiment-info.component.ts", lineNumber: 9 }); })();
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwZXJpbWVudC1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvZXhwZXJpbWVudC1pbmZvL2V4cGVyaW1lbnQtaW5mby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2V4cGVyaW1lbnQtaW5mby9leHBlcmltZW50LWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ0M1RCw0QkFNQztJQUNDLHlCQUFrRDtJQUNwRCxpQkFBSTs7O0lBSEYsbURBQVk7SUFFZ0IsY0FBWTtJQUFaLG1EQUFZOzs7SUFJdEMsQUFERix5QkFBbUIsUUFDZDtJQUFBLFlBQWE7SUFDbEIsQUFEa0IsaUJBQUksRUFDbEI7OztJQURDLGVBQWE7SUFBYixvQ0FBYTs7O0lBR2hCLDZCQUFzQztJQUNwQyx5QkFBRztJQUFBLFlBQXVCO0lBQUEsaUJBQUk7SUFBQSxZQUNoQzs7OztJQURLLGVBQXVCO0lBQXZCLG1EQUF1QjtJQUFJLGNBQ2hDO0lBRGdDLGtEQUNoQzs7O0lBQ0EsNkJBQXVDO0lBQ3JDLFlBQ0Y7Ozs7SUFERSxjQUNGO0lBREUsNkNBQ0Y7OztJQU5GLHlCQUE0QztJQUkxQyxBQUhBLDhGQUFzQyxpRkFHQztJQUd6QyxpQkFBSTs7O0lBTmEsY0FBcUI7SUFBckIseUNBQXFCO0lBR3JCLGNBQXNCO0lBQXRCLDBDQUFzQjs7QURWM0MsTUFBTSxPQUFPLHVCQUF1QjtJQU1kO0lBTHBCLGNBQWMsQ0FBUTtJQUNiLEdBQUcsQ0FBUztJQUNaLElBQUksQ0FBUztJQUNiLE9BQU8sQ0FBUztJQUV6QixZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7SUFBRyxDQUFDO0lBRXpELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsRUFBRTtZQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7aUhBWlUsdUJBQXVCOzZEQUF2Qix1QkFBdUI7WUNScEMsOEJBQStFO1lBQzdFLG9FQU1DO1lBR0QsOEJBQXNCO1lBSXBCLEFBSEEsb0VBQW1CLHVEQUd5QjtZQVNoRCxBQURFLGlCQUFNLEVBQ0Y7O1lBbEJELGNBQVM7WUFBVCw4QkFBUztZQU1OLGVBQWE7WUFBYixrQ0FBYTtZQUdRLGNBQWlCO1lBQWpCLDRDQUFpQjs7O2lGRE5qQyx1QkFBdUI7Y0FMbkMsU0FBUzsyQkFDRSxxQkFBcUI7b0RBTXRCLEdBQUc7a0JBQVgsS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLE9BQU87a0JBQWYsS0FBSzs7a0ZBSkssdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCB0eXBlIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZXhwZXJpbWVudC1pbmZvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V4cGVyaW1lbnQtaW5mby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2V4cGVyaW1lbnQtaW5mby5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFeHBlcmltZW50SW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGV4cGVyaW1lbnRJbmZvOiBhbnlbXTtcbiAgQElucHV0KCkgdXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxvZ286IHN0cmluZztcbiAgQElucHV0KCkgdGFnbGluZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXZlbnREaXNwbGF5OiBFdmVudERpc3BsYXlTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwbGF5Lmxpc3RlblRvRGlzcGxheWVkRXZlbnRDaGFuZ2UoKCkgPT4ge1xuICAgICAgdGhpcy5leHBlcmltZW50SW5mbyA9IHRoaXMuZXZlbnREaXNwbGF5LmdldEV2ZW50TWV0YWRhdGEoKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBpZD1cImV4cGVyaW1lbnRJbmZvXCIgY2xhc3M9XCJleHBlcmltZW50SW5mb1wiIGNka0RyYWcgY2RrRHJhZ0JvdW5kYXJ5PVwiYm9keVwiPlxuICA8YVxuICAgIGNsYXNzPVwiZXhwZXJpbWVudExvZ29XcmFwcGVyXCJcbiAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICpuZ0lmPVwidXJsXCJcbiAgICBbaHJlZl09XCJ1cmxcIlxuICA+XG4gICAgPGltZyBjbGFzcz1cImV4cGVyaW1lbnRMb2dvXCIgW3NyY109XCJsb2dvXCIgYWx0PVwiXCIgLz5cbiAgPC9hPlxuICA8ZGl2IGNsYXNzPVwidGV4dEluZm9cIj5cbiAgICA8cCAqbmdJZj1cInRhZ2xpbmVcIj5cbiAgICAgIDxiPnt7IHRhZ2xpbmUgfX08L2I+XG4gICAgPC9wPlxuICAgIDxwICpuZ0Zvcj1cImxldCBpbmZvRmllbGQgb2YgZXhwZXJpbWVudEluZm9cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbmZvRmllbGQubGFiZWxcIj5cbiAgICAgICAgPGI+e3sgaW5mb0ZpZWxkLmxhYmVsIH19OiA8L2I+e3sgaW5mb0ZpZWxkLnZhbHVlIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaW5mb0ZpZWxkLmxhYmVsXCI+XG4gICAgICAgIHt7IGluZm9GaWVsZCB9fVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9wPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,172 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../../../services/event-display.service";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@angular/material/tooltip";
6
- import * as i4 from "@angular/forms";
7
- import * as i5 from "../../overlay/overlay.component";
8
- const _c0 = a0 => ({ "active-object": a0 });
9
- function GeometryBrowserOverlayComponent_div_1_div_1_option_8_Template(rf, ctx) { if (rf & 1) {
10
- i0.ɵɵelementStart(0, "option", 13);
11
- i0.ɵɵtext(1);
12
- i0.ɵɵelementEnd();
13
- } if (rf & 2) {
14
- const child_r3 = ctx.$implicit;
15
- i0.ɵɵproperty("value", child_r3.name);
16
- i0.ɵɵadvance();
17
- i0.ɵɵtextInterpolate1(" ", child_r3.name, " ");
18
- } }
19
- function GeometryBrowserOverlayComponent_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
20
- const _r1 = i0.ɵɵgetCurrentView();
21
- i0.ɵɵelementStart(0, "div", 7)(1, "div", 8)(2, "span");
22
- i0.ɵɵtext(3, "Choose a collection: ");
23
- i0.ɵɵelementEnd();
24
- i0.ɵɵelementStart(4, "div", 9)(5, "select", 10);
25
- i0.ɵɵlistener("change", function GeometryBrowserOverlayComponent_div_1_div_1_Template_select_change_5_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.changeCollection($event.target.value)); });
26
- i0.ɵɵelementStart(6, "option", 11);
27
- i0.ɵɵtext(7, "Choose Collection");
28
- i0.ɵɵelementEnd();
29
- i0.ɵɵtemplate(8, GeometryBrowserOverlayComponent_div_1_div_1_option_8_Template, 2, 2, "option", 12);
30
- i0.ɵɵelementEnd()()()();
31
- } if (rf & 2) {
32
- const ctx_r1 = i0.ɵɵnextContext(2);
33
- i0.ɵɵadvance(8);
34
- i0.ɵɵproperty("ngForOf", ctx_r1.children);
35
- } }
36
- function GeometryBrowserOverlayComponent_div_1_table_3_tr_8_div_4_Template(rf, ctx) { if (rf & 1) {
37
- const _r4 = i0.ɵɵgetCurrentView();
38
- i0.ɵɵelementStart(0, "div", 18)(1, "button", 19);
39
- i0.ɵɵlistener("click", function GeometryBrowserOverlayComponent_div_1_table_3_tr_8_div_4_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r4); const object_r5 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.lookAtObject(object_r5.uuid)); });
40
- i0.ɵɵnamespaceSVG();
41
- i0.ɵɵelementStart(2, "svg");
42
- i0.ɵɵelement(3, "use", 20);
43
- i0.ɵɵelementEnd()();
44
- i0.ɵɵnamespaceHTML();
45
- i0.ɵɵelementStart(4, "button", 21);
46
- i0.ɵɵlistener("click", function GeometryBrowserOverlayComponent_div_1_table_3_tr_8_div_4_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r4); const object_r5 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.highlightObject(object_r5.uuid)); });
47
- i0.ɵɵnamespaceSVG();
48
- i0.ɵɵelementStart(5, "svg");
49
- i0.ɵɵelement(6, "use", 22);
50
- i0.ɵɵelementEnd()()();
51
- } }
52
- function GeometryBrowserOverlayComponent_div_1_table_3_tr_8_Template(rf, ctx) { if (rf & 1) {
53
- i0.ɵɵelementStart(0, "tr", 16)(1, "td");
54
- i0.ɵɵtext(2);
55
- i0.ɵɵelementEnd();
56
- i0.ɵɵelementStart(3, "td");
57
- i0.ɵɵtemplate(4, GeometryBrowserOverlayComponent_div_1_table_3_tr_8_div_4_Template, 7, 0, "div", 17);
58
- i0.ɵɵelementEnd()();
59
- } if (rf & 2) {
60
- const object_r5 = ctx.$implicit;
61
- const i_r6 = ctx.index;
62
- const ctx_r1 = i0.ɵɵnextContext(3);
63
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0, ctx_r1.activeObject && ctx_r1.activeObject.value === object_r5.uuid));
64
- i0.ɵɵattribute("id", object_r5.uuid);
65
- i0.ɵɵadvance(2);
66
- i0.ɵɵtextInterpolate1("#", i_r6, "");
67
- i0.ɵɵadvance(2);
68
- i0.ɵɵproperty("ngIf", object_r5.uuid);
69
- } }
70
- function GeometryBrowserOverlayComponent_div_1_table_3_Template(rf, ctx) { if (rf & 1) {
71
- i0.ɵɵelementStart(0, "table", 14)(1, "thead")(2, "tr")(3, "th");
72
- i0.ɵɵtext(4, "No.");
73
- i0.ɵɵelementEnd();
74
- i0.ɵɵelementStart(5, "th");
75
- i0.ɵɵtext(6, "Selection");
76
- i0.ɵɵelementEnd()()();
77
- i0.ɵɵelementStart(7, "tbody");
78
- i0.ɵɵtemplate(8, GeometryBrowserOverlayComponent_div_1_table_3_tr_8_Template, 5, 6, "tr", 15);
79
- i0.ɵɵelementEnd()();
80
- } if (rf & 2) {
81
- const ctx_r1 = i0.ɵɵnextContext(2);
82
- i0.ɵɵadvance(8);
83
- i0.ɵɵproperty("ngForOf", ctx_r1.showingCollection);
84
- } }
85
- function GeometryBrowserOverlayComponent_div_1_p_4_Template(rf, ctx) { if (rf & 1) {
86
- i0.ɵɵelementStart(0, "p", 23);
87
- i0.ɵɵtext(1, " Load event data to be able to display information about the collections here. ");
88
- i0.ɵɵelementEnd();
89
- } }
90
- function GeometryBrowserOverlayComponent_div_1_Template(rf, ctx) { if (rf & 1) {
91
- i0.ɵɵelementStart(0, "div", 2);
92
- i0.ɵɵtemplate(1, GeometryBrowserOverlayComponent_div_1_div_1_Template, 9, 1, "div", 3);
93
- i0.ɵɵelementStart(2, "div", 4);
94
- i0.ɵɵtemplate(3, GeometryBrowserOverlayComponent_div_1_table_3_Template, 9, 1, "table", 5)(4, GeometryBrowserOverlayComponent_div_1_p_4_Template, 2, 0, "p", 6);
95
- i0.ɵɵelementEnd()();
96
- } if (rf & 2) {
97
- const ctx_r1 = i0.ɵɵnextContext();
98
- i0.ɵɵadvance();
99
- i0.ɵɵproperty("ngIf", ctx_r1.children != null);
100
- i0.ɵɵadvance(2);
101
- i0.ɵɵproperty("ngIf", ctx_r1.showingCollection);
102
- i0.ɵɵadvance();
103
- i0.ɵɵproperty("ngIf", !ctx_r1.children);
104
- } }
105
- export class GeometryBrowserOverlayComponent {
106
- eventDisplay;
107
- browseDetectorParts;
108
- selectedCollection;
109
- showingCollection;
110
- activeObject;
111
- children;
112
- constructor(eventDisplay) {
113
- this.eventDisplay = eventDisplay;
114
- }
115
- ngOnInit() {
116
- this.children = this.eventDisplay
117
- .getThreeManager()
118
- .getSceneManager()
119
- .getGeometries().children;
120
- this.activeObject = this.eventDisplay.getActiveObjectId();
121
- this.activeObject.onUpdate((value) => {
122
- if (document.getElementById(value)) {
123
- document.getElementById(value).scrollIntoView(false);
124
- }
125
- });
126
- }
127
- changeCollection(selectedCollection) {
128
- this.selectedCollection = selectedCollection;
129
- for (const child of this.children) {
130
- if (child.name === this.selectedCollection) {
131
- this.showingCollection = child.children;
132
- break;
133
- }
134
- }
135
- }
136
- lookAtObject(uuid) {
137
- if (uuid) {
138
- this.activeObject.update(uuid);
139
- this.eventDisplay.lookAtObject(uuid, true);
140
- }
141
- }
142
- highlightObject(uuid) {
143
- if (uuid) {
144
- this.activeObject.update(uuid);
145
- this.eventDisplay.highlightObject(uuid, true);
146
- }
147
- }
148
- enableHighlighting() {
149
- this.eventDisplay.enableHighlighting();
150
- }
151
- disableHighlighting() {
152
- this.eventDisplay.disableHighlighting();
153
- }
154
- static ɵfac = function GeometryBrowserOverlayComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GeometryBrowserOverlayComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService)); };
155
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GeometryBrowserOverlayComponent, selectors: [["app-geometry-browser-overlay"]], inputs: { browseDetectorParts: "browseDetectorParts" }, decls: 2, vars: 3, consts: [["overlayTitle", "Browse Display", "icon", "info", 3, "resizable", "active"], ["class", "collectionsInfo m-2", 4, "ngIf"], [1, "collectionsInfo", "m-2"], ["class", "collectionSelector mb-2 d-flex align-items-center", 4, "ngIf"], [1, "boxBody", "table-responsive"], ["id", "collectionTable", "class", "table table-borderless table-sm", 4, "ngIf"], ["class", "emptyBox", 4, "ngIf"], [1, "collectionSelector", "mb-2", "d-flex", "align-items-center"], [1, "d-flex", "align-items-center"], [1, "eventSelector"], ["id", "detectorCollection", "name", "detectorCollection", 3, "change"], ["value", "", "selected", "", "disabled", "", "hidden", ""], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"], ["id", "collectionTable", 1, "table", "table-borderless", "table-sm"], [3, "ngClass", 4, "ngFor", "ngForOf"], [3, "ngClass"], ["class", "row justify-content-center icon-wrapper", 4, "ngIf"], [1, "row", "justify-content-center", "icon-wrapper"], ["matTooltip", "Move camera to object", 1, "object-select", "btn-blank", 3, "click"], ["href", "assets/icons/views.svg#views"], ["matTooltip", "Highlight object", 1, "object-select", "btn-blank", 3, "click"], ["href", "assets/icons/cursor.svg#cursor"], [1, "emptyBox"]], template: function GeometryBrowserOverlayComponent_Template(rf, ctx) { if (rf & 1) {
156
- i0.ɵɵelementStart(0, "app-overlay", 0);
157
- i0.ɵɵtemplate(1, GeometryBrowserOverlayComponent_div_1_Template, 5, 3, "div", 1);
158
- i0.ɵɵelementEnd();
159
- } if (rf & 2) {
160
- i0.ɵɵproperty("resizable", true)("active", ctx.browseDetectorParts);
161
- i0.ɵɵadvance();
162
- i0.ɵɵproperty("ngIf", ctx.browseDetectorParts);
163
- } }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i3.MatTooltip, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i5.OverlayComponent], styles: [".collectionsInfo[_ngcontent-%COMP%]{height:95%}.collectionsInfo[_ngcontent-%COMP%] .collectionSelector[_ngcontent-%COMP%]{height:15%;min-height:2rem}.collectionsInfo[_ngcontent-%COMP%] .collectionSelector[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--phoenix-text-color-secondary);margin-right:1rem}.boxBody[_ngcontent-%COMP%]{height:85%;overflow:scroll}.boxBody[_ngcontent-%COMP%] p.emptyBox[_ngcontent-%COMP%]{max-width:21em}#collectionTable[_ngcontent-%COMP%]{position:relative;color:var(--phoenix-text-color-secondary)}#collectionTable[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{position:sticky;top:0;z-index:100;background:var(--phoenix-background-color-secondary)}#collectionTable[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{margin-right:10px;margin-left:-92px}#collectionTable[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] .icon-wrapper[_ngcontent-%COMP%]{display:flex;width:1rem;height:1rem;padding:.2rem}#collectionTable[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] .icon-wrapper[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:100%;height:100%}#collectionTable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{padding-right:1.2rem}#collectionTable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] *[_ngcontent-%COMP%]:last-child{padding-right:0}#collectionTable[_ngcontent-%COMP%] tr.active-object[_ngcontent-%COMP%]{color:var(--phoenix-background-color);background:var(--phoenix-text-color);box-shadow:0 0 15px var(--phoenix-text-color)}#collectionTable[_ngcontent-%COMP%] tr.active-object[_ngcontent-%COMP%] div.icon-wrapper[_ngcontent-%COMP%]{--phoenix-options-icon-path: var(--phoenix-background-color);--phoenix-options-icon-bg: var(--phoenix-text-color-hover)}#collectionTable[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .object-select[_ngcontent-%COMP%]{position:relative;width:1.6rem;height:1.6rem;margin-right:.4em;text-align:center;background-color:var(--phoenix-options-icon-bg);border-radius:10px;cursor:pointer}#collectionTable[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .object-select[_ngcontent-%COMP%]:last-child{margin-right:0}#collectionTable[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .object-select[_ngcontent-%COMP%]:hover{border:1px solid var(--phoenix-options-icon-path)}#collectionTable[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .object-select[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{position:absolute;top:0;left:0;padding:.4rem;width:100%;height:100%;vertical-align:top}.eventSelector[_ngcontent-%COMP%]{display:flex}.eventSelector[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:none;color:var(--phoenix-text-color-secondary)}.eventSelector[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:9rem;padding:5px 10px;font-size:12px;border:1px solid rgba(88,88,88,.08);box-shadow:var(--phoenix-icon-shadow);background-color:var(--phoenix-background-color-tertiary);color:var(--phoenix-text-color-secondary)}"] });
164
- }
165
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GeometryBrowserOverlayComponent, [{
166
- type: Component,
167
- args: [{ selector: 'app-geometry-browser-overlay', template: "<!-- Show objects -->\n<app-overlay\n overlayTitle=\"Browse Display\"\n icon=\"info\"\n [resizable]=\"true\"\n [active]=\"browseDetectorParts\"\n>\n <!-- Using ngIf to remove it from DOM since this panel requires heavy computing -->\n <div *ngIf=\"browseDetectorParts\" class=\"collectionsInfo m-2\">\n <div\n class=\"collectionSelector mb-2 d-flex align-items-center\"\n *ngIf=\"children != null\"\n >\n <div class=\"d-flex align-items-center\">\n <span>Choose a collection: </span>\n <div class=\"eventSelector\">\n <select\n id=\"detectorCollection\"\n name=\"detectorCollection\"\n (change)=\"changeCollection($event.target.value)\"\n >\n <option value=\"\" selected disabled hidden>Choose Collection</option>\n <option *ngFor=\"let child of children\" [value]=\"child.name\">\n {{ child.name }}\n </option>\n </select>\n </div>\n </div>\n </div>\n\n <div class=\"boxBody table-responsive\">\n <table\n id=\"collectionTable\"\n class=\"table table-borderless table-sm\"\n *ngIf=\"showingCollection\"\n >\n <thead>\n <tr>\n <th>No.</th>\n <th>Selection</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let object of showingCollection; index as i\"\n [attr.id]=\"object.uuid\"\n [ngClass]=\"{\n 'active-object':\n activeObject && activeObject.value === object.uuid,\n }\"\n >\n <td>#{{ i }}</td>\n <td>\n <div\n *ngIf=\"object.uuid\"\n class=\"row justify-content-center icon-wrapper\"\n >\n <button\n class=\"object-select btn-blank\"\n matTooltip=\"Move camera to object\"\n (click)=\"lookAtObject(object.uuid)\"\n >\n <svg>\n <use href=\"assets/icons/views.svg#views\"></use>\n </svg>\n </button>\n <button\n class=\"object-select btn-blank\"\n matTooltip=\"Highlight object\"\n (click)=\"highlightObject(object.uuid)\"\n >\n <svg>\n <use href=\"assets/icons/cursor.svg#cursor\"></use>\n </svg>\n </button>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n <p class=\"emptyBox\" *ngIf=\"!children\">\n Load event data to be able to display information about the collections\n here.\n </p>\n </div>\n </div>\n</app-overlay>\n", styles: [".collectionsInfo{height:95%}.collectionsInfo .collectionSelector{height:15%;min-height:2rem}.collectionsInfo .collectionSelector span{color:var(--phoenix-text-color-secondary);margin-right:1rem}.boxBody{height:85%;overflow:scroll}.boxBody p.emptyBox{max-width:21em}#collectionTable{position:relative;color:var(--phoenix-text-color-secondary)}#collectionTable thead tr th{position:sticky;top:0;z-index:100;background:var(--phoenix-background-color-secondary)}#collectionTable thead tr th .row{margin-right:10px;margin-left:-92px}#collectionTable thead tr th .icon-wrapper{display:flex;width:1rem;height:1rem;padding:.2rem}#collectionTable thead tr th .icon-wrapper svg{width:100%;height:100%}#collectionTable tr *{padding-right:1.2rem}#collectionTable tr *:last-child{padding-right:0}#collectionTable tr.active-object{color:var(--phoenix-background-color);background:var(--phoenix-text-color);box-shadow:0 0 15px var(--phoenix-text-color)}#collectionTable tr.active-object div.icon-wrapper{--phoenix-options-icon-path: var(--phoenix-background-color);--phoenix-options-icon-bg: var(--phoenix-text-color-hover)}#collectionTable td .object-select{position:relative;width:1.6rem;height:1.6rem;margin-right:.4em;text-align:center;background-color:var(--phoenix-options-icon-bg);border-radius:10px;cursor:pointer}#collectionTable td .object-select:last-child{margin-right:0}#collectionTable td .object-select:hover{border:1px solid var(--phoenix-options-icon-path)}#collectionTable td .object-select svg{position:absolute;top:0;left:0;padding:.4rem;width:100%;height:100%;vertical-align:top}.eventSelector{display:flex}.eventSelector label{display:none;color:var(--phoenix-text-color-secondary)}.eventSelector select{width:9rem;padding:5px 10px;font-size:12px;border:1px solid rgba(88,88,88,.08);box-shadow:var(--phoenix-icon-shadow);background-color:var(--phoenix-background-color-tertiary);color:var(--phoenix-text-color-secondary)}\n"] }]
168
- }], () => [{ type: i1.EventDisplayService }], { browseDetectorParts: [{
169
- type: Input
170
- }] }); })();
171
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(GeometryBrowserOverlayComponent, { className: "GeometryBrowserOverlayComponent", filePath: "components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.ts", lineNumber: 11 }); })();
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnktYnJvd3Nlci1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvZ2VvbWV0cnktYnJvd3Nlci9nZW9tZXRyeS1icm93c2VyLW92ZXJsYXkvZ2VvbWV0cnktYnJvd3Nlci1vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvZ2VvbWV0cnktYnJvd3Nlci9nZW9tZXRyeS1icm93c2VyLW92ZXJsYXkvZ2VvbWV0cnktYnJvd3Nlci1vdmVybGF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7SUNzQmxELGtDQUE0RDtJQUMxRCxZQUNGO0lBQUEsaUJBQVM7OztJQUY4QixxQ0FBb0I7SUFDekQsY0FDRjtJQURFLDhDQUNGOzs7O0lBVkosQUFERixBQUpGLDhCQUdDLGFBQ3dDLFdBQy9CO0lBQUEscUNBQXFCO0lBQUEsaUJBQU87SUFFaEMsQUFERiw4QkFBMkIsaUJBS3hCO0lBREMsME1BQVUsNENBQXFDLEtBQUM7SUFFaEQsa0NBQTBDO0lBQUEsaUNBQWlCO0lBQUEsaUJBQVM7SUFDcEUsbUdBQTREO0lBTXBFLEFBREUsQUFERSxBQURFLGlCQUFTLEVBQ0wsRUFDRixFQUNGOzs7SUFONEIsZUFBVztJQUFYLHlDQUFXOzs7O0lBbUNqQyxBQUpGLCtCQUdDLGlCQUtFO0lBREMsK1BBQVMsbUNBQXlCLEtBQUM7O0lBRW5DLDJCQUFLO0lBQ0gsMEJBQStDO0lBRW5ELEFBREUsaUJBQU0sRUFDQzs7SUFDVCxrQ0FJQztJQURDLCtQQUFTLHNDQUE0QixLQUFDOztJQUV0QywyQkFBSztJQUNILDBCQUFpRDtJQUd2RCxBQURFLEFBREUsaUJBQU0sRUFDQyxFQUNM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O0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMxQyxDQUFDO3lIQXJEVSwrQkFBK0I7NkRBQS9CLCtCQUErQjtZQ1Q1QyxzQ0FLQztZQUVDLGdGQUE2RDtZQThFL0QsaUJBQWM7O1lBakZaLEFBREEsZ0NBQWtCLG1DQUNZO1lBR3hCLGNBQXlCO1lBQXpCLDhDQUF5Qjs7O2lGREVwQiwrQkFBK0I7Y0FMM0MsU0FBUzsyQkFDRSw4QkFBOEI7b0RBSy9CLG1CQUFtQjtrQkFBM0IsS0FBSzs7a0ZBREssK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCB0eXBlIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2ZVZhcmlhYmxlIH0gZnJvbSAncGhvZW5peC1ldmVudC1kaXNwbGF5JztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JqZWN0M0QsIHR5cGUgT2JqZWN0M0RFdmVudE1hcCB9IGZyb20gJ3RocmVlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWdlb21ldHJ5LWJyb3dzZXItb3ZlcmxheScsXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW9tZXRyeS1icm93c2VyLW92ZXJsYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nZW9tZXRyeS1icm93c2VyLW92ZXJsYXkuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgR2VvbWV0cnlCcm93c2VyT3ZlcmxheUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGJyb3dzZURldGVjdG9yUGFydHM6IGJvb2xlYW47XG4gIHNlbGVjdGVkQ29sbGVjdGlvbjogc3RyaW5nO1xuICBzaG93aW5nQ29sbGVjdGlvbjogYW55O1xuICBhY3RpdmVPYmplY3Q6IEFjdGl2ZVZhcmlhYmxlPHN0cmluZz47XG4gIGNoaWxkcmVuOiBPYmplY3QzRDxPYmplY3QzREV2ZW50TWFwPltdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXZlbnREaXNwbGF5OiBFdmVudERpc3BsYXlTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2hpbGRyZW4gPSB0aGlzLmV2ZW50RGlzcGxheVxuICAgICAgLmdldFRocmVlTWFuYWdlcigpXG4gICAgICAuZ2V0U2NlbmVNYW5hZ2VyKClcbiAgICAgIC5nZXRHZW9tZXRyaWVzKCkuY2hpbGRyZW47XG5cbiAgICB0aGlzLmFjdGl2ZU9iamVjdCA9IHRoaXMuZXZlbnREaXNwbGF5LmdldEFjdGl2ZU9iamVjdElkKCk7XG4gICAgdGhpcy5hY3RpdmVPYmplY3Qub25VcGRhdGUoKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh2YWx1ZSkpIHtcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodmFsdWUpLnNjcm9sbEludG9WaWV3KGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNoYW5nZUNvbGxlY3Rpb24oc2VsZWN0ZWRDb2xsZWN0aW9uOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29sbGVjdGlvbiA9IHNlbGVjdGVkQ29sbGVjdGlvbjtcbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMuY2hpbGRyZW4pIHtcbiAgICAgIGlmIChjaGlsZC5uYW1lID09PSB0aGlzLnNlbGVjdGVkQ29sbGVjdGlvbikge1xuICAgICAgICB0aGlzLnNob3dpbmdDb2xsZWN0aW9uID0gY2hpbGQuY2hpbGRyZW47XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxvb2tBdE9iamVjdCh1dWlkOiBzdHJpbmcpIHtcbiAgICBpZiAodXVpZCkge1xuICAgICAgdGhpcy5hY3RpdmVPYmplY3QudXBkYXRlKHV1aWQpO1xuICAgICAgdGhpcy5ldmVudERpc3BsYXkubG9va0F0T2JqZWN0KHV1aWQsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGhpZ2hsaWdodE9iamVjdCh1dWlkOiBzdHJpbmcpIHtcbiAgICBpZiAodXVpZCkge1xuICAgICAgdGhpcy5hY3RpdmVPYmplY3QudXBkYXRlKHV1aWQpO1xuICAgICAgdGhpcy5ldmVudERpc3BsYXkuaGlnaGxpZ2h0T2JqZWN0KHV1aWQsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGVuYWJsZUhpZ2hsaWdodGluZygpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5lbmFibGVIaWdobGlnaHRpbmcoKTtcbiAgfVxuXG4gIGRpc2FibGVIaWdobGlnaHRpbmcoKSB7XG4gICAgdGhpcy5ldmVudERpc3BsYXkuZGlzYWJsZUhpZ2hsaWdodGluZygpO1xuICB9XG59XG4iLCI8IS0tIFNob3cgb2JqZWN0cyAtLT5cbjxhcHAtb3ZlcmxheVxuICBvdmVybGF5VGl0bGU9XCJCcm93c2UgRGlzcGxheVwiXG4gIGljb249XCJpbmZvXCJcbiAgW3Jlc2l6YWJsZV09XCJ0cnVlXCJcbiAgW2FjdGl2ZV09XCJicm93c2VEZXRlY3RvclBhcnRzXCJcbj5cbiAgPCEtLSBVc2luZyBuZ0lmIHRvIHJlbW92ZSBpdCBmcm9tIERPTSBzaW5jZSB0aGlzIHBhbmVsIHJlcXVpcmVzIGhlYXZ5IGNvbXB1dGluZyAtLT5cbiAgPGRpdiAqbmdJZj1cImJyb3dzZURldGVjdG9yUGFydHNcIiBjbGFzcz1cImNvbGxlY3Rpb25zSW5mbyBtLTJcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImNvbGxlY3Rpb25TZWxlY3RvciBtYi0yIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgKm5nSWY9XCJjaGlsZHJlbiAhPSBudWxsXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8c3Bhbj5DaG9vc2UgYSBjb2xsZWN0aW9uOiA8L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldmVudFNlbGVjdG9yXCI+XG4gICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgaWQ9XCJkZXRlY3RvckNvbGxlY3Rpb25cIlxuICAgICAgICAgICAgbmFtZT1cImRldGVjdG9yQ29sbGVjdGlvblwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZUNvbGxlY3Rpb24oJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIiBzZWxlY3RlZCBkaXNhYmxlZCBoaWRkZW4+Q2hvb3NlIENvbGxlY3Rpb248L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNoaWxkIG9mIGNoaWxkcmVuXCIgW3ZhbHVlXT1cImNoaWxkLm5hbWVcIj5cbiAgICAgICAgICAgICAge3sgY2hpbGQubmFtZSB9fVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYm94Qm9keSB0YWJsZS1yZXNwb25zaXZlXCI+XG4gICAgICA8dGFibGVcbiAgICAgICAgaWQ9XCJjb2xsZWN0aW9uVGFibGVcIlxuICAgICAgICBjbGFzcz1cInRhYmxlIHRhYmxlLWJvcmRlcmxlc3MgdGFibGUtc21cIlxuICAgICAgICAqbmdJZj1cInNob3dpbmdDb2xsZWN0aW9uXCJcbiAgICAgID5cbiAgICAgICAgPHRoZWFkPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aD5Oby48L3RoPlxuICAgICAgICAgICAgPHRoPlNlbGVjdGlvbjwvdGg+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICAgPHRib2R5PlxuICAgICAgICAgIDx0clxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9iamVjdCBvZiBzaG93aW5nQ29sbGVjdGlvbjsgaW5kZXggYXMgaVwiXG4gICAgICAgICAgICBbYXR0ci5pZF09XCJvYmplY3QudXVpZFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdhY3RpdmUtb2JqZWN0JzpcbiAgICAgICAgICAgICAgICBhY3RpdmVPYmplY3QgJiYgYWN0aXZlT2JqZWN0LnZhbHVlID09PSBvYmplY3QudXVpZCxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx0ZD4je3sgaSB9fTwvdGQ+XG4gICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm9iamVjdC51dWlkXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGljb24td3JhcHBlclwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm9iamVjdC1zZWxlY3QgYnRuLWJsYW5rXCJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJNb3ZlIGNhbWVyYSB0byBvYmplY3RcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImxvb2tBdE9iamVjdChvYmplY3QudXVpZClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzdmc+XG4gICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cImFzc2V0cy9pY29ucy92aWV3cy5zdmcjdmlld3NcIj48L3VzZT5cbiAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwib2JqZWN0LXNlbGVjdCBidG4tYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkhpZ2hsaWdodCBvYmplY3RcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhpZ2hsaWdodE9iamVjdChvYmplY3QudXVpZClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzdmc+XG4gICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cImFzc2V0cy9pY29ucy9jdXJzb3Iuc3ZnI2N1cnNvclwiPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICAgIDxwIGNsYXNzPVwiZW1wdHlCb3hcIiAqbmdJZj1cIiFjaGlsZHJlblwiPlxuICAgICAgICBMb2FkIGV2ZW50IGRhdGEgdG8gYmUgYWJsZSB0byBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb2xsZWN0aW9uc1xuICAgICAgICBoZXJlLlxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvYXBwLW92ZXJsYXk+XG4iXX0=