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.
- package/README.md +2 -2
- package/dist/README.md +2 -2
- package/dist/components/file-explorer/file-explorer.component.d.ts +9 -3
- package/dist/components/loader/loader.component.d.ts +1 -1
- package/dist/components/phoenix-menu/config/config-slider/config-slider.component.d.ts +1 -1
- package/dist/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.d.ts +1 -1
- package/dist/components/phoenix-menu/phoenix-menu.component.d.ts +1 -1
- package/dist/components/phoenix-ui.module.d.ts +62 -59
- package/dist/components/ui-menu/animate-camera/animate-camera.component.d.ts +1 -1
- package/dist/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.d.ts +3 -1
- package/dist/components/ui-menu/cycle-events/cycle-events.component.d.ts +7 -2
- package/dist/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.d.ts +7 -8
- package/dist/components/ui-menu/event-data-explorer/event-data-explorer.component.d.ts +1 -1
- package/dist/components/ui-menu/experiment-info/experiment-info.component.d.ts +1 -1
- package/dist/components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.d.ts +22 -0
- package/dist/components/ui-menu/geometry-browser/geometry-browser.component.d.ts +15 -0
- package/dist/components/ui-menu/index.d.ts +3 -0
- package/dist/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.d.ts +1 -1
- package/dist/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.d.ts +1 -1
- package/dist/components/ui-menu/io-options/io-options.component.d.ts +1 -1
- package/dist/components/ui-menu/make-picture/make-picture.component.d.ts +3 -0
- package/dist/components/ui-menu/menu-toggle/menu-toggle.component.d.ts +1 -1
- package/dist/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.d.ts +1 -1
- package/dist/components/ui-menu/overlay/overlay.component.d.ts +1 -1
- package/dist/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.d.ts +1 -1
- package/dist/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.d.ts +1 -1
- package/dist/components/ui-menu/ui-menu.component.d.ts +1 -1
- package/dist/components/ui-menu/view-options/cartesian-grid-config/cartesian-grid-config.component.d.ts +51 -0
- package/dist/components/ui-menu/view-options/view-options.component.d.ts +21 -4
- package/dist/esm2022/components/embed-menu/embed-menu.component.mjs +22 -0
- package/dist/esm2022/components/embed-menu/experiment-link/experiment-link.component.mjs +27 -0
- package/dist/esm2022/components/file-explorer/file-explorer.component.mjs +109 -0
- package/dist/esm2022/components/loader/loader.component.mjs +71 -0
- package/dist/esm2022/components/nav/nav.component.mjs +19 -0
- package/dist/esm2022/components/phoenix-menu/config/config-slider/config-slider.component.mjs +81 -0
- package/dist/esm2022/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.mjs +304 -0
- package/dist/esm2022/components/phoenix-menu/phoenix-menu.component.mjs +23 -0
- package/dist/esm2022/components/phoenix-ui.module.mjs +254 -0
- package/dist/esm2022/components/ring-loader/ring-loader.component.mjs +16 -0
- package/dist/esm2022/components/ui-menu/animate-camera/animate-camera.component.mjs +120 -0
- package/dist/esm2022/components/ui-menu/animate-event/animate-event.component.mjs +33 -0
- package/dist/esm2022/components/ui-menu/ar-toggle/ar-toggle.component.mjs +83 -0
- package/dist/esm2022/components/ui-menu/auto-rotate/auto-rotate.component.mjs +29 -0
- package/dist/esm2022/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.mjs +273 -0
- package/dist/esm2022/components/ui-menu/collections-info/collections-info.component.mjs +44 -0
- package/dist/esm2022/components/ui-menu/cycle-events/cycle-events.component.mjs +90 -0
- package/dist/esm2022/components/ui-menu/dark-theme/dark-theme.component.mjs +32 -0
- package/dist/esm2022/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.mjs +128 -0
- package/dist/esm2022/components/ui-menu/event-data-explorer/event-data-explorer.component.mjs +35 -0
- package/dist/esm2022/components/ui-menu/event-selector/event-selector.component.mjs +54 -0
- package/dist/esm2022/components/ui-menu/experiment-info/experiment-info.component.mjs +100 -0
- package/dist/esm2022/components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.mjs +172 -0
- package/dist/esm2022/components/ui-menu/geometry-browser/geometry-browser.component.mjs +44 -0
- package/dist/esm2022/components/ui-menu/index.mjs +40 -0
- package/dist/esm2022/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.mjs +69 -0
- package/dist/esm2022/components/ui-menu/info-panel/info-panel.component.mjs +59 -0
- package/dist/esm2022/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.mjs +294 -0
- package/dist/esm2022/components/ui-menu/io-options/io-options.component.mjs +36 -0
- package/dist/esm2022/components/ui-menu/main-view-toggle/main-view-toggle.component.mjs +32 -0
- package/dist/esm2022/components/ui-menu/make-picture/make-picture.component.mjs +109 -0
- package/dist/esm2022/components/ui-menu/menu-toggle/menu-toggle.component.mjs +40 -0
- package/dist/esm2022/components/ui-menu/object-clipping/object-clipping.component.mjs +72 -0
- package/dist/esm2022/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.mjs +59 -0
- package/dist/esm2022/components/ui-menu/object-selection/object-selection.component.mjs +46 -0
- package/dist/esm2022/components/ui-menu/overlay/overlay.component.mjs +197 -0
- package/dist/esm2022/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.mjs +83 -0
- package/dist/esm2022/components/ui-menu/overlay-view/overlay-view.component.mjs +41 -0
- package/dist/esm2022/components/ui-menu/performance-toggle/performance-toggle.component.mjs +29 -0
- package/dist/esm2022/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.mjs +165 -0
- package/dist/esm2022/components/ui-menu/share-link/share-link.component.mjs +28 -0
- package/dist/esm2022/components/ui-menu/ss-mode/ss-mode.component.mjs +46 -0
- package/dist/esm2022/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.mjs +94 -0
- package/dist/esm2022/components/ui-menu/tree-menu/tree-menu.component.mjs +78 -0
- package/dist/esm2022/components/ui-menu/ui-menu-wrapper/ui-menu-wrapper.component.mjs +34 -0
- package/dist/esm2022/components/ui-menu/ui-menu.component.mjs +54 -0
- package/dist/esm2022/components/ui-menu/view-options/cartesian-grid-config/cartesian-grid-config.component.mjs +247 -0
- package/dist/esm2022/components/ui-menu/view-options/view-options.component.mjs +170 -0
- package/dist/esm2022/components/ui-menu/vr-toggle/vr-toggle.component.mjs +52 -0
- package/dist/esm2022/components/ui-menu/zoom-controls/zoom-controls.component.mjs +79 -0
- package/dist/esm2022/services/error-message-service.mjs +30 -0
- package/dist/{esm2020 → esm2022}/services/event-display.service.mjs +5 -5
- package/dist/esm2022/services/extras/attribute.pipe.mjs +33 -0
- package/dist/{esm2020 → esm2022}/services/extras/event-data-import.mjs +5 -1
- package/dist/esm2022/services/file-loader.service.mjs +86 -0
- package/dist/esm2022/services/global-error-handler.mjs +30 -0
- package/dist/fesm2022/phoenix-ui-components.mjs +4302 -0
- package/dist/fesm2022/phoenix-ui-components.mjs.map +1 -0
- package/dist/services/file-loader.service.d.ts +17 -0
- package/package.json +27 -16
- package/dist/esm2020/components/embed-menu/embed-menu.component.mjs +0 -21
- package/dist/esm2020/components/embed-menu/experiment-link/experiment-link.component.mjs +0 -25
- package/dist/esm2020/components/file-explorer/file-explorer.component.mjs +0 -97
- package/dist/esm2020/components/loader/loader.component.mjs +0 -68
- package/dist/esm2020/components/nav/nav.component.mjs +0 -18
- package/dist/esm2020/components/phoenix-menu/config/config-slider/config-slider.component.mjs +0 -82
- package/dist/esm2020/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.mjs +0 -309
- package/dist/esm2020/components/phoenix-menu/phoenix-menu.component.mjs +0 -21
- package/dist/esm2020/components/phoenix-ui.module.mjs +0 -254
- package/dist/esm2020/components/ring-loader/ring-loader.component.mjs +0 -15
- package/dist/esm2020/components/ui-menu/animate-camera/animate-camera.component.mjs +0 -117
- package/dist/esm2020/components/ui-menu/animate-event/animate-event.component.mjs +0 -31
- package/dist/esm2020/components/ui-menu/ar-toggle/ar-toggle.component.mjs +0 -81
- package/dist/esm2020/components/ui-menu/auto-rotate/auto-rotate.component.mjs +0 -27
- package/dist/esm2020/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.mjs +0 -261
- package/dist/esm2020/components/ui-menu/collections-info/collections-info.component.mjs +0 -38
- package/dist/esm2020/components/ui-menu/cycle-events/cycle-events.component.mjs +0 -42
- package/dist/esm2020/components/ui-menu/dark-theme/dark-theme.component.mjs +0 -30
- package/dist/esm2020/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.mjs +0 -176
- package/dist/esm2020/components/ui-menu/event-data-explorer/event-data-explorer.component.mjs +0 -32
- package/dist/esm2020/components/ui-menu/event-selector/event-selector.component.mjs +0 -50
- package/dist/esm2020/components/ui-menu/experiment-info/experiment-info.component.mjs +0 -96
- package/dist/esm2020/components/ui-menu/index.mjs +0 -37
- package/dist/esm2020/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.mjs +0 -66
- package/dist/esm2020/components/ui-menu/info-panel/info-panel.component.mjs +0 -55
- package/dist/esm2020/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.mjs +0 -290
- package/dist/esm2020/components/ui-menu/io-options/io-options.component.mjs +0 -34
- package/dist/esm2020/components/ui-menu/main-view-toggle/main-view-toggle.component.mjs +0 -30
- package/dist/esm2020/components/ui-menu/make-picture/make-picture.component.mjs +0 -88
- package/dist/esm2020/components/ui-menu/menu-toggle/menu-toggle.component.mjs +0 -38
- package/dist/esm2020/components/ui-menu/object-clipping/object-clipping.component.mjs +0 -67
- package/dist/esm2020/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.mjs +0 -55
- package/dist/esm2020/components/ui-menu/object-selection/object-selection.component.mjs +0 -42
- package/dist/esm2020/components/ui-menu/overlay/overlay.component.mjs +0 -189
- package/dist/esm2020/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.mjs +0 -79
- package/dist/esm2020/components/ui-menu/overlay-view/overlay-view.component.mjs +0 -38
- package/dist/esm2020/components/ui-menu/performance-toggle/performance-toggle.component.mjs +0 -27
- package/dist/esm2020/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.mjs +0 -158
- package/dist/esm2020/components/ui-menu/share-link/share-link.component.mjs +0 -26
- package/dist/esm2020/components/ui-menu/ss-mode/ss-mode.component.mjs +0 -47
- package/dist/esm2020/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.mjs +0 -90
- package/dist/esm2020/components/ui-menu/tree-menu/tree-menu.component.mjs +0 -78
- package/dist/esm2020/components/ui-menu/ui-menu-wrapper/ui-menu-wrapper.component.mjs +0 -35
- package/dist/esm2020/components/ui-menu/ui-menu.component.mjs +0 -54
- package/dist/esm2020/components/ui-menu/view-options/view-options.component.mjs +0 -81
- package/dist/esm2020/components/ui-menu/vr-toggle/vr-toggle.component.mjs +0 -50
- package/dist/esm2020/components/ui-menu/zoom-controls/zoom-controls.component.mjs +0 -73
- package/dist/esm2020/services/error-message-service.mjs +0 -32
- package/dist/esm2020/services/extras/attribute.pipe.mjs +0 -33
- package/dist/esm2020/services/global-error-handler.mjs +0 -29
- package/dist/fesm2015/phoenix-ui-components.mjs +0 -3994
- package/dist/fesm2015/phoenix-ui-components.mjs.map +0 -1
- package/dist/fesm2020/phoenix-ui-components.mjs +0 -3552
- package/dist/fesm2020/phoenix-ui-components.mjs.map +0 -1
- /package/dist/{esm2020 → esm2022}/components/phoenix-menu/index.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/phoenix-ui-components.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/dist/{esm2020 → esm2022}/services/index.mjs +0 -0
|
@@ -1,81 +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/menu";
|
|
6
|
-
import * as i4 from "@angular/material/checkbox";
|
|
7
|
-
import * as i5 from "../menu-toggle/menu-toggle.component";
|
|
8
|
-
function ViewOptionsComponent_button_10__svg_svg_1_Template(rf, ctx) { if (rf & 1) {
|
|
9
|
-
i0.ɵɵnamespaceSVG();
|
|
10
|
-
i0.ɵɵelementStart(0, "svg", 8);
|
|
11
|
-
i0.ɵɵelement(1, "use");
|
|
12
|
-
i0.ɵɵelementEnd();
|
|
13
|
-
} if (rf & 2) {
|
|
14
|
-
const view_r4 = i0.ɵɵnextContext().$implicit;
|
|
15
|
-
i0.ɵɵadvance(1);
|
|
16
|
-
i0.ɵɵattributeInterpolate2("href", "assets/icons/", view_r4.icon, ".svg#", view_r4.icon, "");
|
|
17
|
-
} }
|
|
18
|
-
function ViewOptionsComponent_button_10_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
-
const _r8 = i0.ɵɵgetCurrentView();
|
|
20
|
-
i0.ɵɵelementStart(0, "button", 1);
|
|
21
|
-
i0.ɵɵlistener("click", function ViewOptionsComponent_button_10_Template_button_click_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r8); const view_r4 = restoredCtx.$implicit; const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.displayView($event, view_r4)); });
|
|
22
|
-
i0.ɵɵtemplate(1, ViewOptionsComponent_button_10__svg_svg_1_Template, 2, 2, "svg", 7);
|
|
23
|
-
i0.ɵɵtext(2);
|
|
24
|
-
i0.ɵɵelementEnd();
|
|
25
|
-
} if (rf & 2) {
|
|
26
|
-
const view_r4 = ctx.$implicit;
|
|
27
|
-
i0.ɵɵadvance(1);
|
|
28
|
-
i0.ɵɵproperty("ngIf", view_r4.icon);
|
|
29
|
-
i0.ɵɵadvance(1);
|
|
30
|
-
i0.ɵɵtextInterpolate1(" ", view_r4.name, " ");
|
|
31
|
-
} }
|
|
32
|
-
export class ViewOptionsComponent {
|
|
33
|
-
constructor(eventDisplay) {
|
|
34
|
-
this.eventDisplay = eventDisplay;
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
this.views = this.eventDisplay.getUIManager().getPresetViews();
|
|
38
|
-
}
|
|
39
|
-
displayView($event, view) {
|
|
40
|
-
$event.stopPropagation();
|
|
41
|
-
this.eventDisplay.getUIManager().displayView(view);
|
|
42
|
-
}
|
|
43
|
-
setAxis(change) {
|
|
44
|
-
const value = change.checked;
|
|
45
|
-
this.eventDisplay.getUIManager().setShowAxis(value);
|
|
46
|
-
}
|
|
47
|
-
setGrid(change) {
|
|
48
|
-
const value = change.checked;
|
|
49
|
-
this.eventDisplay.getUIManager().setShowGrid(value);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
ViewOptionsComponent.ɵfac = function ViewOptionsComponent_Factory(t) { return new (t || ViewOptionsComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService)); };
|
|
53
|
-
ViewOptionsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ViewOptionsComponent, selectors: [["app-view-options"]], decls: 12, vars: 3, consts: [["viewOptions", ""], ["mat-menu-item", "", 3, "click"], [3, "click", "change"], ["showGridCheckbox", ""], ["showAxisCheckbox", ""], ["mat-menu-item", "", 3, "click", 4, "ngFor", "ngForOf"], ["tooltip", "View options", "icon", "views", 3, "matMenuTriggerFor", "active"], ["class", "view-icon", 4, "ngIf"], [1, "view-icon"]], template: function ViewOptionsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
54
|
-
const _r9 = i0.ɵɵgetCurrentView();
|
|
55
|
-
i0.ɵɵelementStart(0, "mat-menu", null, 0)(2, "button", 1);
|
|
56
|
-
i0.ɵɵlistener("click", function ViewOptionsComponent_Template_button_click_2_listener($event) { i0.ɵɵrestoreView(_r9); const _r1 = i0.ɵɵreference(4); $event.stopPropagation(); return i0.ɵɵresetView(_r1._inputElement.nativeElement.click()); });
|
|
57
|
-
i0.ɵɵelementStart(3, "mat-checkbox", 2, 3);
|
|
58
|
-
i0.ɵɵlistener("click", function ViewOptionsComponent_Template_mat_checkbox_click_3_listener($event) { return $event.stopPropagation(); })("change", function ViewOptionsComponent_Template_mat_checkbox_change_3_listener($event) { return ctx.setGrid($event); });
|
|
59
|
-
i0.ɵɵtext(5, "Show Grid ");
|
|
60
|
-
i0.ɵɵelementEnd()();
|
|
61
|
-
i0.ɵɵelementStart(6, "button", 1);
|
|
62
|
-
i0.ɵɵlistener("click", function ViewOptionsComponent_Template_button_click_6_listener($event) { i0.ɵɵrestoreView(_r9); const _r2 = i0.ɵɵreference(8); $event.stopPropagation(); return i0.ɵɵresetView(_r2._inputElement.nativeElement.click()); });
|
|
63
|
-
i0.ɵɵelementStart(7, "mat-checkbox", 2, 4);
|
|
64
|
-
i0.ɵɵlistener("click", function ViewOptionsComponent_Template_mat_checkbox_click_7_listener($event) { return $event.stopPropagation(); })("change", function ViewOptionsComponent_Template_mat_checkbox_change_7_listener($event) { return ctx.setAxis($event); });
|
|
65
|
-
i0.ɵɵtext(9, "Show Axis ");
|
|
66
|
-
i0.ɵɵelementEnd()();
|
|
67
|
-
i0.ɵɵtemplate(10, ViewOptionsComponent_button_10_Template, 3, 2, "button", 5);
|
|
68
|
-
i0.ɵɵelementEnd();
|
|
69
|
-
i0.ɵɵelement(11, "app-menu-toggle", 6);
|
|
70
|
-
} if (rf & 2) {
|
|
71
|
-
const _r0 = i0.ɵɵreference(1);
|
|
72
|
-
i0.ɵɵadvance(10);
|
|
73
|
-
i0.ɵɵproperty("ngForOf", ctx.views);
|
|
74
|
-
i0.ɵɵadvance(1);
|
|
75
|
-
i0.ɵɵproperty("matMenuTriggerFor", _r0)("active", false);
|
|
76
|
-
} }, dependencies: [i2.NgForOf, i2.NgIf, i3.MatMenu, i3.MatMenuItem, i3.MatMenuTrigger, i4.MatCheckbox, i5.MenuToggleComponent], styles: [".view-icon[_ngcontent-%COMP%]{width:1.2rem;height:1.2rem;margin-right:.5rem}"] });
|
|
77
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ViewOptionsComponent, [{
|
|
78
|
-
type: Component,
|
|
79
|
-
args: [{ selector: 'app-view-options', template: "<mat-menu #viewOptions>\n <button\n mat-menu-item\n (click)=\"\n $event.stopPropagation();\n showGridCheckbox._inputElement.nativeElement.click()\n \"\n >\n <mat-checkbox\n #showGridCheckbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"setGrid($event)\"\n >Show Grid\n </mat-checkbox>\n </button>\n <button\n mat-menu-item\n (click)=\"\n $event.stopPropagation();\n showAxisCheckbox._inputElement.nativeElement.click()\n \"\n >\n <mat-checkbox\n #showAxisCheckbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"setAxis($event)\"\n >Show Axis\n </mat-checkbox>\n </button>\n <button\n mat-menu-item\n *ngFor=\"let view of views\"\n (click)=\"displayView($event, view)\"\n >\n <svg class=\"view-icon\" *ngIf=\"view.icon\">\n <use attr.href=\"assets/icons/{{ view.icon }}.svg#{{ view.icon }}\"></use>\n </svg>\n {{ view.name }}\n </button>\n</mat-menu>\n\n<app-menu-toggle\n [matMenuTriggerFor]=\"viewOptions\"\n tooltip=\"View options\"\n icon=\"views\"\n [active]=\"false\"\n>\n</app-menu-toggle>\n", styles: [".view-icon{width:1.2rem;height:1.2rem;margin-right:.5rem}\n"] }]
|
|
80
|
-
}], function () { return [{ type: i1.EventDisplayService }]; }, null); })();
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1vcHRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvdmlldy1vcHRpb25zL3ZpZXctb3B0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3ZpZXctb3B0aW9ucy92aWV3LW9wdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7SUNrQzlDLG1CQUF5QztJQUF6Qyw4QkFBeUM7SUFDdkMsc0JBQXdFO0lBQzFFLGlCQUFNOzs7SUFEQyxlQUE0RDtJQUE1RCw0RkFBNEQ7Ozs7SUFOckUsaUNBSUM7SUFEQyxzT0FBUyxlQUFBLG1DQUF5QixDQUFBLElBQUM7SUFFbkMsb0ZBRU07SUFDTixZQUNGO0lBQUEsaUJBQVM7OztJQUppQixlQUFlO0lBQWYsbUNBQWU7SUFHdkMsZUFDRjtJQURFLDZDQUNGOztBRDVCRixNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtJQUFHLENBQUM7SUFFekQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQVcsRUFBRSxJQUFnQjtRQUN2QyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUF5QjtRQUMvQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxPQUFPLENBQUMsTUFBeUI7UUFDL0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDOzt3RkF0QlUsb0JBQW9CO3VFQUFwQixvQkFBb0I7O1FDVmpDLHlDQUF1QixnQkFBQTtRQUduQixzSkFDUyx3QkFDUixTQUFRLGVBQUEsdUNBRWIsQ0FBQSxJQURLO1FBRUQsMENBSUc7UUFGRCw2R0FBUyx3QkFBd0IsSUFBQyxrR0FDeEIsbUJBQWUsSUFEUztRQUVqQywwQkFDSDtRQUFBLGlCQUFlLEVBQUE7UUFFakIsaUNBTUM7UUFKQyxzSkFDUyx3QkFDUixTQUFRLGVBQUEsdUNBRWIsQ0FBQSxJQURLO1FBRUQsMENBSUc7UUFGRCw2R0FBUyx3QkFBd0IsSUFBQyxrR0FDeEIsbUJBQWUsSUFEUztRQUVqQywwQkFDSDtRQUFBLGlCQUFlLEVBQUE7UUFFakIsNkVBU1M7UUFDWCxpQkFBVztRQUVYLHNDQU1rQjs7O1FBaEJHLGdCQUFRO1FBQVIsbUNBQVE7UUFXM0IsZUFBaUM7UUFBakMsdUNBQWlDLGlCQUFBOzt1RkRoQ3RCLG9CQUFvQjtjQUxoQyxTQUFTOzJCQUNFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcmVzZXRWaWV3IH0gZnJvbSAncGhvZW5peC1ldmVudC1kaXNwbGF5JztcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC12aWV3LW9wdGlvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdmlldy1vcHRpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdmlldy1vcHRpb25zLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFZpZXdPcHRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgdmlld3M6IFByZXNldFZpZXdbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV2ZW50RGlzcGxheTogRXZlbnREaXNwbGF5U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdzID0gdGhpcy5ldmVudERpc3BsYXkuZ2V0VUlNYW5hZ2VyKCkuZ2V0UHJlc2V0Vmlld3MoKTtcbiAgfVxuXG4gIGRpc3BsYXlWaWV3KCRldmVudDogYW55LCB2aWV3OiBQcmVzZXRWaWV3KSB7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuZXZlbnREaXNwbGF5LmdldFVJTWFuYWdlcigpLmRpc3BsYXlWaWV3KHZpZXcpO1xuICB9XG5cbiAgc2V0QXhpcyhjaGFuZ2U6IE1hdENoZWNrYm94Q2hhbmdlKSB7XG4gICAgY29uc3QgdmFsdWUgPSBjaGFuZ2UuY2hlY2tlZDtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5nZXRVSU1hbmFnZXIoKS5zZXRTaG93QXhpcyh2YWx1ZSk7XG4gIH1cblxuICBzZXRHcmlkKGNoYW5nZTogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGNoYW5nZS5jaGVja2VkO1xuICAgIHRoaXMuZXZlbnREaXNwbGF5LmdldFVJTWFuYWdlcigpLnNldFNob3dHcmlkKHZhbHVlKTtcbiAgfVxufVxuIiwiPG1hdC1tZW51ICN2aWV3T3B0aW9ucz5cbiAgPGJ1dHRvblxuICAgIG1hdC1tZW51LWl0ZW1cbiAgICAoY2xpY2spPVwiXG4gICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBzaG93R3JpZENoZWNrYm94Ll9pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGljaygpXG4gICAgXCJcbiAgPlxuICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICNzaG93R3JpZENoZWNrYm94XG4gICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgIChjaGFuZ2UpPVwic2V0R3JpZCgkZXZlbnQpXCJcbiAgICAgID5TaG93IEdyaWRcbiAgICA8L21hdC1jaGVja2JveD5cbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICBtYXQtbWVudS1pdGVtXG4gICAgKGNsaWNrKT1cIlxuICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgc2hvd0F4aXNDaGVja2JveC5faW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKVxuICAgIFwiXG4gID5cbiAgICA8bWF0LWNoZWNrYm94XG4gICAgICAjc2hvd0F4aXNDaGVja2JveFxuICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAoY2hhbmdlKT1cInNldEF4aXMoJGV2ZW50KVwiXG4gICAgICA+U2hvdyBBeGlzXG4gICAgPC9tYXQtY2hlY2tib3g+XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgbWF0LW1lbnUtaXRlbVxuICAgICpuZ0Zvcj1cImxldCB2aWV3IG9mIHZpZXdzXCJcbiAgICAoY2xpY2spPVwiZGlzcGxheVZpZXcoJGV2ZW50LCB2aWV3KVwiXG4gID5cbiAgICA8c3ZnIGNsYXNzPVwidmlldy1pY29uXCIgKm5nSWY9XCJ2aWV3Lmljb25cIj5cbiAgICAgIDx1c2UgYXR0ci5ocmVmPVwiYXNzZXRzL2ljb25zL3t7IHZpZXcuaWNvbiB9fS5zdmcje3sgdmlldy5pY29uIH19XCI+PC91c2U+XG4gICAgPC9zdmc+XG4gICAge3sgdmlldy5uYW1lIH19XG4gIDwvYnV0dG9uPlxuPC9tYXQtbWVudT5cblxuPGFwcC1tZW51LXRvZ2dsZVxuICBbbWF0TWVudVRyaWdnZXJGb3JdPVwidmlld09wdGlvbnNcIlxuICB0b29sdGlwPVwiVmlldyBvcHRpb25zXCJcbiAgaWNvbj1cInZpZXdzXCJcbiAgW2FjdGl2ZV09XCJmYWxzZVwiXG4+XG48L2FwcC1tZW51LXRvZ2dsZT5cbiJdfQ==
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { VRManager, XRSessionType } from 'phoenix-event-display';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../../services/event-display.service";
|
|
5
|
-
import * as i2 from "../menu-toggle/menu-toggle.component";
|
|
6
|
-
export class VrToggleComponent {
|
|
7
|
-
constructor(eventDisplay) {
|
|
8
|
-
this.eventDisplay = eventDisplay;
|
|
9
|
-
this.vrSupported = false;
|
|
10
|
-
this.vrActive = false;
|
|
11
|
-
// NOTE: WebXR needs secure HTTPS context
|
|
12
|
-
// Query for permissions of XR before using it (not supported by browsers yet). See https://developer.mozilla.org/en-US/docs/Web/API/Permissions/query
|
|
13
|
-
navigator?.xr
|
|
14
|
-
?.isSessionSupported?.(VRManager.SESSION_TYPE)
|
|
15
|
-
.then((supported) => {
|
|
16
|
-
if (supported) {
|
|
17
|
-
this.vrSupported = true;
|
|
18
|
-
}
|
|
19
|
-
})
|
|
20
|
-
.catch((err) => console.warn('Error in VR', err));
|
|
21
|
-
}
|
|
22
|
-
toggleVr() {
|
|
23
|
-
// If toggling VR on
|
|
24
|
-
if (!this.vrActive) {
|
|
25
|
-
this.eventDisplay.initXR(XRSessionType.VR, () => {
|
|
26
|
-
this.vrActive = false;
|
|
27
|
-
// Disable renderer XR and remove animation loop
|
|
28
|
-
this.eventDisplay.endXR(XRSessionType.VR);
|
|
29
|
-
});
|
|
30
|
-
this.vrActive = true;
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
this.eventDisplay.endXR(XRSessionType.VR);
|
|
34
|
-
this.vrActive = false;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
VrToggleComponent.ɵfac = function VrToggleComponent_Factory(t) { return new (t || VrToggleComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService)); };
|
|
39
|
-
VrToggleComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VrToggleComponent, selectors: [["app-vr-toggle"]], decls: 1, vars: 3, consts: [["icon", "vr", 3, "disabled", "active", "tooltip", "click"]], template: function VrToggleComponent_Template(rf, ctx) { if (rf & 1) {
|
|
40
|
-
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
41
|
-
i0.ɵɵlistener("click", function VrToggleComponent_Template_app_menu_toggle_click_0_listener() { return ctx.vrSupported && ctx.toggleVr(); });
|
|
42
|
-
i0.ɵɵelementEnd();
|
|
43
|
-
} if (rf & 2) {
|
|
44
|
-
i0.ɵɵproperty("disabled", !ctx.vrSupported)("active", ctx.vrActive)("tooltip", ctx.vrSupported ? ctx.vrActive ? "Exit VR" : "Enter VR" : "VR not supported");
|
|
45
|
-
} }, dependencies: [i2.MenuToggleComponent] });
|
|
46
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(VrToggleComponent, [{
|
|
47
|
-
type: Component,
|
|
48
|
-
args: [{ selector: 'app-vr-toggle', template: "<app-menu-toggle\n [disabled]=\"!vrSupported\"\n [active]=\"vrActive\"\n icon=\"vr\"\n (click)=\"vrSupported && toggleVr()\"\n [tooltip]=\"\n vrSupported ? (vrActive ? 'Exit VR' : 'Enter VR') : 'VR not supported'\n \"\n>\n</app-menu-toggle>\n" }]
|
|
49
|
-
}], function () { return [{ type: i1.EventDisplayService }]; }, null); })();
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnItdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvdnItdG9nZ2xlL3ZyLXRvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3ZyLXRvZ2dsZS92ci10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBT2pFLE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBSHJELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHeEIseUNBQXlDO1FBQ3pDLHNKQUFzSjtRQUNySixTQUFpQixFQUFFLEVBQUU7WUFDcEIsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7YUFDN0MsSUFBSSxDQUFDLENBQUMsU0FBa0IsRUFBRSxFQUFFO1lBQzNCLElBQUksU0FBUyxFQUFFO2dCQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxRQUFRO1FBQ04sb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFO2dCQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsZ0RBQWdEO2dCQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN0QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQzs7a0ZBOUJVLGlCQUFpQjtvRUFBakIsaUJBQWlCO1FDVDlCLDBDQVFDO1FBSkMsMEhBQXdCLGNBQVUsSUFBQztRQUtyQyxpQkFBa0I7O1FBUmhCLDJDQUF5Qix3QkFBQSx5RkFBQTs7dUZEUWQsaUJBQWlCO2NBTDdCLFNBQVM7MkJBQ0UsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5pbXBvcnQgeyBWUk1hbmFnZXIsIFhSU2Vzc2lvblR5cGUgfSBmcm9tICdwaG9lbml4LWV2ZW50LWRpc3BsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdnItdG9nZ2xlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZyLXRvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZyLXRvZ2dsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBWclRvZ2dsZUNvbXBvbmVudCB7XG4gIHZyU3VwcG9ydGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHZyQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHtcbiAgICAvLyBOT1RFOiBXZWJYUiBuZWVkcyBzZWN1cmUgSFRUUFMgY29udGV4dFxuICAgIC8vIFF1ZXJ5IGZvciBwZXJtaXNzaW9ucyBvZiBYUiBiZWZvcmUgdXNpbmcgaXQgKG5vdCBzdXBwb3J0ZWQgYnkgYnJvd3NlcnMgeWV0KS4gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9QZXJtaXNzaW9ucy9xdWVyeVxuICAgIChuYXZpZ2F0b3IgYXMgYW55KT8ueHJcbiAgICAgID8uaXNTZXNzaW9uU3VwcG9ydGVkPy4oVlJNYW5hZ2VyLlNFU1NJT05fVFlQRSlcbiAgICAgIC50aGVuKChzdXBwb3J0ZWQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgaWYgKHN1cHBvcnRlZCkge1xuICAgICAgICAgIHRoaXMudnJTdXBwb3J0ZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnI6IGFueSkgPT4gY29uc29sZS53YXJuKCdFcnJvciBpbiBWUicsIGVycikpO1xuICB9XG5cbiAgdG9nZ2xlVnIoKSB7XG4gICAgLy8gSWYgdG9nZ2xpbmcgVlIgb25cbiAgICBpZiAoIXRoaXMudnJBY3RpdmUpIHtcbiAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmluaXRYUihYUlNlc3Npb25UeXBlLlZSLCAoKSA9PiB7XG4gICAgICAgIHRoaXMudnJBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgLy8gRGlzYWJsZSByZW5kZXJlciBYUiBhbmQgcmVtb3ZlIGFuaW1hdGlvbiBsb29wXG4gICAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmVuZFhSKFhSU2Vzc2lvblR5cGUuVlIpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnZyQWN0aXZlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ldmVudERpc3BsYXkuZW5kWFIoWFJTZXNzaW9uVHlwZS5WUik7XG4gICAgICB0aGlzLnZyQWN0aXZlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8YXBwLW1lbnUtdG9nZ2xlXG4gIFtkaXNhYmxlZF09XCIhdnJTdXBwb3J0ZWRcIlxuICBbYWN0aXZlXT1cInZyQWN0aXZlXCJcbiAgaWNvbj1cInZyXCJcbiAgKGNsaWNrKT1cInZyU3VwcG9ydGVkICYmIHRvZ2dsZVZyKClcIlxuICBbdG9vbHRpcF09XCJcbiAgICB2clN1cHBvcnRlZCA/ICh2ckFjdGl2ZSA/ICdFeGl0IFZSJyA6ICdFbnRlciBWUicpIDogJ1ZSIG5vdCBzdXBwb3J0ZWQnXG4gIFwiXG4+XG48L2FwcC1tZW51LXRvZ2dsZT5cbiJdfQ==
|
|
@@ -1,73 +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 "../menu-toggle/menu-toggle.component";
|
|
5
|
-
/**
|
|
6
|
-
* Component for adding zoom controls for the main and overlay cameras.
|
|
7
|
-
*/
|
|
8
|
-
export class ZoomControlsComponent {
|
|
9
|
-
constructor(eventDisplay) {
|
|
10
|
-
this.eventDisplay = eventDisplay;
|
|
11
|
-
/** Factor to zoom by. */
|
|
12
|
-
this.zoomFactor = 1.1;
|
|
13
|
-
/** The speed and time of zoom. */
|
|
14
|
-
this.zoomTime = 200;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Zoom all the cameras by a specific zoom factor.
|
|
18
|
-
* The factor may either be greater (zoom in) or smaller (zoom out) than 1.
|
|
19
|
-
* @param zoomFactor The factor to zoom by.
|
|
20
|
-
*/
|
|
21
|
-
zoomTo(zoomFactor) {
|
|
22
|
-
this.zoomTime =
|
|
23
|
-
this.zoomTime > 30 ? Math.floor(this.zoomTime / 1.1) : this.zoomTime;
|
|
24
|
-
this.eventDisplay.zoomTo(zoomFactor, this.zoomTime);
|
|
25
|
-
this.zoomTimeout = setTimeout(() => {
|
|
26
|
-
this.zoomTo(zoomFactor);
|
|
27
|
-
}, this.zoomTime);
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Zoom the camera in.
|
|
31
|
-
* @param leftClick Whether the mouse click is left or not.
|
|
32
|
-
*/
|
|
33
|
-
zoomIn(leftClick) {
|
|
34
|
-
if (leftClick) {
|
|
35
|
-
this.zoomTo(1 / this.zoomFactor);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Zoom the camera out.
|
|
40
|
-
* @param leftClick Whether the mouse click is left or not.s
|
|
41
|
-
*/
|
|
42
|
-
zoomOut(leftClick) {
|
|
43
|
-
if (leftClick) {
|
|
44
|
-
this.zoomTo(this.zoomFactor);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Reset the zoom time which decreases upon hold and clear the zoom timeout.
|
|
49
|
-
*/
|
|
50
|
-
clearZoom() {
|
|
51
|
-
this.zoomTime = 200;
|
|
52
|
-
clearTimeout(this.zoomTimeout);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
ZoomControlsComponent.ɵfac = function ZoomControlsComponent_Factory(t) { return new (t || ZoomControlsComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService)); };
|
|
56
|
-
ZoomControlsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ZoomControlsComponent, selectors: [["app-zoom-controls"]], decls: 3, vars: 2, consts: [[1, "d-flex"], ["tooltip", "Zoom out (hold)", "icon", "zoom-out", 3, "active", "click", "touchstart", "mousedown", "mouseup", "mouseleave", "touchend", "touchcancel", "touchmove"], ["tooltip", "Zoom in (hold)", "icon", "zoom-in", 3, "active", "click", "touchstart", "mousedown", "mouseup", "mouseleave", "touchend", "touchcancel", "touchmove"]], template: function ZoomControlsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
57
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "app-menu-toggle", 1);
|
|
58
|
-
i0.ɵɵlistener("click", function ZoomControlsComponent_Template_app_menu_toggle_click_1_listener() { ctx.zoomOut(true); return ctx.clearZoom(); })("touchstart", function ZoomControlsComponent_Template_app_menu_toggle_touchstart_1_listener() { return ctx.zoomOut(true); })("mousedown", function ZoomControlsComponent_Template_app_menu_toggle_mousedown_1_listener($event) { return ctx.zoomOut($event.button === 0); })("mouseup", function ZoomControlsComponent_Template_app_menu_toggle_mouseup_1_listener() { return ctx.clearZoom(); })("mouseleave", function ZoomControlsComponent_Template_app_menu_toggle_mouseleave_1_listener() { return ctx.clearZoom(); })("touchend", function ZoomControlsComponent_Template_app_menu_toggle_touchend_1_listener() { return ctx.clearZoom(); })("touchcancel", function ZoomControlsComponent_Template_app_menu_toggle_touchcancel_1_listener() { return ctx.clearZoom(); })("touchmove", function ZoomControlsComponent_Template_app_menu_toggle_touchmove_1_listener() { return ctx.clearZoom(); });
|
|
59
|
-
i0.ɵɵelementEnd();
|
|
60
|
-
i0.ɵɵelementStart(2, "app-menu-toggle", 2);
|
|
61
|
-
i0.ɵɵlistener("click", function ZoomControlsComponent_Template_app_menu_toggle_click_2_listener() { ctx.zoomIn(true); return ctx.clearZoom(); })("touchstart", function ZoomControlsComponent_Template_app_menu_toggle_touchstart_2_listener() { return ctx.zoomIn(true); })("mousedown", function ZoomControlsComponent_Template_app_menu_toggle_mousedown_2_listener($event) { return ctx.zoomIn($event.button === 0); })("mouseup", function ZoomControlsComponent_Template_app_menu_toggle_mouseup_2_listener() { return ctx.clearZoom(); })("mouseleave", function ZoomControlsComponent_Template_app_menu_toggle_mouseleave_2_listener() { return ctx.clearZoom(); })("touchend", function ZoomControlsComponent_Template_app_menu_toggle_touchend_2_listener() { return ctx.clearZoom(); })("touchcancel", function ZoomControlsComponent_Template_app_menu_toggle_touchcancel_2_listener() { return ctx.clearZoom(); })("touchmove", function ZoomControlsComponent_Template_app_menu_toggle_touchmove_2_listener() { return ctx.clearZoom(); });
|
|
62
|
-
i0.ɵɵelementEnd()();
|
|
63
|
-
} if (rf & 2) {
|
|
64
|
-
i0.ɵɵadvance(1);
|
|
65
|
-
i0.ɵɵproperty("active", false);
|
|
66
|
-
i0.ɵɵadvance(1);
|
|
67
|
-
i0.ɵɵproperty("active", false);
|
|
68
|
-
} }, dependencies: [i2.MenuToggleComponent] });
|
|
69
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ZoomControlsComponent, [{
|
|
70
|
-
type: Component,
|
|
71
|
-
args: [{ selector: 'app-zoom-controls', template: "<div class=\"d-flex\">\n <app-menu-toggle\n tooltip=\"Zoom out (hold)\"\n icon=\"zoom-out\"\n [active]=\"false\"\n (click)=\"zoomOut(true); clearZoom()\"\n (touchstart)=\"zoomOut(true)\"\n (mousedown)=\"zoomOut($event.button === 0)\"\n (mouseup)=\"clearZoom()\"\n (mouseleave)=\"clearZoom()\"\n (touchend)=\"clearZoom()\"\n (touchcancel)=\"clearZoom()\"\n (touchmove)=\"clearZoom()\"\n >\n </app-menu-toggle>\n <app-menu-toggle\n tooltip=\"Zoom in (hold)\"\n icon=\"zoom-in\"\n [active]=\"false\"\n (click)=\"zoomIn(true); clearZoom()\"\n (touchstart)=\"zoomIn(true)\"\n (mousedown)=\"zoomIn($event.button === 0)\"\n (mouseup)=\"clearZoom()\"\n (mouseleave)=\"clearZoom()\"\n (touchend)=\"clearZoom()\"\n (touchcancel)=\"clearZoom()\"\n (touchmove)=\"clearZoom()\"\n >\n </app-menu-toggle>\n</div>\n" }]
|
|
72
|
-
}], function () { return [{ type: i1.EventDisplayService }]; }, null); })();
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS1jb250cm9scy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3pvb20tY29udHJvbHMvem9vbS1jb250cm9scy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3pvb20tY29udHJvbHMvem9vbS1jb250cm9scy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRzFDOztHQUVHO0FBTUgsTUFBTSxPQUFPLHFCQUFxQjtJQVVoQyxZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFQckQseUJBQXlCO1FBQ2pCLGVBQVUsR0FBVyxHQUFHLENBQUM7UUFHakMsa0NBQWtDO1FBQzFCLGFBQVEsR0FBVyxHQUFHLENBQUM7SUFFeUIsQ0FBQztJQUV6RDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQWtCO1FBQ3ZCLElBQUksQ0FBQyxRQUFRO1lBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUV2RSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxTQUFrQjtRQUN2QixJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsU0FBa0I7UUFDeEIsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNwQixZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OzBGQXREVSxxQkFBcUI7d0VBQXJCLHFCQUFxQjtRQ1hsQyw4QkFBb0IseUJBQUE7UUFLaEIsb0dBQVMsWUFBUSxJQUFJLENBQUMsU0FBRSxlQUFXLElBQUMsd0dBQ3RCLFlBQVEsSUFBSSxDQUFDLElBRFMsNEdBRXZCLDhCQUEwQixDQUFDLENBQUMsSUFGTCxrR0FHekIsZUFBVyxJQUhjLHdHQUl0QixlQUFXLElBSlcsb0dBS3hCLGVBQVcsSUFMYSwwR0FNckIsZUFBVyxJQU5VLHNHQU92QixlQUFXLElBUFk7UUFTdEMsaUJBQWtCO1FBQ2xCLDBDQVlDO1FBUkMsb0dBQVMsV0FBTyxJQUFJLENBQUMsU0FBRSxlQUFXLElBQUMsd0dBQ3JCLFdBQU8sSUFBSSxDQUFDLElBRFMsNEdBRXRCLDZCQUF5QixDQUFDLENBQUMsSUFGTCxrR0FHeEIsZUFBVyxJQUhhLHdHQUlyQixlQUFXLElBSlUsb0dBS3ZCLGVBQVcsSUFMWSwwR0FNcEIsZUFBVyxJQU5TLHNHQU90QixlQUFXLElBUFc7UUFTckMsaUJBQWtCLEVBQUE7O1FBeEJoQixlQUFnQjtRQUFoQiw4QkFBZ0I7UUFjaEIsZUFBZ0I7UUFBaEIsOEJBQWdCOzt1RkRQUCxxQkFBcUI7Y0FMakMsU0FBUzsyQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgYWRkaW5nIHpvb20gY29udHJvbHMgZm9yIHRoZSBtYWluIGFuZCBvdmVybGF5IGNhbWVyYXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC16b29tLWNvbnRyb2xzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3pvb20tY29udHJvbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi96b29tLWNvbnRyb2xzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFpvb21Db250cm9sc0NvbXBvbmVudCB7XG4gIC8qKiBBbGwgY2FtZXJhIGJlaW5nIHVzZWQgYnkgdGhlIHNjZW5lLiAqL1xuICBhbGxDYW1lcmFzOiBhbnlbXTtcbiAgLyoqIEZhY3RvciB0byB6b29tIGJ5LiAqL1xuICBwcml2YXRlIHpvb21GYWN0b3I6IG51bWJlciA9IDEuMTtcbiAgLyoqIFRpbWVvdXQgZm9yIGNsZWFyaW5nIG1vdXNlIGhvbGQuICovXG4gIHByaXZhdGUgem9vbVRpbWVvdXQ6IGFueTtcbiAgLyoqIFRoZSBzcGVlZCBhbmQgdGltZSBvZiB6b29tLiAqL1xuICBwcml2YXRlIHpvb21UaW1lOiBudW1iZXIgPSAyMDA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIFpvb20gYWxsIHRoZSBjYW1lcmFzIGJ5IGEgc3BlY2lmaWMgem9vbSBmYWN0b3IuXG4gICAqIFRoZSBmYWN0b3IgbWF5IGVpdGhlciBiZSBncmVhdGVyICh6b29tIGluKSBvciBzbWFsbGVyICh6b29tIG91dCkgdGhhbiAxLlxuICAgKiBAcGFyYW0gem9vbUZhY3RvciBUaGUgZmFjdG9yIHRvIHpvb20gYnkuXG4gICAqL1xuICB6b29tVG8oem9vbUZhY3RvcjogbnVtYmVyKSB7XG4gICAgdGhpcy56b29tVGltZSA9XG4gICAgICB0aGlzLnpvb21UaW1lID4gMzAgPyBNYXRoLmZsb29yKHRoaXMuem9vbVRpbWUgLyAxLjEpIDogdGhpcy56b29tVGltZTtcblxuICAgIHRoaXMuZXZlbnREaXNwbGF5Lnpvb21Ubyh6b29tRmFjdG9yLCB0aGlzLnpvb21UaW1lKTtcblxuICAgIHRoaXMuem9vbVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuem9vbVRvKHpvb21GYWN0b3IpO1xuICAgIH0sIHRoaXMuem9vbVRpbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFpvb20gdGhlIGNhbWVyYSBpbi5cbiAgICogQHBhcmFtIGxlZnRDbGljayBXaGV0aGVyIHRoZSBtb3VzZSBjbGljayBpcyBsZWZ0IG9yIG5vdC5cbiAgICovXG4gIHpvb21JbihsZWZ0Q2xpY2s6IGJvb2xlYW4pIHtcbiAgICBpZiAobGVmdENsaWNrKSB7XG4gICAgICB0aGlzLnpvb21UbygxIC8gdGhpcy56b29tRmFjdG9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogWm9vbSB0aGUgY2FtZXJhIG91dC5cbiAgICogQHBhcmFtIGxlZnRDbGljayBXaGV0aGVyIHRoZSBtb3VzZSBjbGljayBpcyBsZWZ0IG9yIG5vdC5zXG4gICAqL1xuICB6b29tT3V0KGxlZnRDbGljazogYm9vbGVhbikge1xuICAgIGlmIChsZWZ0Q2xpY2spIHtcbiAgICAgIHRoaXMuem9vbVRvKHRoaXMuem9vbUZhY3Rvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHRoZSB6b29tIHRpbWUgd2hpY2ggZGVjcmVhc2VzIHVwb24gaG9sZCBhbmQgY2xlYXIgdGhlIHpvb20gdGltZW91dC5cbiAgICovXG4gIGNsZWFyWm9vbSgpIHtcbiAgICB0aGlzLnpvb21UaW1lID0gMjAwO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnpvb21UaW1lb3V0KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImQtZmxleFwiPlxuICA8YXBwLW1lbnUtdG9nZ2xlXG4gICAgdG9vbHRpcD1cIlpvb20gb3V0IChob2xkKVwiXG4gICAgaWNvbj1cInpvb20tb3V0XCJcbiAgICBbYWN0aXZlXT1cImZhbHNlXCJcbiAgICAoY2xpY2spPVwiem9vbU91dCh0cnVlKTsgY2xlYXJab29tKClcIlxuICAgICh0b3VjaHN0YXJ0KT1cInpvb21PdXQodHJ1ZSlcIlxuICAgIChtb3VzZWRvd24pPVwiem9vbU91dCgkZXZlbnQuYnV0dG9uID09PSAwKVwiXG4gICAgKG1vdXNldXApPVwiY2xlYXJab29tKClcIlxuICAgIChtb3VzZWxlYXZlKT1cImNsZWFyWm9vbSgpXCJcbiAgICAodG91Y2hlbmQpPVwiY2xlYXJab29tKClcIlxuICAgICh0b3VjaGNhbmNlbCk9XCJjbGVhclpvb20oKVwiXG4gICAgKHRvdWNobW92ZSk9XCJjbGVhclpvb20oKVwiXG4gID5cbiAgPC9hcHAtbWVudS10b2dnbGU+XG4gIDxhcHAtbWVudS10b2dnbGVcbiAgICB0b29sdGlwPVwiWm9vbSBpbiAoaG9sZClcIlxuICAgIGljb249XCJ6b29tLWluXCJcbiAgICBbYWN0aXZlXT1cImZhbHNlXCJcbiAgICAoY2xpY2spPVwiem9vbUluKHRydWUpOyBjbGVhclpvb20oKVwiXG4gICAgKHRvdWNoc3RhcnQpPVwiem9vbUluKHRydWUpXCJcbiAgICAobW91c2Vkb3duKT1cInpvb21JbigkZXZlbnQuYnV0dG9uID09PSAwKVwiXG4gICAgKG1vdXNldXApPVwiY2xlYXJab29tKClcIlxuICAgIChtb3VzZWxlYXZlKT1cImNsZWFyWm9vbSgpXCJcbiAgICAodG91Y2hlbmQpPVwiY2xlYXJab29tKClcIlxuICAgICh0b3VjaGNhbmNlbCk9XCJjbGVhclpvb20oKVwiXG4gICAgKHRvdWNobW92ZSk9XCJjbGVhclpvb20oKVwiXG4gID5cbiAgPC9hcHAtbWVudS10b2dnbGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ActiveVariable } from 'phoenix-event-display';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ErrorMessageService {
|
|
5
|
-
constructor() {
|
|
6
|
-
/** A variable that stores the latest error thrown. */
|
|
7
|
-
this.error = new ActiveVariable();
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Subscribe to when an error occurs.
|
|
11
|
-
* @param callback A function called when an error occurs.
|
|
12
|
-
*/
|
|
13
|
-
subscribeToError(callback) {
|
|
14
|
-
this.error.onUpdate(callback);
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Set the current error.
|
|
18
|
-
* @param error The error that has occurred.
|
|
19
|
-
*/
|
|
20
|
-
setError(error) {
|
|
21
|
-
this.error.update(error);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
ErrorMessageService.ɵfac = function ErrorMessageService_Factory(t) { return new (t || ErrorMessageService)(); };
|
|
25
|
-
ErrorMessageService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ErrorMessageService, factory: ErrorMessageService.ɵfac, providedIn: 'root' });
|
|
26
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ErrorMessageService, [{
|
|
27
|
-
type: Injectable,
|
|
28
|
-
args: [{
|
|
29
|
-
providedIn: 'root',
|
|
30
|
-
}]
|
|
31
|
-
}], null, null); })();
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3NlcnZpY2VzL2Vycm9yLW1lc3NhZ2Utc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFLdkQsTUFBTSxPQUFPLG1CQUFtQjtJQUhoQztRQUlFLHNEQUFzRDtRQUM5QyxVQUFLLEdBQUcsSUFBSSxjQUFjLEVBQVMsQ0FBQztLQWlCN0M7SUFmQzs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQyxRQUFnQztRQUMvQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLEtBQVk7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7c0ZBbEJVLG1CQUFtQjt5RUFBbkIsbUJBQW1CLFdBQW5CLG1CQUFtQixtQkFGbEIsTUFBTTt1RkFFUCxtQkFBbUI7Y0FIL0IsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZlVmFyaWFibGUgfSBmcm9tICdwaG9lbml4LWV2ZW50LWRpc3BsYXknO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JNZXNzYWdlU2VydmljZSB7XG4gIC8qKiBBIHZhcmlhYmxlIHRoYXQgc3RvcmVzIHRoZSBsYXRlc3QgZXJyb3IgdGhyb3duLiAqL1xuICBwcml2YXRlIGVycm9yID0gbmV3IEFjdGl2ZVZhcmlhYmxlPEVycm9yPigpO1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gd2hlbiBhbiBlcnJvciBvY2N1cnMuXG4gICAqIEBwYXJhbSBjYWxsYmFjayBBIGZ1bmN0aW9uIGNhbGxlZCB3aGVuIGFuIGVycm9yIG9jY3Vycy5cbiAgICovXG4gIHN1YnNjcmliZVRvRXJyb3IoY2FsbGJhY2s6IChlcnJvcjogRXJyb3IpID0+IHZvaWQpIHtcbiAgICB0aGlzLmVycm9yLm9uVXBkYXRlKGNhbGxiYWNrKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGN1cnJlbnQgZXJyb3IuXG4gICAqIEBwYXJhbSBlcnJvciBUaGUgZXJyb3IgdGhhdCBoYXMgb2NjdXJyZWQuXG4gICAqL1xuICBzZXRFcnJvcihlcnJvcjogRXJyb3IpIHtcbiAgICB0aGlzLmVycm9yLnVwZGF0ZShlcnJvcik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Pipe for transforming selected object attributes to a better format.
|
|
5
|
-
*/
|
|
6
|
-
export class AttributePipe {
|
|
7
|
-
/**
|
|
8
|
-
* Transform the attribute to a better presentable format.
|
|
9
|
-
* @param value Value to be transformed.
|
|
10
|
-
* @param args Additional arguments.
|
|
11
|
-
* @returns The transformed value.
|
|
12
|
-
*/
|
|
13
|
-
transform(value, args) {
|
|
14
|
-
let transformedValue = '';
|
|
15
|
-
if (Array.isArray(value)) {
|
|
16
|
-
transformedValue += '\n';
|
|
17
|
-
value.forEach((v) => (transformedValue += v + '\n'));
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
transformedValue = value.toString();
|
|
21
|
-
}
|
|
22
|
-
return transformedValue;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
AttributePipe.ɵfac = function AttributePipe_Factory(t) { return new (t || AttributePipe)(); };
|
|
26
|
-
AttributePipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "attributePipe", type: AttributePipe, pure: true });
|
|
27
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AttributePipe, [{
|
|
28
|
-
type: Pipe,
|
|
29
|
-
args: [{
|
|
30
|
-
name: 'attributePipe',
|
|
31
|
-
}]
|
|
32
|
-
}], null, null); })();
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvc2VydmljZXMvZXh0cmFzL2F0dHJpYnV0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRDs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBQ3hCOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLEtBQVUsRUFBRSxJQUFVO1FBQzlCLElBQUksZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixnQkFBZ0IsSUFBSSxJQUFJLENBQUM7WUFDekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUN0RDthQUFNO1lBQ0wsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDOzswRUFoQlUsYUFBYTttRkFBYixhQUFhO3VGQUFiLGFBQWE7Y0FIekIsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSxlQUFlO2FBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFBpcGUgZm9yIHRyYW5zZm9ybWluZyBzZWxlY3RlZCBvYmplY3QgYXR0cmlidXRlcyB0byBhIGJldHRlciBmb3JtYXQuXG4gKi9cbkBQaXBlKHtcbiAgbmFtZTogJ2F0dHJpYnV0ZVBpcGUnLFxufSlcbmV4cG9ydCBjbGFzcyBBdHRyaWJ1dGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdGhlIGF0dHJpYnV0ZSB0byBhIGJldHRlciBwcmVzZW50YWJsZSBmb3JtYXQuXG4gICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBiZSB0cmFuc2Zvcm1lZC5cbiAgICogQHBhcmFtIGFyZ3MgQWRkaXRpb25hbCBhcmd1bWVudHMuXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZS5cbiAgICovXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBhcmdzPzogYW55KTogYW55IHtcbiAgICBsZXQgdHJhbnNmb3JtZWRWYWx1ZSA9ICcnO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdHJhbnNmb3JtZWRWYWx1ZSArPSAnXFxuJztcbiAgICAgIHZhbHVlLmZvckVhY2goKHYpID0+ICh0cmFuc2Zvcm1lZFZhbHVlICs9IHYgKyAnXFxuJykpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0cmFuc2Zvcm1lZFZhbHVlID0gdmFsdWUudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkVmFsdWU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ErrorMessageService } from './error-message-service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* Global handler for handling app/module wide errors.
|
|
6
|
-
*/
|
|
7
|
-
export class GlobalErrorHandler {
|
|
8
|
-
/**
|
|
9
|
-
* Instantiate the global error handler.
|
|
10
|
-
* @param injector Injector for getting the error message service.
|
|
11
|
-
*/
|
|
12
|
-
constructor(injector) {
|
|
13
|
-
this.injector = injector;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* A handler for handling the global error that occurs in the app.
|
|
17
|
-
* @param error The error that occurred.
|
|
18
|
-
*/
|
|
19
|
-
handleError(error) {
|
|
20
|
-
console.error('ERROR IN PHOENIX APP', '\n', error);
|
|
21
|
-
this.injector.get(ErrorMessageService).setError(error);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
GlobalErrorHandler.ɵfac = function GlobalErrorHandler_Factory(t) { return new (t || GlobalErrorHandler)(i0.ɵɵinject(i0.Injector)); };
|
|
25
|
-
GlobalErrorHandler.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: GlobalErrorHandler, factory: GlobalErrorHandler.ɵfac });
|
|
26
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GlobalErrorHandler, [{
|
|
27
|
-
type: Injectable
|
|
28
|
-
}], function () { return [{ type: i0.Injector }]; }, null); })();
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWVycm9yLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc2VydmljZXMvZ2xvYmFsLWVycm9yLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRTlEOztHQUVHO0FBRUgsTUFBTSxPQUFPLGtCQUFrQjtJQUM3Qjs7O09BR0c7SUFDSCxZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUcsQ0FBQztJQUUxQzs7O09BR0c7SUFDSCxXQUFXLENBQUMsS0FBWTtRQUN0QixPQUFPLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDOztvRkFkVSxrQkFBa0I7d0VBQWxCLGtCQUFrQixXQUFsQixrQkFBa0I7dUZBQWxCLGtCQUFrQjtjQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlU2VydmljZSB9IGZyb20gJy4vZXJyb3ItbWVzc2FnZS1zZXJ2aWNlJztcblxuLyoqXG4gKiBHbG9iYWwgaGFuZGxlciBmb3IgaGFuZGxpbmcgYXBwL21vZHVsZSB3aWRlIGVycm9ycy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEdsb2JhbEVycm9ySGFuZGxlciBpbXBsZW1lbnRzIEVycm9ySGFuZGxlciB7XG4gIC8qKlxuICAgKiBJbnN0YW50aWF0ZSB0aGUgZ2xvYmFsIGVycm9yIGhhbmRsZXIuXG4gICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgZ2V0dGluZyB0aGUgZXJyb3IgbWVzc2FnZSBzZXJ2aWNlLlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgLyoqXG4gICAqIEEgaGFuZGxlciBmb3IgaGFuZGxpbmcgdGhlIGdsb2JhbCBlcnJvciB0aGF0IG9jY3VycyBpbiB0aGUgYXBwLlxuICAgKiBAcGFyYW0gZXJyb3IgVGhlIGVycm9yIHRoYXQgb2NjdXJyZWQuXG4gICAqL1xuICBoYW5kbGVFcnJvcihlcnJvcjogRXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdFUlJPUiBJTiBQSE9FTklYIEFQUCcsICdcXG4nLCBlcnJvcik7XG4gICAgdGhpcy5pbmplY3Rvci5nZXQoRXJyb3JNZXNzYWdlU2VydmljZSkuc2V0RXJyb3IoZXJyb3IpO1xuICB9XG59XG4iXX0=
|