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
|
@@ -0,0 +1,79 @@
|
|
|
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
|
+
eventDisplay;
|
|
10
|
+
/** All camera being used by the scene. */
|
|
11
|
+
allCameras;
|
|
12
|
+
/** Factor to zoom by. */
|
|
13
|
+
zoomFactor = 1.1;
|
|
14
|
+
/** Timeout for clearing mouse hold. */
|
|
15
|
+
zoomTimeout;
|
|
16
|
+
/** The speed and time of zoom. */
|
|
17
|
+
zoomTime = 200;
|
|
18
|
+
constructor(eventDisplay) {
|
|
19
|
+
this.eventDisplay = eventDisplay;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Zoom all the cameras by a specific zoom factor.
|
|
23
|
+
* The factor may either be greater (zoom in) or smaller (zoom out) than 1.
|
|
24
|
+
* @param zoomFactor The factor to zoom by.
|
|
25
|
+
*/
|
|
26
|
+
zoomTo(zoomFactor) {
|
|
27
|
+
this.zoomTime =
|
|
28
|
+
this.zoomTime > 30 ? Math.floor(this.zoomTime / 1.1) : this.zoomTime;
|
|
29
|
+
this.eventDisplay.zoomTo(zoomFactor, this.zoomTime);
|
|
30
|
+
this.zoomTimeout = setTimeout(() => {
|
|
31
|
+
this.zoomTo(zoomFactor);
|
|
32
|
+
}, this.zoomTime);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Zoom the camera in.
|
|
36
|
+
* @param leftClick Whether the mouse click is left or not.
|
|
37
|
+
*/
|
|
38
|
+
zoomIn(leftClick) {
|
|
39
|
+
if (leftClick) {
|
|
40
|
+
this.zoomTo(1 / this.zoomFactor);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Zoom the camera out.
|
|
45
|
+
* @param leftClick Whether the mouse click is left or not.s
|
|
46
|
+
*/
|
|
47
|
+
zoomOut(leftClick) {
|
|
48
|
+
if (leftClick) {
|
|
49
|
+
this.zoomTo(this.zoomFactor);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Reset the zoom time which decreases upon hold and clear the zoom timeout.
|
|
54
|
+
*/
|
|
55
|
+
clearZoom() {
|
|
56
|
+
this.zoomTime = 200;
|
|
57
|
+
clearTimeout(this.zoomTimeout);
|
|
58
|
+
}
|
|
59
|
+
static ɵfac = function ZoomControlsComponent_Factory(t) { return new (t || ZoomControlsComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService)); };
|
|
60
|
+
static ɵ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, "click", "touchstart", "mousedown", "mouseup", "mouseleave", "touchend", "touchcancel", "touchmove", "active"], ["tooltip", "Zoom in (hold)", "icon", "zoom-in", 3, "click", "touchstart", "mousedown", "mouseup", "mouseleave", "touchend", "touchcancel", "touchmove", "active"]], template: function ZoomControlsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
61
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "app-menu-toggle", 1);
|
|
62
|
+
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(); });
|
|
63
|
+
i0.ɵɵelementEnd();
|
|
64
|
+
i0.ɵɵelementStart(2, "app-menu-toggle", 2);
|
|
65
|
+
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(); });
|
|
66
|
+
i0.ɵɵelementEnd()();
|
|
67
|
+
} if (rf & 2) {
|
|
68
|
+
i0.ɵɵadvance();
|
|
69
|
+
i0.ɵɵproperty("active", false);
|
|
70
|
+
i0.ɵɵadvance();
|
|
71
|
+
i0.ɵɵproperty("active", false);
|
|
72
|
+
} }, dependencies: [i2.MenuToggleComponent] });
|
|
73
|
+
}
|
|
74
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ZoomControlsComponent, [{
|
|
75
|
+
type: Component,
|
|
76
|
+
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" }]
|
|
77
|
+
}], () => [{ type: i1.EventDisplayService }], null); })();
|
|
78
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ZoomControlsComponent, { className: "ZoomControlsComponent", filePath: "components/ui-menu/zoom-controls/zoom-controls.component.ts", lineNumber: 12 }); })();
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS1jb250cm9scy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3pvb20tY29udHJvbHMvem9vbS1jb250cm9scy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3pvb20tY29udHJvbHMvem9vbS1jb250cm9scy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRzFDOztHQUVHO0FBTUgsTUFBTSxPQUFPLHFCQUFxQjtJQVVaO0lBVHBCLDBDQUEwQztJQUMxQyxVQUFVLENBQVE7SUFDbEIseUJBQXlCO0lBQ2pCLFVBQVUsR0FBVyxHQUFHLENBQUM7SUFDakMsdUNBQXVDO0lBQy9CLFdBQVcsQ0FBTTtJQUN6QixrQ0FBa0M7SUFDMUIsUUFBUSxHQUFXLEdBQUcsQ0FBQztJQUUvQixZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7SUFBRyxDQUFDO0lBRXpEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBa0I7UUFDdkIsSUFBSSxDQUFDLFFBQVE7WUFDWCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRXZFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFcEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFNBQWtCO1FBQ3ZCLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsU0FBa0I7UUFDeEIsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDcEIsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqQyxDQUFDOytFQXREVSxxQkFBcUI7NkRBQXJCLHFCQUFxQjtZQ1ZoQyxBQURGLDhCQUFvQix5QkFhakI7WUFEQyxBQURBLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLG9HQUFTLFlBQVEsSUFBSSxDQUFDLFNBQUUsZUFBVyxJQUFDLHdHQUN0QixZQUFRLElBQUksQ0FBQyxJQUFDLDRHQUNmLDhCQUEwQixDQUFDLENBQUMsSUFBQyxrR0FDL0IsZUFBVyxJQUFDLHdHQUNULGVBQVcsSUFBQyxvR0FDZCxlQUFXLElBQUMsMEdBQ1QsZUFBVyxJQUFDLHNHQUNkLGVBQVcsSUFBQztZQUUzQixpQkFBa0I7WUFDbEIsMENBWUM7WUFEQyxBQURBLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLG9HQUFTLFdBQU8sSUFBSSxDQUFDLFNBQUUsZUFBVyxJQUFDLHdHQUNyQixXQUFPLElBQUksQ0FBQyxJQUFDLDRHQUNkLDZCQUF5QixDQUFDLENBQUMsSUFBQyxrR0FDOUIsZUFBVyxJQUFDLHdHQUNULGVBQVcsSUFBQyxvR0FDZCxlQUFXLElBQUMsMEdBQ1QsZUFBVyxJQUFDLHNHQUNkLGVBQVcsSUFBQztZQUc3QixBQURFLGlCQUFrQixFQUNkOztZQXpCRixjQUFnQjtZQUFoQiw4QkFBZ0I7WUFjaEIsY0FBZ0I7WUFBaEIsOEJBQWdCOzs7aUZEUFAscUJBQXFCO2NBTGpDLFNBQVM7MkJBQ0UsbUJBQW1COztrRkFJbEIscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudERpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXZlbnQtZGlzcGxheS5zZXJ2aWNlJztcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIGFkZGluZyB6b29tIGNvbnRyb2xzIGZvciB0aGUgbWFpbiBhbmQgb3ZlcmxheSBjYW1lcmFzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtem9vbS1jb250cm9scycsXG4gIHRlbXBsYXRlVXJsOiAnLi96b29tLWNvbnRyb2xzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vem9vbS1jb250cm9scy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBab29tQ29udHJvbHNDb21wb25lbnQge1xuICAvKiogQWxsIGNhbWVyYSBiZWluZyB1c2VkIGJ5IHRoZSBzY2VuZS4gKi9cbiAgYWxsQ2FtZXJhczogYW55W107XG4gIC8qKiBGYWN0b3IgdG8gem9vbSBieS4gKi9cbiAgcHJpdmF0ZSB6b29tRmFjdG9yOiBudW1iZXIgPSAxLjE7XG4gIC8qKiBUaW1lb3V0IGZvciBjbGVhcmluZyBtb3VzZSBob2xkLiAqL1xuICBwcml2YXRlIHpvb21UaW1lb3V0OiBhbnk7XG4gIC8qKiBUaGUgc3BlZWQgYW5kIHRpbWUgb2Ygem9vbS4gKi9cbiAgcHJpdmF0ZSB6b29tVGltZTogbnVtYmVyID0gMjAwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXZlbnREaXNwbGF5OiBFdmVudERpc3BsYXlTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBab29tIGFsbCB0aGUgY2FtZXJhcyBieSBhIHNwZWNpZmljIHpvb20gZmFjdG9yLlxuICAgKiBUaGUgZmFjdG9yIG1heSBlaXRoZXIgYmUgZ3JlYXRlciAoem9vbSBpbikgb3Igc21hbGxlciAoem9vbSBvdXQpIHRoYW4gMS5cbiAgICogQHBhcmFtIHpvb21GYWN0b3IgVGhlIGZhY3RvciB0byB6b29tIGJ5LlxuICAgKi9cbiAgem9vbVRvKHpvb21GYWN0b3I6IG51bWJlcikge1xuICAgIHRoaXMuem9vbVRpbWUgPVxuICAgICAgdGhpcy56b29tVGltZSA+IDMwID8gTWF0aC5mbG9vcih0aGlzLnpvb21UaW1lIC8gMS4xKSA6IHRoaXMuem9vbVRpbWU7XG5cbiAgICB0aGlzLmV2ZW50RGlzcGxheS56b29tVG8oem9vbUZhY3RvciwgdGhpcy56b29tVGltZSk7XG5cbiAgICB0aGlzLnpvb21UaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnpvb21Ubyh6b29tRmFjdG9yKTtcbiAgICB9LCB0aGlzLnpvb21UaW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBab29tIHRoZSBjYW1lcmEgaW4uXG4gICAqIEBwYXJhbSBsZWZ0Q2xpY2sgV2hldGhlciB0aGUgbW91c2UgY2xpY2sgaXMgbGVmdCBvciBub3QuXG4gICAqL1xuICB6b29tSW4obGVmdENsaWNrOiBib29sZWFuKSB7XG4gICAgaWYgKGxlZnRDbGljaykge1xuICAgICAgdGhpcy56b29tVG8oMSAvIHRoaXMuem9vbUZhY3Rvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFpvb20gdGhlIGNhbWVyYSBvdXQuXG4gICAqIEBwYXJhbSBsZWZ0Q2xpY2sgV2hldGhlciB0aGUgbW91c2UgY2xpY2sgaXMgbGVmdCBvciBub3Quc1xuICAgKi9cbiAgem9vbU91dChsZWZ0Q2xpY2s6IGJvb2xlYW4pIHtcbiAgICBpZiAobGVmdENsaWNrKSB7XG4gICAgICB0aGlzLnpvb21Ubyh0aGlzLnpvb21GYWN0b3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgem9vbSB0aW1lIHdoaWNoIGRlY3JlYXNlcyB1cG9uIGhvbGQgYW5kIGNsZWFyIHRoZSB6b29tIHRpbWVvdXQuXG4gICAqL1xuICBjbGVhclpvb20oKSB7XG4gICAgdGhpcy56b29tVGltZSA9IDIwMDtcbiAgICBjbGVhclRpbWVvdXQodGhpcy56b29tVGltZW91dCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cbiAgPGFwcC1tZW51LXRvZ2dsZVxuICAgIHRvb2x0aXA9XCJab29tIG91dCAoaG9sZClcIlxuICAgIGljb249XCJ6b29tLW91dFwiXG4gICAgW2FjdGl2ZV09XCJmYWxzZVwiXG4gICAgKGNsaWNrKT1cInpvb21PdXQodHJ1ZSk7IGNsZWFyWm9vbSgpXCJcbiAgICAodG91Y2hzdGFydCk9XCJ6b29tT3V0KHRydWUpXCJcbiAgICAobW91c2Vkb3duKT1cInpvb21PdXQoJGV2ZW50LmJ1dHRvbiA9PT0gMClcIlxuICAgIChtb3VzZXVwKT1cImNsZWFyWm9vbSgpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJjbGVhclpvb20oKVwiXG4gICAgKHRvdWNoZW5kKT1cImNsZWFyWm9vbSgpXCJcbiAgICAodG91Y2hjYW5jZWwpPVwiY2xlYXJab29tKClcIlxuICAgICh0b3VjaG1vdmUpPVwiY2xlYXJab29tKClcIlxuICA+XG4gIDwvYXBwLW1lbnUtdG9nZ2xlPlxuICA8YXBwLW1lbnUtdG9nZ2xlXG4gICAgdG9vbHRpcD1cIlpvb20gaW4gKGhvbGQpXCJcbiAgICBpY29uPVwiem9vbS1pblwiXG4gICAgW2FjdGl2ZV09XCJmYWxzZVwiXG4gICAgKGNsaWNrKT1cInpvb21Jbih0cnVlKTsgY2xlYXJab29tKClcIlxuICAgICh0b3VjaHN0YXJ0KT1cInpvb21Jbih0cnVlKVwiXG4gICAgKG1vdXNlZG93bik9XCJ6b29tSW4oJGV2ZW50LmJ1dHRvbiA9PT0gMClcIlxuICAgIChtb3VzZXVwKT1cImNsZWFyWm9vbSgpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJjbGVhclpvb20oKVwiXG4gICAgKHRvdWNoZW5kKT1cImNsZWFyWm9vbSgpXCJcbiAgICAodG91Y2hjYW5jZWwpPVwiY2xlYXJab29tKClcIlxuICAgICh0b3VjaG1vdmUpPVwiY2xlYXJab29tKClcIlxuICA+XG4gIDwvYXBwLW1lbnUtdG9nZ2xlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
/** A variable that stores the latest error thrown. */
|
|
6
|
+
error = new ActiveVariable();
|
|
7
|
+
/**
|
|
8
|
+
* Subscribe to when an error occurs.
|
|
9
|
+
* @param callback A function called when an error occurs.
|
|
10
|
+
*/
|
|
11
|
+
subscribeToError(callback) {
|
|
12
|
+
this.error.onUpdate(callback);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Set the current error.
|
|
16
|
+
* @param error The error that has occurred.
|
|
17
|
+
*/
|
|
18
|
+
setError(error) {
|
|
19
|
+
this.error.update(error);
|
|
20
|
+
}
|
|
21
|
+
static ɵfac = function ErrorMessageService_Factory(t) { return new (t || ErrorMessageService)(); };
|
|
22
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ErrorMessageService, factory: ErrorMessageService.ɵfac, providedIn: 'root' });
|
|
23
|
+
}
|
|
24
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ErrorMessageService, [{
|
|
25
|
+
type: Injectable,
|
|
26
|
+
args: [{
|
|
27
|
+
providedIn: 'root',
|
|
28
|
+
}]
|
|
29
|
+
}], null, null); })();
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3NlcnZpY2VzL2Vycm9yLW1lc3NhZ2Utc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFLdkQsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixzREFBc0Q7SUFDOUMsS0FBSyxHQUFHLElBQUksY0FBYyxFQUFTLENBQUM7SUFFNUM7OztPQUdHO0lBQ0gsZ0JBQWdCLENBQUMsUUFBZ0M7UUFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxLQUFZO1FBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7NkVBbEJVLG1CQUFtQjtnRUFBbkIsbUJBQW1CLFdBQW5CLG1CQUFtQixtQkFGbEIsTUFBTTs7aUZBRVAsbUJBQW1CO2NBSC9CLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2ZVZhcmlhYmxlIH0gZnJvbSAncGhvZW5peC1ldmVudC1kaXNwbGF5JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVycm9yTWVzc2FnZVNlcnZpY2Uge1xuICAvKiogQSB2YXJpYWJsZSB0aGF0IHN0b3JlcyB0aGUgbGF0ZXN0IGVycm9yIHRocm93bi4gKi9cbiAgcHJpdmF0ZSBlcnJvciA9IG5ldyBBY3RpdmVWYXJpYWJsZTxFcnJvcj4oKTtcblxuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIHdoZW4gYW4gZXJyb3Igb2NjdXJzLlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgQSBmdW5jdGlvbiBjYWxsZWQgd2hlbiBhbiBlcnJvciBvY2N1cnMuXG4gICAqL1xuICBzdWJzY3JpYmVUb0Vycm9yKGNhbGxiYWNrOiAoZXJyb3I6IEVycm9yKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5lcnJvci5vblVwZGF0ZShjYWxsYmFjayk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjdXJyZW50IGVycm9yLlxuICAgKiBAcGFyYW0gZXJyb3IgVGhlIGVycm9yIHRoYXQgaGFzIG9jY3VycmVkLlxuICAgKi9cbiAgc2V0RXJyb3IoZXJyb3I6IEVycm9yKSB7XG4gICAgdGhpcy5lcnJvci51cGRhdGUoZXJyb3IpO1xuICB9XG59XG4iXX0=
|
|
@@ -11,13 +11,13 @@ export class EventDisplayService extends EventDisplay {
|
|
|
11
11
|
constructor() {
|
|
12
12
|
super();
|
|
13
13
|
}
|
|
14
|
+
static ɵfac = function EventDisplayService_Factory(t) { return new (t || EventDisplayService)(); };
|
|
15
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: EventDisplayService, factory: EventDisplayService.ɵfac, providedIn: 'root' });
|
|
14
16
|
}
|
|
15
|
-
|
|
16
|
-
EventDisplayService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: EventDisplayService, factory: EventDisplayService.ɵfac, providedIn: 'root' });
|
|
17
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventDisplayService, [{
|
|
17
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventDisplayService, [{
|
|
18
18
|
type: Injectable,
|
|
19
19
|
args: [{
|
|
20
20
|
providedIn: 'root',
|
|
21
21
|
}]
|
|
22
|
-
}],
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
}], () => [], null); })();
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZGlzcGxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFckQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBWTtJQUNuRDs7T0FFRztJQUNIO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDOzZFQU5VLG1CQUFtQjtnRUFBbkIsbUJBQW1CLFdBQW5CLG1CQUFtQixtQkFGbEIsTUFBTTs7aUZBRVAsbUJBQW1CO2NBSC9CLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RGlzcGxheSB9IGZyb20gJ3Bob2VuaXgtZXZlbnQtZGlzcGxheSc7XG5cbi8qKlxuICogU2VydmljZSBmb3IgYWxsIGV2ZW50IGRpc3BsYXkgcmVsYXRlZCBmdW5jdGlvbnMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFdmVudERpc3BsYXlTZXJ2aWNlIGV4dGVuZHMgRXZlbnREaXNwbGF5IHtcbiAgLyoqXG4gICAqIEluc3RhbnRpYXRlIHRoZSBldmVudCBkaXNwbGF5IGJ5IGNhbGxpbmcgdGhlIHBhcmVudCBjb25zdHJ1Y3Rvci5cbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
static ɵfac = function AttributePipe_Factory(t) { return new (t || AttributePipe)(); };
|
|
25
|
+
static ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "attributePipe", type: AttributePipe, pure: true });
|
|
26
|
+
}
|
|
27
|
+
(() => { (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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvc2VydmljZXMvZXh0cmFzL2F0dHJpYnV0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRDs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBQ3hCOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLEtBQVUsRUFBRSxJQUFVO1FBQzlCLElBQUksZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3pCLGdCQUFnQixJQUFJLElBQUksQ0FBQztZQUN6QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7YUFBTSxDQUFDO1lBQ04sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFDRCxPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7dUVBaEJVLGFBQWE7Z0ZBQWIsYUFBYTs7aUZBQWIsYUFBYTtjQUh6QixJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLGVBQWU7YUFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogUGlwZSBmb3IgdHJhbnNmb3JtaW5nIHNlbGVjdGVkIG9iamVjdCBhdHRyaWJ1dGVzIHRvIGEgYmV0dGVyIGZvcm1hdC5cbiAqL1xuQFBpcGUoe1xuICBuYW1lOiAnYXR0cmlidXRlUGlwZScsXG59KVxuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0aGUgYXR0cmlidXRlIHRvIGEgYmV0dGVyIHByZXNlbnRhYmxlIGZvcm1hdC5cbiAgICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIGJlIHRyYW5zZm9ybWVkLlxuICAgKiBAcGFyYW0gYXJncyBBZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlLlxuICAgKi9cbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGFyZ3M/OiBhbnkpOiBhbnkge1xuICAgIGxldCB0cmFuc2Zvcm1lZFZhbHVlID0gJyc7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICB0cmFuc2Zvcm1lZFZhbHVlICs9ICdcXG4nO1xuICAgICAgdmFsdWUuZm9yRWFjaCgodikgPT4gKHRyYW5zZm9ybWVkVmFsdWUgKz0gdiArICdcXG4nKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyYW5zZm9ybWVkVmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgIH1cbiAgICByZXR1cm4gdHJhbnNmb3JtZWRWYWx1ZTtcbiAgfVxufVxuIl19
|
|
@@ -7,6 +7,10 @@ export var EventDataFormat;
|
|
|
7
7
|
EventDataFormat["ZIP"] = "ZIP";
|
|
8
8
|
})(EventDataFormat || (EventDataFormat = {}));
|
|
9
9
|
export class ImportOption {
|
|
10
|
+
format;
|
|
11
|
+
fileType;
|
|
12
|
+
handler;
|
|
13
|
+
accept;
|
|
10
14
|
constructor(format, fileType, handler, accept) {
|
|
11
15
|
this.format = format;
|
|
12
16
|
this.fileType = fileType;
|
|
@@ -14,4 +18,4 @@ export class ImportOption {
|
|
|
14
18
|
this.accept = accept;
|
|
15
19
|
}
|
|
16
20
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZGF0YS1pbXBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvc2VydmljZXMvZXh0cmFzL2V2ZW50LWRhdGEtaW1wb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGVBTVg7QUFORCxXQUFZLGVBQWU7SUFDekIsZ0NBQWEsQ0FBQTtJQUNiLDhDQUEyQixDQUFBO0lBQzNCLHNDQUFtQixDQUFBO0lBQ25CLDRCQUFTLENBQUE7SUFDVCw4QkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQU5XLGVBQWUsS0FBZixlQUFlLFFBTTFCO0FBSUQsTUFBTSxPQUFPLFlBQVk7SUFFZDtJQUNBO0lBQ0E7SUFDQTtJQUpULFlBQ1MsTUFBYyxFQUNkLFFBQWdCLEVBQ2hCLE9BQWtDLEVBQ2xDLE1BQWU7UUFIZixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixZQUFPLEdBQVAsT0FBTyxDQUEyQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFTO0lBQ3JCLENBQUM7Q0FDTCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEV2ZW50RGF0YUZvcm1hdCB7XG4gIEpTT04gPSAnSlNPTicsXG4gIEVETTRIRVBKU09OID0gJ0VETTRIRVBKU09OJyxcbiAgSklWRVhNTCA9ICdKSVZFWE1MJyxcbiAgSUcgPSAnSUcnLFxuICBaSVAgPSAnWklQJyxcbn1cblxuZXhwb3J0IHR5cGUgRXZlbnREYXRhSW1wb3J0T3B0aW9uID0gRXZlbnREYXRhRm9ybWF0IHwgSW1wb3J0T3B0aW9uO1xuXG5leHBvcnQgY2xhc3MgSW1wb3J0T3B0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGZvcm1hdDogc3RyaW5nLFxuICAgIHB1YmxpYyBmaWxlVHlwZTogc3RyaW5nLFxuICAgIHB1YmxpYyBoYW5kbGVyOiAoZmlsZXM6IEZpbGVMaXN0KSA9PiB2b2lkLFxuICAgIHB1YmxpYyBhY2NlcHQ/OiBzdHJpbmcsXG4gICkge31cbn1cbiJdfQ==
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import JSZip from 'jszip';
|
|
3
|
+
import { JiveXMLLoader } from 'phoenix-event-display';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Service makeing file loading easier
|
|
7
|
+
*/
|
|
8
|
+
export class FileLoaderService {
|
|
9
|
+
lastEventsURL = '';
|
|
10
|
+
lastEventsOptions = false;
|
|
11
|
+
async unzip(data) {
|
|
12
|
+
const archive = new JSZip();
|
|
13
|
+
await archive.loadAsync(data);
|
|
14
|
+
let fileData = '';
|
|
15
|
+
let multiFile = false;
|
|
16
|
+
for (const filePath in archive.files) {
|
|
17
|
+
if (multiFile) {
|
|
18
|
+
console.error('Zip archive contains more than one file. Ignoring all but first');
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
fileData = await archive.file(filePath).async('string');
|
|
22
|
+
multiFile = true;
|
|
23
|
+
}
|
|
24
|
+
return fileData;
|
|
25
|
+
}
|
|
26
|
+
// returns whether an error was found
|
|
27
|
+
makeRequest(urlPath, responseType, onData, options = {}) {
|
|
28
|
+
fetch(urlPath, options)
|
|
29
|
+
.then((res) => res[responseType]())
|
|
30
|
+
.then((data) => {
|
|
31
|
+
if (responseType === 'blob') {
|
|
32
|
+
data
|
|
33
|
+
.arrayBuffer()
|
|
34
|
+
.then((buf) => this.unzip(buf))
|
|
35
|
+
.then((d) => onData(d));
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
onData(data);
|
|
39
|
+
}
|
|
40
|
+
})
|
|
41
|
+
.catch((error) => {
|
|
42
|
+
console.error(error);
|
|
43
|
+
return true;
|
|
44
|
+
});
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
loadJSONEvent(eventData, eventDisplay) {
|
|
48
|
+
eventDisplay.parsePhoenixEvents(JSON.parse(eventData));
|
|
49
|
+
}
|
|
50
|
+
loadJiveXMLEvent(eventData, eventDisplay) {
|
|
51
|
+
const jiveXMLLoader = new JiveXMLLoader();
|
|
52
|
+
jiveXMLLoader.process(eventData);
|
|
53
|
+
const processedEventData = jiveXMLLoader.getEventData();
|
|
54
|
+
eventDisplay.buildEventDataFromJSON(processedEventData);
|
|
55
|
+
}
|
|
56
|
+
loadEvent(file, eventDisplay, options = {}) {
|
|
57
|
+
this.lastEventsURL = file;
|
|
58
|
+
this.lastEventsOptions = options;
|
|
59
|
+
const isZip = file.split('.').pop() === 'zip';
|
|
60
|
+
const rawfile = isZip ? file.substring(0, file.length - 4) : file;
|
|
61
|
+
return this.makeRequest(file, isZip ? 'blob' : 'text', (eventData) => {
|
|
62
|
+
switch (rawfile.split('.').pop()) {
|
|
63
|
+
case 'xml':
|
|
64
|
+
this.loadJiveXMLEvent(eventData, eventDisplay);
|
|
65
|
+
break;
|
|
66
|
+
case 'json':
|
|
67
|
+
this.loadJSONEvent(eventData, eventDisplay);
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
}, options);
|
|
71
|
+
}
|
|
72
|
+
reloadLastEvents(eventDisplay) {
|
|
73
|
+
if (this.lastEventsURL.length > 0) {
|
|
74
|
+
this.loadEvent(this.lastEventsURL, eventDisplay, this.lastEventsOptions);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
static ɵfac = function FileLoaderService_Factory(t) { return new (t || FileLoaderService)(); };
|
|
78
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FileLoaderService, factory: FileLoaderService.ɵfac, providedIn: 'root' });
|
|
79
|
+
}
|
|
80
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FileLoaderService, [{
|
|
81
|
+
type: Injectable,
|
|
82
|
+
args: [{
|
|
83
|
+
providedIn: 'root',
|
|
84
|
+
}]
|
|
85
|
+
}], null, null); })();
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1sb2FkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zZXJ2aWNlcy9maWxlLWxvYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFdEQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBQ3BCLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFDM0IsaUJBQWlCLEdBQVksS0FBSyxDQUFDO0lBRTNDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBaUI7UUFDM0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUM1QixNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN0QixLQUFLLE1BQU0sUUFBUSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLE9BQU8sQ0FBQyxLQUFLLENBQ1gsaUVBQWlFLENBQ2xFLENBQUM7Z0JBQ0YsTUFBTTtZQUNSLENBQUM7WUFDRCxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4RCxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQscUNBQXFDO0lBQ3JDLFdBQVcsQ0FDVCxPQUFlLEVBQ2YsWUFBc0MsRUFDdEMsTUFBMkIsRUFDM0IsVUFBZSxFQUFFO1FBRWpCLEtBQUss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QXpGVSxpQkFBaUI7Z0VBQWpCLGlCQUFpQixXQUFqQixpQkFBaUIsbUJBRmhCLE1BQU07O2lGQUVQLGlCQUFpQjtjQUg3QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgSlNaaXAgZnJvbSAnanN6aXAnO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4vZXZlbnQtZGlzcGxheS5zZXJ2aWNlJztcbmltcG9ydCB7IEppdmVYTUxMb2FkZXIgfSBmcm9tICdwaG9lbml4LWV2ZW50LWRpc3BsYXknO1xuXG4vKipcbiAqIFNlcnZpY2UgbWFrZWluZyBmaWxlIGxvYWRpbmcgZWFzaWVyXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlTG9hZGVyU2VydmljZSB7XG4gIHByaXZhdGUgbGFzdEV2ZW50c1VSTDogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgbGFzdEV2ZW50c09wdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBhc3luYyB1bnppcChkYXRhOiBBcnJheUJ1ZmZlcikge1xuICAgIGNvbnN0IGFyY2hpdmUgPSBuZXcgSlNaaXAoKTtcbiAgICBhd2FpdCBhcmNoaXZlLmxvYWRBc3luYyhkYXRhKTtcbiAgICBsZXQgZmlsZURhdGEgPSAnJztcbiAgICBsZXQgbXVsdGlGaWxlID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCBmaWxlUGF0aCBpbiBhcmNoaXZlLmZpbGVzKSB7XG4gICAgICBpZiAobXVsdGlGaWxlKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgJ1ppcCBhcmNoaXZlIGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZmlsZS4gSWdub3JpbmcgYWxsIGJ1dCBmaXJzdCcsXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZmlsZURhdGEgPSBhd2FpdCBhcmNoaXZlLmZpbGUoZmlsZVBhdGgpLmFzeW5jKCdzdHJpbmcnKTtcbiAgICAgIG11bHRpRmlsZSA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmaWxlRGF0YTtcbiAgfVxuXG4gIC8vIHJldHVybnMgd2hldGhlciBhbiBlcnJvciB3YXMgZm91bmRcbiAgbWFrZVJlcXVlc3QoXG4gICAgdXJsUGF0aDogc3RyaW5nLFxuICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nIHwgJ3RleHQnIHwgJ2Jsb2InLFxuICAgIG9uRGF0YTogKGRhdGE6IGFueSkgPT4gdm9pZCxcbiAgICBvcHRpb25zOiBhbnkgPSB7fSxcbiAgKSB7XG4gICAgZmV0Y2godXJsUGF0aCwgb3B0aW9ucylcbiAgICAgIC50aGVuKChyZXMpID0+IHJlc1tyZXNwb25zZVR5cGVdKCkpXG4gICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICBpZiAocmVzcG9uc2VUeXBlID09PSAnYmxvYicpIHtcbiAgICAgICAgICBkYXRhXG4gICAgICAgICAgICAuYXJyYXlCdWZmZXIoKVxuICAgICAgICAgICAgLnRoZW4oKGJ1ZikgPT4gdGhpcy51bnppcChidWYpKVxuICAgICAgICAgICAgLnRoZW4oKGQpID0+IG9uRGF0YShkKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb25EYXRhKGRhdGEpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBsb2FkSlNPTkV2ZW50KGV2ZW50RGF0YTogc3RyaW5nLCBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHtcbiAgICBldmVudERpc3BsYXkucGFyc2VQaG9lbml4RXZlbnRzKEpTT04ucGFyc2UoZXZlbnREYXRhKSk7XG4gIH1cblxuICBsb2FkSml2ZVhNTEV2ZW50KGV2ZW50RGF0YTogc3RyaW5nLCBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHtcbiAgICBjb25zdCBqaXZlWE1MTG9hZGVyID0gbmV3IEppdmVYTUxMb2FkZXIoKTtcbiAgICBqaXZlWE1MTG9hZGVyLnByb2Nlc3MoZXZlbnREYXRhKTtcbiAgICBjb25zdCBwcm9jZXNzZWRFdmVudERhdGEgPSBqaXZlWE1MTG9hZGVyLmdldEV2ZW50RGF0YSgpO1xuICAgIGV2ZW50RGlzcGxheS5idWlsZEV2ZW50RGF0YUZyb21KU09OKHByb2Nlc3NlZEV2ZW50RGF0YSk7XG4gIH1cblxuICBsb2FkRXZlbnQoXG4gICAgZmlsZTogc3RyaW5nLFxuICAgIGV2ZW50RGlzcGxheTogRXZlbnREaXNwbGF5U2VydmljZSxcbiAgICBvcHRpb25zOiBhbnkgPSB7fSxcbiAgKSB7XG4gICAgdGhpcy5sYXN0RXZlbnRzVVJMID0gZmlsZTtcbiAgICB0aGlzLmxhc3RFdmVudHNPcHRpb25zID0gb3B0aW9ucztcbiAgICBjb25zdCBpc1ppcCA9IGZpbGUuc3BsaXQoJy4nKS5wb3AoKSA9PT0gJ3ppcCc7XG4gICAgY29uc3QgcmF3ZmlsZSA9IGlzWmlwID8gZmlsZS5zdWJzdHJpbmcoMCwgZmlsZS5sZW5ndGggLSA0KSA6IGZpbGU7XG4gICAgcmV0dXJuIHRoaXMubWFrZVJlcXVlc3QoXG4gICAgICBmaWxlLFxuICAgICAgaXNaaXAgPyAnYmxvYicgOiAndGV4dCcsXG4gICAgICAoZXZlbnREYXRhKSA9PiB7XG4gICAgICAgIHN3aXRjaCAocmF3ZmlsZS5zcGxpdCgnLicpLnBvcCgpKSB7XG4gICAgICAgICAgY2FzZSAneG1sJzpcbiAgICAgICAgICAgIHRoaXMubG9hZEppdmVYTUxFdmVudChldmVudERhdGEsIGV2ZW50RGlzcGxheSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdqc29uJzpcbiAgICAgICAgICAgIHRoaXMubG9hZEpTT05FdmVudChldmVudERhdGEsIGV2ZW50RGlzcGxheSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgfVxuXG4gIHJlbG9hZExhc3RFdmVudHMoZXZlbnREaXNwbGF5OiBFdmVudERpc3BsYXlTZXJ2aWNlKSB7XG4gICAgaWYgKHRoaXMubGFzdEV2ZW50c1VSTC5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmxvYWRFdmVudCh0aGlzLmxhc3RFdmVudHNVUkwsIGV2ZW50RGlzcGxheSwgdGhpcy5sYXN0RXZlbnRzT3B0aW9ucyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
injector;
|
|
9
|
+
/**
|
|
10
|
+
* Instantiate the global error handler.
|
|
11
|
+
* @param injector Injector for getting the error message service.
|
|
12
|
+
*/
|
|
13
|
+
constructor(injector) {
|
|
14
|
+
this.injector = injector;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* A handler for handling the global error that occurs in the app.
|
|
18
|
+
* @param error The error that occurred.
|
|
19
|
+
*/
|
|
20
|
+
handleError(error) {
|
|
21
|
+
console.error('ERROR IN PHOENIX APP', '\n', error);
|
|
22
|
+
this.injector.get(ErrorMessageService).setError(error);
|
|
23
|
+
}
|
|
24
|
+
static ɵfac = function GlobalErrorHandler_Factory(t) { return new (t || GlobalErrorHandler)(i0.ɵɵinject(i0.Injector)); };
|
|
25
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: GlobalErrorHandler, factory: GlobalErrorHandler.ɵfac });
|
|
26
|
+
}
|
|
27
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GlobalErrorHandler, [{
|
|
28
|
+
type: Injectable
|
|
29
|
+
}], () => [{ type: i0.Injector }], null); })();
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWVycm9yLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc2VydmljZXMvZ2xvYmFsLWVycm9yLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRTlEOztHQUVHO0FBRUgsTUFBTSxPQUFPLGtCQUFrQjtJQUtUO0lBSnBCOzs7T0FHRztJQUNILFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRTFDOzs7T0FHRztJQUNILFdBQVcsQ0FBQyxLQUFZO1FBQ3RCLE9BQU8sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7NEVBZFUsa0JBQWtCO2dFQUFsQixrQkFBa0IsV0FBbEIsa0JBQWtCOztpRkFBbEIsa0JBQWtCO2NBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFcnJvckhhbmRsZXIsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9lcnJvci1tZXNzYWdlLXNlcnZpY2UnO1xuXG4vKipcbiAqIEdsb2JhbCBoYW5kbGVyIGZvciBoYW5kbGluZyBhcHAvbW9kdWxlIHdpZGUgZXJyb3JzLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR2xvYmFsRXJyb3JIYW5kbGVyIGltcGxlbWVudHMgRXJyb3JIYW5kbGVyIHtcbiAgLyoqXG4gICAqIEluc3RhbnRpYXRlIHRoZSBnbG9iYWwgZXJyb3IgaGFuZGxlci5cbiAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBnZXR0aW5nIHRoZSBlcnJvciBtZXNzYWdlIHNlcnZpY2UuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICAvKipcbiAgICogQSBoYW5kbGVyIGZvciBoYW5kbGluZyB0aGUgZ2xvYmFsIGVycm9yIHRoYXQgb2NjdXJzIGluIHRoZSBhcHAuXG4gICAqIEBwYXJhbSBlcnJvciBUaGUgZXJyb3IgdGhhdCBvY2N1cnJlZC5cbiAgICovXG4gIGhhbmRsZUVycm9yKGVycm9yOiBFcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0VSUk9SIElOIFBIT0VOSVggQVBQJywgJ1xcbicsIGVycm9yKTtcbiAgICB0aGlzLmluamVjdG9yLmdldChFcnJvck1lc3NhZ2VTZXJ2aWNlKS5zZXRFcnJvcihlcnJvcik7XG4gIH1cbn1cbiJdfQ==
|