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,17 @@
1
+ import { EventDisplayService } from './event-display.service';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Service makeing file loading easier
5
+ */
6
+ export declare class FileLoaderService {
7
+ private lastEventsURL;
8
+ private lastEventsOptions;
9
+ unzip(data: ArrayBuffer): Promise<string>;
10
+ makeRequest(urlPath: string, responseType: 'json' | 'text' | 'blob', onData: (data: any) => void, options?: any): boolean;
11
+ loadJSONEvent(eventData: string, eventDisplay: EventDisplayService): void;
12
+ loadJiveXMLEvent(eventData: string, eventDisplay: EventDisplayService): void;
13
+ loadEvent(file: string, eventDisplay: EventDisplayService, options?: any): boolean;
14
+ reloadLastEvents(eventDisplay: EventDisplayService): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<FileLoaderService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<FileLoaderService>;
17
+ }
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "phoenix-ui-components",
3
- "version": "2.14.1",
3
+ "version": "2.16.0",
4
4
  "description": "Reusable Angular components of the Phoenix event display application.",
5
5
  "author": "Phoenix contributors (https://github.com/HSF/phoenix/graphs/contributors)",
6
6
  "license": "Apache-2.0",
7
- "homepage": "http://github.com/HSF/phoenix/tree/master/packages/phoenix-ng/projects/phoenix-ui-components#readme",
7
+ "homepage": "http://github.com/HSF/phoenix/tree/main/packages/phoenix-ng/projects/phoenix-ui-components#readme",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "git://github.com/HSF/phoenix.git"
@@ -25,26 +25,37 @@
25
25
  "zone.js": "*"
26
26
  },
27
27
  "dependencies": {
28
- "@angular/animations": "^15.2.8",
29
- "@angular/cdk": "^15.2.8",
30
- "@angular/forms": "^15.2.8",
31
- "@angular/material": "^15.2.8",
32
- "@angular/platform-browser": "^15.2.8",
28
+ "@angular/animations": "^17.3.1",
29
+ "@angular/cdk": "^17.3.1",
30
+ "@angular/forms": "^17.3.1",
31
+ "@angular/material": "^17.3.1",
32
+ "@angular/platform-browser": "^17.3.1",
33
33
  "css-element-queries": "^1.2.3",
34
34
  "qrcode": "1.5.3",
35
35
  "rxjs": "^7.8.1",
36
- "three": "^0.152.2",
37
- "tslib": "^2.5.0"
36
+ "three": "^0.162.0",
37
+ "tslib": "^2.6.2"
38
38
  },
39
39
  "devDependencies": {
40
- "node-fetch": "^3.3.1"
40
+ "node-fetch": "^3.3.2",
41
+ "rimraf": "^5.0.5"
41
42
  },
42
- "module": "dist/fesm2015/phoenix-ui-components.mjs",
43
- "es2020": "dist/fesm2020/phoenix-ui-components.mjs",
44
- "esm2020": "dist/esm2020/phoenix-ui-components.mjs",
45
- "fesm2020": "dist/fesm2020/phoenix-ui-components.mjs",
46
- "fesm2015": "dist/fesm2015/phoenix-ui-components.mjs",
43
+ "module": "dist/fesm2022/phoenix-ui-components.mjs",
47
44
  "typings": "dist/index.d.ts",
48
45
  "sideEffects": false,
49
- "gitHead": "ec5fed57797365fb01b149f9b316b4af6230eae4"
46
+ "exports": {
47
+ "./package.json": {
48
+ "default": "./package.json"
49
+ },
50
+ ".": {
51
+ "types": "./dist/index.d.ts",
52
+ "esm2022": "./dist/esm2022/phoenix-ui-components.mjs",
53
+ "esm": "./dist/esm2022/phoenix-ui-components.mjs",
54
+ "default": "./dist/fesm2022/phoenix-ui-components.mjs"
55
+ },
56
+ "./theming": {
57
+ "sass": "./_theming.scss"
58
+ }
59
+ },
60
+ "gitHead": "1c95c498ceaf0b4b5191d1a2acdae445c587e88c"
50
61
  }
@@ -1,21 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../ui-menu/dark-theme/dark-theme.component";
4
- import * as i2 from "../ui-menu/auto-rotate/auto-rotate.component";
5
- import * as i3 from "../ui-menu/main-view-toggle/main-view-toggle.component";
6
- import * as i4 from "../ui-menu/animate-camera/animate-camera.component";
7
- import * as i5 from "../ui-menu/animate-event/animate-event.component";
8
- import * as i6 from "./experiment-link/experiment-link.component";
9
- export class EmbedMenuComponent {
10
- }
11
- EmbedMenuComponent.ɵfac = function EmbedMenuComponent_Factory(t) { return new (t || EmbedMenuComponent)(); };
12
- EmbedMenuComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EmbedMenuComponent, selectors: [["app-embed-menu"]], decls: 8, vars: 0, consts: [["id", "embedMenu"], ["id", "embedMenuInner"]], template: function EmbedMenuComponent_Template(rf, ctx) { if (rf & 1) {
13
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
14
- i0.ɵɵelement(2, "app-dark-theme")(3, "app-auto-rotate")(4, "app-main-view-toggle")(5, "app-animate-event")(6, "app-animate-camera")(7, "app-experiment-link");
15
- i0.ɵɵelementEnd()();
16
- } }, dependencies: [i1.DarkThemeComponent, i2.AutoRotateComponent, i3.MainViewToggleComponent, i4.AnimateCameraComponent, i5.AnimateEventComponent, i6.ExperimentLinkComponent], styles: ["#embedMenu[_ngcontent-%COMP%]{display:none}#embedMenu[_ngcontent-%COMP%] #embedMenuInner[_ngcontent-%COMP%]{display:flex;position:absolute;left:1rem;bottom:1rem;background:var(--phoenix-background-color-secondary);border:1px solid var(--phoenix-background-color-tertiary);box-shadow:var(--phoenix-box-shadow);border-radius:30px;padding:.25rem 0}"] });
17
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EmbedMenuComponent, [{
18
- type: Component,
19
- args: [{ selector: 'app-embed-menu', template: "<div id=\"embedMenu\">\n <div id=\"embedMenuInner\">\n <app-dark-theme></app-dark-theme>\n <app-auto-rotate></app-auto-rotate>\n <app-main-view-toggle></app-main-view-toggle>\n <app-animate-event></app-animate-event>\n <app-animate-camera></app-animate-camera>\n <app-experiment-link></app-experiment-link>\n </div>\n</div>\n", styles: ["#embedMenu{display:none}#embedMenu #embedMenuInner{display:flex;position:absolute;left:1rem;bottom:1rem;background:var(--phoenix-background-color-secondary);border:1px solid var(--phoenix-background-color-tertiary);box-shadow:var(--phoenix-box-shadow);border-radius:30px;padding:.25rem 0}\n"] }]
20
- }], null, null); })();
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy9lbWJlZC1tZW51L2VtYmVkLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvZW1iZWQtbWVudS9lbWJlZC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBTzFDLE1BQU0sT0FBTyxrQkFBa0I7O29GQUFsQixrQkFBa0I7cUVBQWxCLGtCQUFrQjtRQ1AvQiw4QkFBb0IsYUFBQTtRQUVoQixpQ0FBaUMsc0JBQUEsMkJBQUEsd0JBQUEseUJBQUEsMEJBQUE7UUFNbkMsaUJBQU0sRUFBQTs7dUZEREssa0JBQWtCO2NBTDlCLFNBQVM7MkJBQ0UsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1lbWJlZC1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VtYmVkLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbWJlZC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEVtYmVkTWVudUNvbXBvbmVudCB7fVxuIiwiPGRpdiBpZD1cImVtYmVkTWVudVwiPlxuICA8ZGl2IGlkPVwiZW1iZWRNZW51SW5uZXJcIj5cbiAgICA8YXBwLWRhcmstdGhlbWU+PC9hcHAtZGFyay10aGVtZT5cbiAgICA8YXBwLWF1dG8tcm90YXRlPjwvYXBwLWF1dG8tcm90YXRlPlxuICAgIDxhcHAtbWFpbi12aWV3LXRvZ2dsZT48L2FwcC1tYWluLXZpZXctdG9nZ2xlPlxuICAgIDxhcHAtYW5pbWF0ZS1ldmVudD48L2FwcC1hbmltYXRlLWV2ZW50PlxuICAgIDxhcHAtYW5pbWF0ZS1jYW1lcmE+PC9hcHAtYW5pbWF0ZS1jYW1lcmE+XG4gICAgPGFwcC1leHBlcmltZW50LWxpbms+PC9hcHAtZXhwZXJpbWVudC1saW5rPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,25 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../ui-menu/menu-toggle/menu-toggle.component";
4
- export class ExperimentLinkComponent {
5
- ngOnInit() {
6
- // we just want to remove the "&embed=true" instruction here.
7
- const url = new URL(window.location.href);
8
- url.searchParams.delete('embed');
9
- this.experimentLink = url.toString();
10
- }
11
- goToExperiment() {
12
- window.open(this.experimentLink, '_blank');
13
- }
14
- }
15
- ExperimentLinkComponent.ɵfac = function ExperimentLinkComponent_Factory(t) { return new (t || ExperimentLinkComponent)(); };
16
- ExperimentLinkComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ExperimentLinkComponent, selectors: [["app-experiment-link"]], decls: 1, vars: 0, consts: [["tooltip", "See full event display", "icon", "link", 3, "click"]], template: function ExperimentLinkComponent_Template(rf, ctx) { if (rf & 1) {
17
- i0.ɵɵelementStart(0, "app-menu-toggle", 0);
18
- i0.ɵɵlistener("click", function ExperimentLinkComponent_Template_app_menu_toggle_click_0_listener() { return ctx.goToExperiment(); });
19
- i0.ɵɵelementEnd();
20
- } }, dependencies: [i1.MenuToggleComponent] });
21
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ExperimentLinkComponent, [{
22
- type: Component,
23
- args: [{ selector: 'app-experiment-link', template: "<app-menu-toggle\n tooltip=\"See full event display\"\n icon=\"link\"\n (click)=\"goToExperiment()\"\n></app-menu-toggle>\n" }]
24
- }], null, null); })();
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwZXJpbWVudC1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL2VtYmVkLW1lbnUvZXhwZXJpbWVudC1saW5rL2V4cGVyaW1lbnQtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy9lbWJlZC1tZW51L2V4cGVyaW1lbnQtbGluay9leHBlcmltZW50LWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2xELE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsUUFBUTtRQUNOLDZEQUE2RDtRQUM3RCxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7OzhGQVpVLHVCQUF1QjswRUFBdkIsdUJBQXVCO1FDUHBDLDBDQUlDO1FBREMsNkdBQVMsb0JBQWdCLElBQUM7UUFDM0IsaUJBQWtCOzt1RkRHTix1QkFBdUI7Y0FMbkMsU0FBUzsyQkFDRSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZXhwZXJpbWVudC1saW5rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V4cGVyaW1lbnQtbGluay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2V4cGVyaW1lbnQtbGluay5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFeHBlcmltZW50TGlua0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgZXhwZXJpbWVudExpbms6IHN0cmluZztcblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyB3ZSBqdXN0IHdhbnQgdG8gcmVtb3ZlIHRoZSBcIiZlbWJlZD10cnVlXCIgaW5zdHJ1Y3Rpb24gaGVyZS5cbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgICB1cmwuc2VhcmNoUGFyYW1zLmRlbGV0ZSgnZW1iZWQnKTtcbiAgICB0aGlzLmV4cGVyaW1lbnRMaW5rID0gdXJsLnRvU3RyaW5nKCk7XG4gIH1cblxuICBnb1RvRXhwZXJpbWVudCgpIHtcbiAgICB3aW5kb3cub3Blbih0aGlzLmV4cGVyaW1lbnRMaW5rLCAnX2JsYW5rJyk7XG4gIH1cbn1cbiIsIjxhcHAtbWVudS10b2dnbGVcbiAgdG9vbHRpcD1cIlNlZSBmdWxsIGV2ZW50IGRpc3BsYXlcIlxuICBpY29uPVwibGlua1wiXG4gIChjbGljayk9XCJnb1RvRXhwZXJpbWVudCgpXCJcbj48L2FwcC1tZW51LXRvZ2dsZT5cbiJdfQ==
@@ -1,97 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
- import { NestedTreeControl } from '@angular/cdk/tree';
3
- import { MatTreeNestedDataSource } from '@angular/material/tree';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/material/button";
6
- import * as i2 from "@angular/cdk/tree";
7
- function FileExplorerComponent_cdk_tree_node_1_Template(rf, ctx) { if (rf & 1) {
8
- const _r4 = i0.ɵɵgetCurrentView();
9
- i0.ɵɵelementStart(0, "cdk-tree-node", 3)(1, "button", 4);
10
- i0.ɵɵlistener("click", function FileExplorerComponent_cdk_tree_node_1_Template_button_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r4); const node_r2 = restoredCtx.$implicit; const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.onSelect(node_r2.url)); });
11
- i0.ɵɵnamespaceSVG();
12
- i0.ɵɵelementStart(2, "svg", 5);
13
- i0.ɵɵelement(3, "use", 6);
14
- i0.ɵɵelementEnd();
15
- i0.ɵɵtext(4);
16
- i0.ɵɵelementEnd()();
17
- } if (rf & 2) {
18
- const node_r2 = ctx.$implicit;
19
- i0.ɵɵadvance(4);
20
- i0.ɵɵtextInterpolate1(" ", node_r2.name, " ");
21
- } }
22
- function FileExplorerComponent_cdk_nested_tree_node_2_Template(rf, ctx) { if (rf & 1) {
23
- i0.ɵɵelementStart(0, "cdk-nested-tree-node", 3)(1, "button", 7);
24
- i0.ɵɵnamespaceSVG();
25
- i0.ɵɵelementStart(2, "svg", 5);
26
- i0.ɵɵelement(3, "use", 8);
27
- i0.ɵɵelementEnd();
28
- i0.ɵɵtext(4);
29
- i0.ɵɵelementEnd();
30
- i0.ɵɵnamespaceHTML();
31
- i0.ɵɵelementStart(5, "div");
32
- i0.ɵɵelementContainer(6, 9);
33
- i0.ɵɵelementEnd()();
34
- } if (rf & 2) {
35
- const node_r5 = ctx.$implicit;
36
- const ctx_r1 = i0.ɵɵnextContext();
37
- i0.ɵɵadvance(1);
38
- i0.ɵɵattribute("aria-label", "Toggle " + node_r5.name);
39
- i0.ɵɵadvance(1);
40
- i0.ɵɵclassProp("node-icon-filled", !ctx_r1.treeControl.isExpanded(node_r5));
41
- i0.ɵɵadvance(2);
42
- i0.ɵɵtextInterpolate1(" ", node_r5.name, " ");
43
- i0.ɵɵadvance(1);
44
- i0.ɵɵclassProp("file-tree-invisible", !ctx_r1.treeControl.isExpanded(node_r5));
45
- } }
46
- export class FileNode {
47
- constructor(name) {
48
- this.name = name;
49
- }
50
- }
51
- export class FileExplorerComponent {
52
- constructor() {
53
- this.onFileSelect = new EventEmitter();
54
- this.treeControl = new NestedTreeControl(this.getSortedChildren.bind(this));
55
- this.dataSource = new MatTreeNestedDataSource();
56
- this.hasChildren = (_, node) => !!node.children && Object.keys(node.children).length > 0;
57
- }
58
- ngOnChanges(changes) {
59
- if (changes.rootFileNode?.currentValue) {
60
- this.dataSource.data = this.getSortedChildren(changes.rootFileNode.currentValue);
61
- }
62
- }
63
- onSelect(url) {
64
- this.onFileSelect.emit(url);
65
- }
66
- /**
67
- * Sort the FileNode's children with folders before files.
68
- * @param node FileNode whose children are to be sorted.
69
- * @returns An array of sorted FileNodes.
70
- */
71
- getSortedChildren(node) {
72
- if (!node.children) {
73
- return [];
74
- }
75
- return Object.values(node.children).sort((a, b) => !a.url && b.url ? -1 : 1);
76
- }
77
- }
78
- FileExplorerComponent.ɵfac = function FileExplorerComponent_Factory(t) { return new (t || FileExplorerComponent)(); };
79
- FileExplorerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FileExplorerComponent, selectors: [["app-file-explorer"]], inputs: { rootFileNode: "rootFileNode" }, outputs: { onFileSelect: "onFileSelect" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 3, consts: [[3, "dataSource", "treeControl"], ["class", "tree-node", 4, "cdkTreeNodeDef"], ["class", "tree-node", 4, "cdkTreeNodeDef", "cdkTreeNodeDefWhen"], [1, "tree-node"], ["mat-button", "", "mat-stroked-button", "", 1, "tree-node-button", 3, "click"], [1, "node-icon"], ["href", "assets/icons/file.svg#file"], ["mat-button", "", "cdkTreeNodeToggle", "", 1, "tree-node-button"], ["href", "assets/icons/folder.svg#folder"], ["cdkTreeNodeOutlet", ""]], template: function FileExplorerComponent_Template(rf, ctx) { if (rf & 1) {
80
- i0.ɵɵelementStart(0, "cdk-tree", 0);
81
- i0.ɵɵtemplate(1, FileExplorerComponent_cdk_tree_node_1_Template, 5, 1, "cdk-tree-node", 1);
82
- i0.ɵɵtemplate(2, FileExplorerComponent_cdk_nested_tree_node_2_Template, 7, 6, "cdk-nested-tree-node", 2);
83
- i0.ɵɵelementEnd();
84
- } if (rf & 2) {
85
- i0.ɵɵproperty("dataSource", ctx.dataSource)("treeControl", ctx.treeControl);
86
- i0.ɵɵadvance(2);
87
- i0.ɵɵproperty("cdkTreeNodeDefWhen", ctx.hasChildren);
88
- } }, dependencies: [i1.MatButton, i2.CdkNestedTreeNode, i2.CdkTreeNodeDef, i2.CdkTreeNodeToggle, i2.CdkTree, i2.CdkTreeNode, i2.CdkTreeNodeOutlet], styles: [".file-tree-invisible[_ngcontent-%COMP%]{display:none}.tree-node[_ngcontent-%COMP%]{display:block;margin:.25rem 0}.tree-node[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%]{padding-left:1rem}.tree-node-button[_ngcontent-%COMP%]{outline:none;padding:0 .75rem}.node-icon[_ngcontent-%COMP%]{width:1rem;height:1rem;margin-right:.25rem;margin-top:-2px}.node-icon.node-icon-filled[_ngcontent-%COMP%]{--icon-fill: var(--phoenix-options-icon-path, #fff)}"] });
89
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FileExplorerComponent, [{
90
- type: Component,
91
- args: [{ selector: 'app-file-explorer', template: "<cdk-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n <!-- This is the tree node template for leaf nodes -->\n <cdk-tree-node *cdkTreeNodeDef=\"let node\" class=\"tree-node\">\n <button\n mat-button\n mat-stroked-button\n class=\"tree-node-button\"\n (click)=\"onSelect(node.url)\"\n >\n <svg class=\"node-icon\">\n <use href=\"assets/icons/file.svg#file\"></use>\n </svg>\n {{ node.name }}\n </button>\n </cdk-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n *cdkTreeNodeDef=\"let node; when: hasChildren\"\n class=\"tree-node\"\n >\n <button\n mat-button\n cdkTreeNodeToggle\n class=\"tree-node-button\"\n [attr.aria-label]=\"'Toggle ' + node.name\"\n >\n <svg\n class=\"node-icon\"\n [class.node-icon-filled]=\"!treeControl.isExpanded(node)\"\n >\n <use href=\"assets/icons/folder.svg#folder\"></use>\n </svg>\n {{ node.name }}\n </button>\n <div [class.file-tree-invisible]=\"!treeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n</cdk-tree>\n", styles: [".file-tree-invisible{display:none}.tree-node{display:block;margin:.25rem 0}.tree-node .tree-node{padding-left:1rem}.tree-node-button{outline:none;padding:0 .75rem}.node-icon{width:1rem;height:1rem;margin-right:.25rem;margin-top:-2px}.node-icon.node-icon-filled{--icon-fill: var(--phoenix-options-icon-path, #fff)}\n"] }]
92
- }], null, { rootFileNode: [{
93
- type: Input
94
- }], onFileSelect: [{
95
- type: Output
96
- }] }); })();
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1leHBsb3Jlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy9maWxlLWV4cGxvcmVyL2ZpbGUtZXhwbG9yZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvZmlsZS1leHBsb3Jlci9maWxlLWV4cGxvcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztJQ1AvRCx3Q0FBNEQsZ0JBQUE7SUFLeEQsdU9BQVMsZUFBQSw0QkFBa0IsQ0FBQSxJQUFDO0lBRTVCLG1CQUF1QjtJQUF2Qiw4QkFBdUI7SUFDckIseUJBQTZDO0lBQy9DLGlCQUFNO0lBQ04sWUFDRjtJQUFBLGlCQUFTLEVBQUE7OztJQURQLGVBQ0Y7SUFERSw2Q0FDRjs7O0lBR0YsK0NBR0MsZ0JBQUE7SUFPRyxtQkFHQztJQUhELDhCQUdDO0lBQ0MseUJBQWlEO0lBQ25ELGlCQUFNO0lBQ04sWUFDRjtJQUFBLGlCQUFTO0lBQ1Qsb0JBQWlFO0lBQWpFLDJCQUFpRTtJQUMvRCwyQkFBK0M7SUFDakQsaUJBQU0sRUFBQTs7OztJQVpKLGVBQXlDO0lBQXpDLHNEQUF5QztJQUl2QyxlQUF3RDtJQUF4RCwyRUFBd0Q7SUFJMUQsZUFDRjtJQURFLDZDQUNGO0lBQ0ssZUFBMkQ7SUFBM0QsOEVBQTJEOztBRHZCcEUsTUFBTSxPQUFPLFFBQVE7SUFLbkIsWUFBWSxJQUFhO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQU9ELE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFPWSxpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTFFLGdCQUFXLEdBQUcsSUFBSSxpQkFBaUIsQ0FDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDbEMsQ0FBQztRQUNGLGVBQVUsR0FBRyxJQUFJLHVCQUF1QixFQUFZLENBQUM7UUFVckQsZ0JBQVcsR0FBRyxDQUFDLENBQVMsRUFBRSxJQUFjLEVBQUUsRUFBRSxDQUMxQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0tBb0I1RDtJQTdCQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRTtZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQzNDLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUNsQyxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBS0QsUUFBUSxDQUFDLEdBQVc7UUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxpQkFBaUIsQ0FBQyxJQUFjO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNoRCxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDekIsQ0FBQztJQUNKLENBQUM7OzBGQXJDVSxxQkFBcUI7d0VBQXJCLHFCQUFxQjtRQzFCbEMsbUNBQWdFO1FBRTlELDBGQVlnQjtRQUVoQix3R0FxQnVCO1FBQ3pCLGlCQUFXOztRQXRDRCwyQ0FBeUIsZ0NBQUE7UUFpQkosZUFBaUI7UUFBakIsb0RBQWlCOzt1RkRTbkMscUJBQXFCO2NBTGpDLFNBQVM7MkJBQ0UsbUJBQW1CO2dCQUtwQixZQUFZO2tCQUFwQixLQUFLO1lBQ0ksWUFBWTtrQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmVzdGVkVHJlZUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5pbXBvcnQgeyBNYXRUcmVlTmVzdGVkRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RyZWUnO1xuXG5leHBvcnQgY2xhc3MgRmlsZU5vZGUge1xuICBuYW1lOiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xuICBjaGlsZHJlbjogeyBba2V5OiBzdHJpbmddOiBGaWxlTm9kZSB9O1xuXG4gIGNvbnN0cnVjdG9yKG5hbWU/OiBzdHJpbmcpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1maWxlLWV4cGxvcmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtZXhwbG9yZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLWV4cGxvcmVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVFeHBsb3JlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHJvb3RGaWxlTm9kZTogRmlsZU5vZGU7XG4gIEBPdXRwdXQoKSBvbkZpbGVTZWxlY3Q6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgdHJlZUNvbnRyb2wgPSBuZXcgTmVzdGVkVHJlZUNvbnRyb2w8RmlsZU5vZGU+KFxuICAgIHRoaXMuZ2V0U29ydGVkQ2hpbGRyZW4uYmluZCh0aGlzKVxuICApO1xuICBkYXRhU291cmNlID0gbmV3IE1hdFRyZWVOZXN0ZWREYXRhU291cmNlPEZpbGVOb2RlPigpO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5yb290RmlsZU5vZGU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0aGlzLmdldFNvcnRlZENoaWxkcmVuKFxuICAgICAgICBjaGFuZ2VzLnJvb3RGaWxlTm9kZS5jdXJyZW50VmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaGFzQ2hpbGRyZW4gPSAoXzogbnVtYmVyLCBub2RlOiBGaWxlTm9kZSkgPT5cbiAgICAhIW5vZGUuY2hpbGRyZW4gJiYgT2JqZWN0LmtleXMobm9kZS5jaGlsZHJlbikubGVuZ3RoID4gMDtcblxuICBvblNlbGVjdCh1cmw6IHN0cmluZykge1xuICAgIHRoaXMub25GaWxlU2VsZWN0LmVtaXQodXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTb3J0IHRoZSBGaWxlTm9kZSdzIGNoaWxkcmVuIHdpdGggZm9sZGVycyBiZWZvcmUgZmlsZXMuXG4gICAqIEBwYXJhbSBub2RlIEZpbGVOb2RlIHdob3NlIGNoaWxkcmVuIGFyZSB0byBiZSBzb3J0ZWQuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHNvcnRlZCBGaWxlTm9kZXMuXG4gICAqL1xuICBnZXRTb3J0ZWRDaGlsZHJlbihub2RlOiBGaWxlTm9kZSk6IEZpbGVOb2RlW10ge1xuICAgIGlmICghbm9kZS5jaGlsZHJlbikge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QudmFsdWVzKG5vZGUuY2hpbGRyZW4pLnNvcnQoKGEsIGIpID0+XG4gICAgICAhYS51cmwgJiYgYi51cmwgPyAtMSA6IDFcbiAgICApO1xuICB9XG59XG4iLCI8Y2RrLXRyZWUgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIFt0cmVlQ29udHJvbF09XCJ0cmVlQ29udHJvbFwiPlxuICA8IS0tIFRoaXMgaXMgdGhlIHRyZWUgbm9kZSB0ZW1wbGF0ZSBmb3IgbGVhZiBub2RlcyAtLT5cbiAgPGNkay10cmVlLW5vZGUgKmNka1RyZWVOb2RlRGVmPVwibGV0IG5vZGVcIiBjbGFzcz1cInRyZWUtbm9kZVwiPlxuICAgIDxidXR0b25cbiAgICAgIG1hdC1idXR0b25cbiAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgY2xhc3M9XCJ0cmVlLW5vZGUtYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJvblNlbGVjdChub2RlLnVybClcIlxuICAgID5cbiAgICAgIDxzdmcgY2xhc3M9XCJub2RlLWljb25cIj5cbiAgICAgICAgPHVzZSBocmVmPVwiYXNzZXRzL2ljb25zL2ZpbGUuc3ZnI2ZpbGVcIj48L3VzZT5cbiAgICAgIDwvc3ZnPlxuICAgICAge3sgbm9kZS5uYW1lIH19XG4gICAgPC9idXR0b24+XG4gIDwvY2RrLXRyZWUtbm9kZT5cbiAgPCEtLSBUaGlzIGlzIHRoZSB0cmVlIG5vZGUgdGVtcGxhdGUgZm9yIGV4cGFuZGFibGUgbm9kZXMgLS0+XG4gIDxjZGstbmVzdGVkLXRyZWUtbm9kZVxuICAgICpjZGtUcmVlTm9kZURlZj1cImxldCBub2RlOyB3aGVuOiBoYXNDaGlsZHJlblwiXG4gICAgY2xhc3M9XCJ0cmVlLW5vZGVcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWJ1dHRvblxuICAgICAgY2RrVHJlZU5vZGVUb2dnbGVcbiAgICAgIGNsYXNzPVwidHJlZS1ub2RlLWJ1dHRvblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidUb2dnbGUgJyArIG5vZGUubmFtZVwiXG4gICAgPlxuICAgICAgPHN2Z1xuICAgICAgICBjbGFzcz1cIm5vZGUtaWNvblwiXG4gICAgICAgIFtjbGFzcy5ub2RlLWljb24tZmlsbGVkXT1cIiF0cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpXCJcbiAgICAgID5cbiAgICAgICAgPHVzZSBocmVmPVwiYXNzZXRzL2ljb25zL2ZvbGRlci5zdmcjZm9sZGVyXCI+PC91c2U+XG4gICAgICA8L3N2Zz5cbiAgICAgIHt7IG5vZGUubmFtZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxkaXYgW2NsYXNzLmZpbGUtdHJlZS1pbnZpc2libGVdPVwiIXRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSlcIj5cbiAgICAgIDxuZy1jb250YWluZXIgY2RrVHJlZU5vZGVPdXRsZXQ+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvY2RrLW5lc3RlZC10cmVlLW5vZGU+XG48L2Nkay10cmVlPlxuIl19
@@ -1,68 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../services/error-message-service";
4
- import * as i2 from "@angular/common";
5
- const _c0 = function (a0) { return { width: a0 }; };
6
- function LoaderComponent_ng_container_1_div_7_Template(rf, ctx) { if (rf & 1) {
7
- i0.ɵɵelementStart(0, "div", 7);
8
- i0.ɵɵelement(1, "span");
9
- i0.ɵɵelementEnd();
10
- } if (rf & 2) {
11
- const ctx_r3 = i0.ɵɵnextContext(2);
12
- i0.ɵɵadvance(1);
13
- i0.ɵɵstyleMap(i0.ɵɵpureFunction1(2, _c0, ctx_r3.progress + "%"));
14
- } }
15
- function LoaderComponent_ng_container_1_Template(rf, ctx) { if (rf & 1) {
16
- i0.ɵɵelementContainerStart(0);
17
- i0.ɵɵelement(1, "img", 3);
18
- i0.ɵɵelementStart(2, "p", 4);
19
- i0.ɵɵtext(3, " Loading...");
20
- i0.ɵɵelement(4, "br");
21
- i0.ɵɵelementStart(5, "small", 5);
22
- i0.ɵɵtext(6, "(This may take a while)");
23
- i0.ɵɵelementEnd()();
24
- i0.ɵɵtemplate(7, LoaderComponent_ng_container_1_div_7_Template, 2, 4, "div", 6);
25
- i0.ɵɵelementContainerEnd();
26
- } if (rf & 2) {
27
- const ctx_r0 = i0.ɵɵnextContext();
28
- i0.ɵɵadvance(7);
29
- i0.ɵɵproperty("ngIf", ctx_r0.progress !== undefined);
30
- } }
31
- function LoaderComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {
32
- i0.ɵɵelementStart(0, "p");
33
- i0.ɵɵtext(1, " An error occurred while loading the application. Please try refreshing the page. ");
34
- i0.ɵɵelementEnd();
35
- } }
36
- const _c1 = function (a0) { return { "load-complete": a0 }; };
37
- export class LoaderComponent {
38
- constructor(errorMessageService) {
39
- this.errorMessageService = errorMessageService;
40
- this.loaded = false;
41
- this.errorMessageService.subscribeToError((error) => {
42
- if (!this.loaded) {
43
- this.error = error;
44
- }
45
- });
46
- }
47
- }
48
- LoaderComponent.ɵfac = function LoaderComponent_Factory(t) { return new (t || LoaderComponent)(i0.ɵɵdirectiveInject(i1.ErrorMessageService)); };
49
- LoaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LoaderComponent, selectors: [["app-loader"]], inputs: { loaded: "loaded", progress: "progress" }, decls: 4, vars: 5, consts: [[1, "loader-wrapper", "d-flex", "position-absolute", "flex-column", "justify-content-center", "align-items-center", "w-100", "h-100", "p-5", "text-center", 3, "ngClass"], [4, "ngIf", "ngIfElse"], ["errorContainer", ""], ["src", "assets/images/logo-small.svg", "alt", "Loader"], [1, "mt-5"], [1, "text-muted"], ["class", "loading-bar", 4, "ngIf"], [1, "loading-bar"]], template: function LoaderComponent_Template(rf, ctx) { if (rf & 1) {
50
- i0.ɵɵelementStart(0, "div", 0);
51
- i0.ɵɵtemplate(1, LoaderComponent_ng_container_1_Template, 8, 1, "ng-container", 1);
52
- i0.ɵɵtemplate(2, LoaderComponent_ng_template_2_Template, 2, 0, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor);
53
- i0.ɵɵelementEnd();
54
- } if (rf & 2) {
55
- const _r1 = i0.ɵɵreference(3);
56
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c1, ctx.loaded));
57
- i0.ɵɵadvance(1);
58
- i0.ɵɵproperty("ngIf", ctx.error === undefined)("ngIfElse", _r1);
59
- } }, dependencies: [i2.NgClass, i2.NgIf], styles: [".loader-wrapper[_ngcontent-%COMP%]{background:var(--phoenix-background-color);z-index:9998}.loader-wrapper.load-complete[_ngcontent-%COMP%]{display:none!important}.loader-wrapper[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:5rem;height:5rem;animation:loader 2s infinite}.loader-wrapper[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--phoenix-text-color)}.loader-wrapper[_ngcontent-%COMP%] .loading-bar[_ngcontent-%COMP%]{width:15rem;max-width:90%;height:.5rem;background:var(--phoenix-background-color-tertiary);border-radius:2.5rem;overflow:hidden}.loader-wrapper[_ngcontent-%COMP%] .loading-bar[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;height:100%;border-radius:2.5rem;background:linear-gradient(to right,var(--phoenix-primary),var(--phoenix-secondary));transition:all .5s}@keyframes _ngcontent-%COMP%_app-loader_loader{0%,to{transform:scale(.1) rotate(0)}95%{transform:scale(1) rotate(15deg)}}"] });
60
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoaderComponent, [{
61
- type: Component,
62
- args: [{ selector: 'app-loader', template: "<div\n class=\"loader-wrapper d-flex position-absolute flex-column justify-content-center align-items-center w-100 h-100 p-5 text-center\"\n [ngClass]=\"{ 'load-complete': loaded }\"\n>\n <ng-container *ngIf=\"error === undefined; else errorContainer\">\n <img src=\"assets/images/logo-small.svg\" alt=\"Loader\" />\n <p class=\"mt-5\">\n Loading...<br />\n <small class=\"text-muted\">(This may take a while)</small>\n </p>\n <div class=\"loading-bar\" *ngIf=\"progress !== undefined\">\n <span [style]=\"{ width: progress + '%' }\"></span>\n </div>\n </ng-container>\n <ng-template #errorContainer>\n <p>\n An error occurred while loading the application. Please try refreshing the\n page.\n </p>\n </ng-template>\n</div>\n", styles: [".loader-wrapper{background:var(--phoenix-background-color);z-index:9998}.loader-wrapper.load-complete{display:none!important}.loader-wrapper img{width:5rem;height:5rem;animation:loader 2s infinite}.loader-wrapper p{color:var(--phoenix-text-color)}.loader-wrapper .loading-bar{width:15rem;max-width:90%;height:.5rem;background:var(--phoenix-background-color-tertiary);border-radius:2.5rem;overflow:hidden}.loader-wrapper .loading-bar span{display:block;height:100%;border-radius:2.5rem;background:linear-gradient(to right,var(--phoenix-primary),var(--phoenix-secondary));transition:all .5s}@keyframes app-loader_loader{0%,to{transform:scale(.1) rotate(0)}95%{transform:scale(1) rotate(15deg)}}\n"] }]
63
- }], function () { return [{ type: i1.ErrorMessageService }]; }, { loaded: [{
64
- type: Input
65
- }], progress: [{
66
- type: Input
67
- }] }); })();
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL2xvYWRlci9sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvbG9hZGVyL2xvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDVTdDLDhCQUF3RDtJQUN0RCx1QkFBaUQ7SUFDbkQsaUJBQU07OztJQURFLGVBQW1DO0lBQW5DLGdFQUFtQzs7O0lBUDdDLDZCQUErRDtJQUM3RCx5QkFBdUQ7SUFDdkQsNEJBQWdCO0lBQ2QsMkJBQVU7SUFBQSxxQkFBTTtJQUNoQixnQ0FBMEI7SUFBQSx1Q0FBdUI7SUFBQSxpQkFBUSxFQUFBO0lBRTNELCtFQUVNO0lBQ1IsMEJBQWU7OztJQUhhLGVBQTRCO0lBQTVCLG9EQUE0Qjs7O0lBS3RELHlCQUFHO0lBQ0Qsa0dBRUY7SUFBQSxpQkFBSTs7O0FEVlIsTUFBTSxPQUFPLGVBQWU7SUFLMUIsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFKbkQsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUt0QixJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7YUFDcEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzhFQVhVLGVBQWU7a0VBQWYsZUFBZTtRQ1I1Qiw4QkFHQztRQUNDLGtGQVNlO1FBQ2YsaUhBS2M7UUFDaEIsaUJBQU07OztRQWxCSixnRUFBdUM7UUFFeEIsZUFBMkI7UUFBM0IsOENBQTJCLGlCQUFBOzt1RkRJL0IsZUFBZTtjQUwzQixTQUFTOzJCQUNFLFlBQVk7c0VBS2IsTUFBTTtrQkFBZCxLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lcnJvci1tZXNzYWdlLXNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtbG9hZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xvYWRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBsb2FkZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHJvZ3Jlc3M6IG51bWJlcjtcbiAgcHVibGljIGVycm9yOiBFcnJvcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVycm9yTWVzc2FnZVNlcnZpY2U6IEVycm9yTWVzc2FnZVNlcnZpY2UpIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZVNlcnZpY2Uuc3Vic2NyaWJlVG9FcnJvcigoZXJyb3IpID0+IHtcbiAgICAgIGlmICghdGhpcy5sb2FkZWQpIHtcbiAgICAgICAgdGhpcy5lcnJvciA9IGVycm9yO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwibG9hZGVyLXdyYXBwZXIgZC1mbGV4IHBvc2l0aW9uLWFic29sdXRlIGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHctMTAwIGgtMTAwIHAtNSB0ZXh0LWNlbnRlclwiXG4gIFtuZ0NsYXNzXT1cInsgJ2xvYWQtY29tcGxldGUnOiBsb2FkZWQgfVwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJlcnJvciA9PT0gdW5kZWZpbmVkOyBlbHNlIGVycm9yQ29udGFpbmVyXCI+XG4gICAgPGltZyBzcmM9XCJhc3NldHMvaW1hZ2VzL2xvZ28tc21hbGwuc3ZnXCIgYWx0PVwiTG9hZGVyXCIgLz5cbiAgICA8cCBjbGFzcz1cIm10LTVcIj5cbiAgICAgIExvYWRpbmcuLi48YnIgLz5cbiAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtbXV0ZWRcIj4oVGhpcyBtYXkgdGFrZSBhIHdoaWxlKTwvc21hbGw+XG4gICAgPC9wPlxuICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWJhclwiICpuZ0lmPVwicHJvZ3Jlc3MgIT09IHVuZGVmaW5lZFwiPlxuICAgICAgPHNwYW4gW3N0eWxlXT1cInsgd2lkdGg6IHByb2dyZXNzICsgJyUnIH1cIj48L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI2Vycm9yQ29udGFpbmVyPlxuICAgIDxwPlxuICAgICAgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgbG9hZGluZyB0aGUgYXBwbGljYXRpb24uIFBsZWFzZSB0cnkgcmVmcmVzaGluZyB0aGVcbiAgICAgIHBhZ2UuXG4gICAgPC9wPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/router";
4
- export class NavComponent {
5
- constructor() { }
6
- ngOnInit() { }
7
- }
8
- NavComponent.ɵfac = function NavComponent_Factory(t) { return new (t || NavComponent)(); };
9
- NavComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NavComponent, selectors: [["app-nav"]], decls: 2, vars: 0, consts: [["id", "mainLogo", "routerLink", "/", 1, "main-logo", "fixed-top", "p-2", "mx-auto", "mt-2"], ["src", "assets/images/logo-text.svg"]], template: function NavComponent_Template(rf, ctx) { if (rf & 1) {
10
- i0.ɵɵelementStart(0, "a", 0);
11
- i0.ɵɵelement(1, "img", 1);
12
- i0.ɵɵelementEnd();
13
- } }, dependencies: [i1.RouterLink], styles: [".main-logo[_ngcontent-%COMP%]{width:140px;z-index:9999}.main-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{transition:all .5s}.main-logo[_ngcontent-%COMP%]:hover img[_ngcontent-%COMP%]{filter:drop-shadow(0px 0px 10px var(--phoenix-text-color));transition:all .5s}"] });
14
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NavComponent, [{
15
- type: Component,
16
- args: [{ selector: 'app-nav', template: "<a id=\"mainLogo\" class=\"main-logo fixed-top p-2 mx-auto mt-2\" routerLink=\"/\">\n <img src=\"assets/images/logo-text.svg\" />\n</a>\n", styles: [".main-logo{width:140px;z-index:9999}.main-logo img{transition:all .5s}.main-logo:hover img{filter:drop-shadow(0px 0px 10px var(--phoenix-text-color));transition:all .5s}\n"] }]
17
- }], function () { return []; }, null); })();
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL25hdi9uYXYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvbmF2L25hdi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7QUFPbEQsTUFBTSxPQUFPLFlBQVk7SUFDdkIsZ0JBQWUsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQzs7d0VBSEYsWUFBWTsrREFBWixZQUFZO1FDUHpCLDRCQUE2RTtRQUMzRSx5QkFBeUM7UUFDM0MsaUJBQUk7O3VGREtTLFlBQVk7Y0FMeEIsU0FBUzsyQkFDRSxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW5hdicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXYuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uYXYuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF2Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge31cbn1cbiIsIjxhIGlkPVwibWFpbkxvZ29cIiBjbGFzcz1cIm1haW4tbG9nbyBmaXhlZC10b3AgcC0yIG14LWF1dG8gbXQtMlwiIHJvdXRlckxpbms9XCIvXCI+XG4gIDxpbWcgc3JjPVwiYXNzZXRzL2ltYWdlcy9sb2dvLXRleHQuc3ZnXCIgLz5cbjwvYT5cbiJdfQ==
@@ -1,82 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/slider";
5
- function ConfigSliderComponent_input_3_Template(rf, ctx) { if (rf & 1) {
6
- const _r2 = i0.ɵɵgetCurrentView();
7
- i0.ɵɵelementStart(0, "input", 4);
8
- i0.ɵɵlistener("input", function ConfigSliderComponent_input_3_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onValueChange($event.target.value)); });
9
- i0.ɵɵelementEnd();
10
- } if (rf & 2) {
11
- const ctx_r0 = i0.ɵɵnextContext();
12
- i0.ɵɵproperty("value", ctx_r0.value);
13
- } }
14
- export class ConfigSliderComponent {
15
- constructor() {
16
- this.value = 0;
17
- this.min = 0;
18
- this.oldMin = 0;
19
- this.max = 100;
20
- this.oldMax = 0;
21
- this.step = 1;
22
- this.allowCustomValue = false;
23
- this.onChange = new EventEmitter();
24
- }
25
- onValueChange(value) {
26
- value && this.onChange.emit(value);
27
- }
28
- toggleMinCut(change) {
29
- const value = change.checked;
30
- if (value) {
31
- this.min = this.oldMin;
32
- }
33
- else {
34
- this.oldMin = this.min;
35
- this.min = Number.MIN_SAFE_INTEGER;
36
- }
37
- // We should probably disable the min input too, and change text to be infinity symbol or something?
38
- }
39
- toggleMaxCut(change) {
40
- const value = change.checked;
41
- if (value) {
42
- this.max = this.oldMax;
43
- }
44
- else {
45
- this.oldMax = this.max;
46
- this.max = Number.MAX_SAFE_INTEGER;
47
- }
48
- // We should probably disable the min input too, and change text to be infinity symbol or something?
49
- }
50
- }
51
- ConfigSliderComponent.ɵfac = function ConfigSliderComponent_Factory(t) { return new (t || ConfigSliderComponent)(); };
52
- ConfigSliderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConfigSliderComponent, selectors: [["app-config-slider"]], inputs: { value: "value", min: "min", max: "max", step: "step", allowCustomValue: "allowCustomValue" }, outputs: { onChange: "onChange" }, decls: 4, vars: 5, consts: [[1, "d-flex", "flex-row", "align-items-center"], ["thumbLabel", "", 1, "mx-2", 3, "min", "max", "step"], ["matSliderThumb", "", 3, "value", "valueChange"], ["class", "config-slider-input", "type", "number", 3, "value", "input", 4, "ngIf"], ["type", "number", 1, "config-slider-input", 3, "value", "input"]], template: function ConfigSliderComponent_Template(rf, ctx) { if (rf & 1) {
53
- i0.ɵɵelementStart(0, "div", 0)(1, "mat-slider", 1)(2, "input", 2);
54
- i0.ɵɵlistener("valueChange", function ConfigSliderComponent_Template_input_valueChange_2_listener($event) { return ctx.onValueChange($event); });
55
- i0.ɵɵelementEnd()();
56
- i0.ɵɵtemplate(3, ConfigSliderComponent_input_3_Template, 1, 1, "input", 3);
57
- i0.ɵɵelementEnd();
58
- } if (rf & 2) {
59
- i0.ɵɵadvance(1);
60
- i0.ɵɵproperty("min", ctx.min)("max", ctx.max)("step", ctx.step);
61
- i0.ɵɵadvance(1);
62
- i0.ɵɵproperty("value", ctx.value);
63
- i0.ɵɵadvance(1);
64
- i0.ɵɵproperty("ngIf", ctx.allowCustomValue);
65
- } }, dependencies: [i1.NgIf, i2.MatSlider, i2.MatSliderThumb], styles: [".config-slider-input[_ngcontent-%COMP%]{background:transparent;color:var(--phoenix-text-color);border:none;border-bottom:1px solid var(--phoenix-text-color);width:25%;-moz-appearance:textfield}input[_ngcontent-%COMP%]::-webkit-outer-spin-button, input[_ngcontent-%COMP%]::-webkit-inner-spin-button{-webkit-appearance:none}"] });
66
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfigSliderComponent, [{
67
- type: Component,
68
- args: [{ selector: 'app-config-slider', template: "<div class=\"d-flex flex-row align-items-center\">\n <mat-slider class=\"mx-2\" [min]=\"min\" [max]=\"max\" [step]=\"step\" thumbLabel>\n <input\n matSliderThumb\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n />\n </mat-slider>\n <input\n *ngIf=\"allowCustomValue\"\n class=\"config-slider-input\"\n type=\"number\"\n [value]=\"value\"\n (input)=\"onValueChange($event.target.value)\"\n />\n</div>\n", styles: [".config-slider-input{background:transparent;color:var(--phoenix-text-color);border:none;border-bottom:1px solid var(--phoenix-text-color);width:25%;-moz-appearance:textfield}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}\n"] }]
69
- }], null, { value: [{
70
- type: Input
71
- }], min: [{
72
- type: Input
73
- }], max: [{
74
- type: Input
75
- }], step: [{
76
- type: Input
77
- }], allowCustomValue: [{
78
- type: Input
79
- }], onChange: [{
80
- type: Output
81
- }] }); })();
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXNsaWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy9waG9lbml4LW1lbnUvY29uZmlnL2NvbmZpZy1zbGlkZXIvY29uZmlnLXNsaWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy9waG9lbml4LW1lbnUvY29uZmlnL2NvbmZpZy1zbGlkZXIvY29uZmlnLXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7SUNRckUsZ0NBTUU7SUFEQSx5S0FBUyxlQUFBLHlDQUFrQyxDQUFBLElBQUM7SUFMOUMsaUJBTUU7OztJQUZBLG9DQUFlOztBREpuQixNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBTVcsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUNsQixRQUFHLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDVixRQUFHLEdBQVcsR0FBRyxDQUFDO1FBQzNCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDVixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBQ2pCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNqQyxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7S0EyQnZFO0lBekJDLGFBQWEsQ0FBQyxLQUFhO1FBQ3pCLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQXlCO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztTQUNwQztRQUNELG9HQUFvRztJQUN0RyxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQXlCO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztTQUNwQztRQUNELG9HQUFvRztJQUN0RyxDQUFDOzswRkFsQ1UscUJBQXFCO3dFQUFyQixxQkFBcUI7UUNSbEMsOEJBQWdELG9CQUFBLGVBQUE7UUFLMUMsbUhBQWUseUJBQXFCLElBQUM7UUFIdkMsaUJBSUUsRUFBQTtRQUVKLDBFQU1FO1FBQ0osaUJBQU07O1FBZHFCLGVBQVc7UUFBWCw2QkFBVyxnQkFBQSxrQkFBQTtRQUdoQyxlQUFlO1FBQWYsaUNBQWU7UUFLaEIsZUFBc0I7UUFBdEIsMkNBQXNCOzt1RkREZCxxQkFBcUI7Y0FMakMsU0FBUzsyQkFDRSxtQkFBbUI7Z0JBS3BCLEtBQUs7a0JBQWIsS0FBSztZQUNHLEdBQUc7a0JBQVgsS0FBSztZQUVHLEdBQUc7a0JBQVgsS0FBSztZQUVHLElBQUk7a0JBQVosS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSztZQUNJLFFBQVE7a0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb25maWctc2xpZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpZy1zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb25maWctc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ1NsaWRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHZhbHVlOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBtaW46IG51bWJlciA9IDA7XG4gIG9sZE1pbjogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbWF4OiBudW1iZXIgPSAxMDA7XG4gIG9sZE1heDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgc3RlcDogbnVtYmVyID0gMTtcbiAgQElucHV0KCkgYWxsb3dDdXN0b21WYWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdmFsdWUgJiYgdGhpcy5vbkNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIHRvZ2dsZU1pbkN1dChjaGFuZ2U6IE1hdENoZWNrYm94Q2hhbmdlKSB7XG4gICAgY29uc3QgdmFsdWUgPSBjaGFuZ2UuY2hlY2tlZDtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMubWluID0gdGhpcy5vbGRNaW47XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub2xkTWluID0gdGhpcy5taW47XG4gICAgICB0aGlzLm1pbiA9IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSO1xuICAgIH1cbiAgICAvLyBXZSBzaG91bGQgcHJvYmFibHkgZGlzYWJsZSB0aGUgbWluIGlucHV0IHRvbywgYW5kIGNoYW5nZSB0ZXh0IHRvIGJlIGluZmluaXR5IHN5bWJvbCBvciBzb21ldGhpbmc/XG4gIH1cblxuICB0b2dnbGVNYXhDdXQoY2hhbmdlOiBNYXRDaGVja2JveENoYW5nZSkge1xuICAgIGNvbnN0IHZhbHVlID0gY2hhbmdlLmNoZWNrZWQ7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLm1heCA9IHRoaXMub2xkTWF4O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9sZE1heCA9IHRoaXMubWF4O1xuICAgICAgdGhpcy5tYXggPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcbiAgICB9XG4gICAgLy8gV2Ugc2hvdWxkIHByb2JhYmx5IGRpc2FibGUgdGhlIG1pbiBpbnB1dCB0b28sIGFuZCBjaGFuZ2UgdGV4dCB0byBiZSBpbmZpbml0eSBzeW1ib2wgb3Igc29tZXRoaW5nP1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICA8bWF0LXNsaWRlciBjbGFzcz1cIm14LTJcIiBbbWluXT1cIm1pblwiIFttYXhdPVwibWF4XCIgW3N0ZXBdPVwic3RlcFwiIHRodW1iTGFiZWw+XG4gICAgPGlucHV0XG4gICAgICBtYXRTbGlkZXJUaHVtYlxuICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIC8+XG4gIDwvbWF0LXNsaWRlcj5cbiAgPGlucHV0XG4gICAgKm5nSWY9XCJhbGxvd0N1c3RvbVZhbHVlXCJcbiAgICBjbGFzcz1cImNvbmZpZy1zbGlkZXItaW5wdXRcIlxuICAgIHR5cGU9XCJudW1iZXJcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgKGlucHV0KT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAvPlxuPC9kaXY+XG4iXX0=