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,197 @@
|
|
|
1
|
+
import { Component, Input, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { ResizeSensor } from 'css-element-queries';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/cdk/drag-drop";
|
|
6
|
+
import * as i3 from "@angular/material/tooltip";
|
|
7
|
+
const _c0 = ["overlayCard"];
|
|
8
|
+
const _c1 = ["resizeHandleCorner"];
|
|
9
|
+
const _c2 = ["*"];
|
|
10
|
+
const _c3 = a0 => ({ "with-body": a0 });
|
|
11
|
+
const _c4 = a0 => ({ expand: a0 });
|
|
12
|
+
const _c5 = a0 => ({ "transparent-bg": a0 });
|
|
13
|
+
function OverlayComponent_div_2_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
i0.ɵɵelementStart(0, "div", 11);
|
|
15
|
+
i0.ɵɵnamespaceSVG();
|
|
16
|
+
i0.ɵɵelementStart(1, "svg");
|
|
17
|
+
i0.ɵɵelement(2, "use");
|
|
18
|
+
i0.ɵɵelementEnd()();
|
|
19
|
+
} if (rf & 2) {
|
|
20
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
21
|
+
i0.ɵɵadvance(2);
|
|
22
|
+
i0.ɵɵattributeInterpolate2("href", "assets/icons/", ctx_r1.icon, ".svg#", ctx_r1.icon, "");
|
|
23
|
+
} }
|
|
24
|
+
function OverlayComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
26
|
+
i0.ɵɵelementStart(0, "div", 6);
|
|
27
|
+
i0.ɵɵtemplate(1, OverlayComponent_div_2_div_1_Template, 3, 3, "div", 7);
|
|
28
|
+
i0.ɵɵelementStart(2, "h5", 8);
|
|
29
|
+
i0.ɵɵtext(3);
|
|
30
|
+
i0.ɵɵelementEnd();
|
|
31
|
+
i0.ɵɵelementStart(4, "button", 9);
|
|
32
|
+
i0.ɵɵlistener("click", function OverlayComponent_div_2_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.showBody = !ctx_r1.showBody); });
|
|
33
|
+
i0.ɵɵnamespaceSVG();
|
|
34
|
+
i0.ɵɵelementStart(5, "svg");
|
|
35
|
+
i0.ɵɵelement(6, "use", 10);
|
|
36
|
+
i0.ɵɵelementEnd()()();
|
|
37
|
+
} if (rf & 2) {
|
|
38
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
39
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c3, ctx_r1.showBody));
|
|
40
|
+
i0.ɵɵadvance();
|
|
41
|
+
i0.ɵɵproperty("ngIf", ctx_r1.icon);
|
|
42
|
+
i0.ɵɵadvance(2);
|
|
43
|
+
i0.ɵɵtextInterpolate(ctx_r1.overlayTitle);
|
|
44
|
+
i0.ɵɵadvance();
|
|
45
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c4, ctx_r1.showBody));
|
|
46
|
+
} }
|
|
47
|
+
function OverlayComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
48
|
+
i0.ɵɵelementStart(0, "div", 12);
|
|
49
|
+
i0.ɵɵprojection(1);
|
|
50
|
+
i0.ɵɵelementEnd();
|
|
51
|
+
} if (rf & 2) {
|
|
52
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
53
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c5, ctx_r1.transparentBody));
|
|
54
|
+
} }
|
|
55
|
+
function OverlayComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
56
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
57
|
+
i0.ɵɵelementStart(0, "span", 13, 1);
|
|
58
|
+
i0.ɵɵlistener("cdkDragMoved", function OverlayComponent_span_4_Template_span_cdkDragMoved_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onResize()); });
|
|
59
|
+
i0.ɵɵelementEnd();
|
|
60
|
+
} if (rf & 2) {
|
|
61
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
62
|
+
i0.ɵɵproperty("hidden", !ctx_r1.showBody);
|
|
63
|
+
} }
|
|
64
|
+
/**
|
|
65
|
+
* Component for overlay panel.
|
|
66
|
+
*/
|
|
67
|
+
export class OverlayComponent {
|
|
68
|
+
/** Title of the overlay. */
|
|
69
|
+
overlayTitle;
|
|
70
|
+
/** If the overlay is open or not. */
|
|
71
|
+
active = false;
|
|
72
|
+
/** Icon of the overlay header. */
|
|
73
|
+
icon;
|
|
74
|
+
/** If the overlay is resizable. */
|
|
75
|
+
resizable = false;
|
|
76
|
+
/** If the overlay body is transparent or not. */
|
|
77
|
+
transparentBody = false;
|
|
78
|
+
/** If the aspect ratio is kept fixed or not. */
|
|
79
|
+
keepAspectRatioFixed = false;
|
|
80
|
+
/** If the overlay body is visible or not. */
|
|
81
|
+
showBody = true;
|
|
82
|
+
/** Aspect ratio of the overlay view. */
|
|
83
|
+
aspectRatio = window.innerWidth / window.innerHeight;
|
|
84
|
+
// ********************************************************************************
|
|
85
|
+
// * Below code is specific to the overlay resize feature. (LOOK INTO CSS RESIZE) *
|
|
86
|
+
// ********************************************************************************
|
|
87
|
+
/** Complete overlay card containing both header and body. */
|
|
88
|
+
overlayCard;
|
|
89
|
+
/** Handle for resizing the overlay. */
|
|
90
|
+
resizeHandleCorner;
|
|
91
|
+
/** Minimum resizable width. */
|
|
92
|
+
MIN_RES_WIDTH = 300;
|
|
93
|
+
/** Minimum resizable height */
|
|
94
|
+
MIN_RES_HEIGHT = 100;
|
|
95
|
+
/**
|
|
96
|
+
* Move the resizable handle to the bottom right after the component is created.
|
|
97
|
+
*/
|
|
98
|
+
ngAfterViewInit() {
|
|
99
|
+
if (this.resizable) {
|
|
100
|
+
const resizeHandleElement = this.resizeHandleCorner.nativeElement;
|
|
101
|
+
resizeHandleElement.style.bottom = '0';
|
|
102
|
+
resizeHandleElement.style.right = '0';
|
|
103
|
+
new ResizeSensor(this.overlayCard.nativeElement, () => {
|
|
104
|
+
this.resetHandlePosition();
|
|
105
|
+
});
|
|
106
|
+
window.addEventListener('resize', () => {
|
|
107
|
+
this.resetHandlePosition();
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Resize the overlay card when the resize handle is dragged.
|
|
113
|
+
*/
|
|
114
|
+
onResize() {
|
|
115
|
+
const resizeHandleElement = this.resizeHandleCorner.nativeElement;
|
|
116
|
+
const overlayCardElement = this.overlayCard.nativeElement;
|
|
117
|
+
const dragRect = resizeHandleElement.getBoundingClientRect();
|
|
118
|
+
const overlayRect = overlayCardElement.getBoundingClientRect();
|
|
119
|
+
const width = dragRect.left - overlayRect.left + dragRect.width;
|
|
120
|
+
const height = dragRect.top - overlayRect.top + dragRect.height;
|
|
121
|
+
this.setHandleTransform(overlayRect, dragRect);
|
|
122
|
+
if (width > this.MIN_RES_WIDTH && height > this.MIN_RES_HEIGHT) {
|
|
123
|
+
overlayCardElement.style.width = width + 'px';
|
|
124
|
+
if (this.keepAspectRatioFixed) {
|
|
125
|
+
overlayCardElement.style.height = width / this.aspectRatio + 30 + 'px';
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
overlayCardElement.style.height = height + 'px';
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Reset resize handle position.
|
|
134
|
+
*/
|
|
135
|
+
resetHandlePosition() {
|
|
136
|
+
const resizeHandleElement = this.resizeHandleCorner.nativeElement;
|
|
137
|
+
this.setHandleTransform(this.overlayCard.nativeElement.getBoundingClientRect(), resizeHandleElement.getBoundingClientRect());
|
|
138
|
+
resizeHandleElement.style.bottom = null;
|
|
139
|
+
resizeHandleElement.style.right = null;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Set the position of the resize handle using transform3d.
|
|
143
|
+
* @param overlayRect Bounding client rectangle of the overlay card.
|
|
144
|
+
* @param dragRect Bounding client rectangle of the resize handle.
|
|
145
|
+
*/
|
|
146
|
+
setHandleTransform(overlayRect, dragRect) {
|
|
147
|
+
const translateX = overlayRect.width - dragRect.width;
|
|
148
|
+
const translateY = overlayRect.height - dragRect.height;
|
|
149
|
+
this.resizeHandleCorner.nativeElement.style.transform = `translate3d(${translateX}px, ${translateY}px, 0)`;
|
|
150
|
+
}
|
|
151
|
+
static ɵfac = function OverlayComponent_Factory(t) { return new (t || OverlayComponent)(); };
|
|
152
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OverlayComponent, selectors: [["app-overlay"]], viewQuery: function OverlayComponent_Query(rf, ctx) { if (rf & 1) {
|
|
153
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
154
|
+
i0.ɵɵviewQuery(_c1, 5);
|
|
155
|
+
} if (rf & 2) {
|
|
156
|
+
let _t;
|
|
157
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.overlayCard = _t.first);
|
|
158
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.resizeHandleCorner = _t.first);
|
|
159
|
+
} }, inputs: { overlayTitle: "overlayTitle", active: "active", icon: "icon", resizable: "resizable", transparentBody: "transparentBody", keepAspectRatioFixed: "keepAspectRatioFixed" }, ngContentSelectors: _c2, decls: 5, vars: 4, consts: [["overlayCard", ""], ["resizeHandleCorner", ""], ["cdkDrag", "", "cdkDragBoundary", "body", 1, "overlay-card", "card", 3, "hidden"], ["class", "card-header d-flex justify-content-between", "cdkDragHandle", "", 3, "ngClass", 4, "ngIf"], ["class", "overlay-card-content", 3, "ngClass", 4, "ngIf"], ["class", "resize-handle corner", "cdkDrag", "", 3, "hidden", "cdkDragMoved", 4, "ngIf"], ["cdkDragHandle", "", 1, "card-header", "d-flex", "justify-content-between", 3, "ngClass"], ["class", "align-self-center card-icon", 4, "ngIf"], [1, "align-self-center", "m-0", "px-2"], ["matTooltip", "Expand / Collapse", "matTooltipPosition", "right", 1, "align-self-center", "card-icon", "btn-blank", "expandCollapse", 3, "click", "ngClass"], ["href", "assets/icons/expand.svg#expand"], [1, "align-self-center", "card-icon"], [1, "overlay-card-content", 3, "ngClass"], ["cdkDrag", "", 1, "resize-handle", "corner", 3, "cdkDragMoved", "hidden"]], template: function OverlayComponent_Template(rf, ctx) { if (rf & 1) {
|
|
160
|
+
i0.ɵɵprojectionDef();
|
|
161
|
+
i0.ɵɵelementStart(0, "div", 2, 0);
|
|
162
|
+
i0.ɵɵtemplate(2, OverlayComponent_div_2_Template, 7, 8, "div", 3)(3, OverlayComponent_div_3_Template, 2, 3, "div", 4)(4, OverlayComponent_span_4_Template, 2, 1, "span", 5);
|
|
163
|
+
i0.ɵɵelementEnd();
|
|
164
|
+
} if (rf & 2) {
|
|
165
|
+
i0.ɵɵproperty("hidden", !ctx.active);
|
|
166
|
+
i0.ɵɵadvance(2);
|
|
167
|
+
i0.ɵɵproperty("ngIf", ctx.overlayTitle);
|
|
168
|
+
i0.ɵɵadvance();
|
|
169
|
+
i0.ɵɵproperty("ngIf", ctx.showBody);
|
|
170
|
+
i0.ɵɵadvance();
|
|
171
|
+
i0.ɵɵproperty("ngIf", ctx.resizable);
|
|
172
|
+
} }, dependencies: [i1.NgClass, i1.NgIf, i2.CdkDrag, i2.CdkDragHandle, i3.MatTooltip], styles: [".overlay-card.card{color:var(--phoenix-text-color);background:none;max-width:100vw;font-size:12px;min-width:300px;height:100%;max-height:70vh;box-shadow:none;border:none;position:relative;z-index:200}.overlay-card.card .card-header{width:12rem;background:var(--phoenix-background-color-secondary);box-shadow:var(--phoenix-box-shadow);padding:.4rem .8rem;border-radius:10px;border:none;cursor:move;text-align:center;transition:all .2s}.overlay-card.card .card-header.with-body{border-bottom-left-radius:0;border-bottom-right-radius:0}.overlay-card.card .card-header .card-icon{display:flex;height:.7rem;width:.7rem}.overlay-card.card .card-header h5{font-size:.9rem}.overlay-card.card .card-header .expandCollapse{cursor:pointer;transition:all .2s}.overlay-card.card .card-header .expandCollapse.expand{transform:scaleY(-1)}.overlay-card.card .card-header .expandCollapse svg{width:100%;height:100%}.overlay-card.card .overlay-card-content{background:var(--phoenix-background-color-secondary);box-shadow:var(--phoenix-box-shadow);border-radius:0 10px 10px;overflow:auto;height:100%}.overlay-card.card .overlay-card-content.transparent-bg{background:none}.overlay-card.card .list-group{color:var(--phoenix-text-color-secondary);background:var(--phoenix-background-color-secondary);max-height:40vh;overflow:auto}.overlay-card.card .list-group .list-group-item{background-color:var(--phoenix-background-color-secondary);border-color:var(--phoenix-border)}.overlay-card.card .resize-handle{width:1rem;height:1rem;cursor:nwse-resize;position:absolute}.overlay-card.card .resize-handle.corner{border-right:.2rem solid var(--phoenix-text-color);border-bottom:.2rem solid var(--phoenix-text-color)}\n"], encapsulation: 2 });
|
|
173
|
+
}
|
|
174
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OverlayComponent, [{
|
|
175
|
+
type: Component,
|
|
176
|
+
args: [{ selector: 'app-overlay', encapsulation: ViewEncapsulation.None, template: "<div\n #overlayCard\n class=\"overlay-card card\"\n [hidden]=\"!active\"\n cdkDrag\n cdkDragBoundary=\"body\"\n>\n <div\n class=\"card-header d-flex justify-content-between\"\n [ngClass]=\"{ 'with-body': showBody }\"\n cdkDragHandle\n *ngIf=\"overlayTitle\"\n >\n <div class=\"align-self-center card-icon\" *ngIf=\"icon\">\n <svg>\n <use attr.href=\"assets/icons/{{ icon }}.svg#{{ icon }}\"></use>\n </svg>\n </div>\n <h5 class=\"align-self-center m-0 px-2\">{{ overlayTitle }}</h5>\n <button\n class=\"align-self-center card-icon btn-blank expandCollapse\"\n matTooltip=\"Expand / Collapse\"\n matTooltipPosition=\"right\"\n [ngClass]=\"{ expand: showBody }\"\n (click)=\"showBody = !showBody\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n </div>\n <div\n class=\"overlay-card-content\"\n *ngIf=\"showBody\"\n [ngClass]=\"{ 'transparent-bg': transparentBody }\"\n >\n <ng-content></ng-content>\n </div>\n <!-- Making the overlay resizable -->\n <span\n #resizeHandleCorner\n class=\"resize-handle corner\"\n *ngIf=\"resizable\"\n [hidden]=\"!showBody\"\n cdkDrag\n (cdkDragMoved)=\"onResize()\"\n ></span>\n</div>\n", styles: [".overlay-card.card{color:var(--phoenix-text-color);background:none;max-width:100vw;font-size:12px;min-width:300px;height:100%;max-height:70vh;box-shadow:none;border:none;position:relative;z-index:200}.overlay-card.card .card-header{width:12rem;background:var(--phoenix-background-color-secondary);box-shadow:var(--phoenix-box-shadow);padding:.4rem .8rem;border-radius:10px;border:none;cursor:move;text-align:center;transition:all .2s}.overlay-card.card .card-header.with-body{border-bottom-left-radius:0;border-bottom-right-radius:0}.overlay-card.card .card-header .card-icon{display:flex;height:.7rem;width:.7rem}.overlay-card.card .card-header h5{font-size:.9rem}.overlay-card.card .card-header .expandCollapse{cursor:pointer;transition:all .2s}.overlay-card.card .card-header .expandCollapse.expand{transform:scaleY(-1)}.overlay-card.card .card-header .expandCollapse svg{width:100%;height:100%}.overlay-card.card .overlay-card-content{background:var(--phoenix-background-color-secondary);box-shadow:var(--phoenix-box-shadow);border-radius:0 10px 10px;overflow:auto;height:100%}.overlay-card.card .overlay-card-content.transparent-bg{background:none}.overlay-card.card .list-group{color:var(--phoenix-text-color-secondary);background:var(--phoenix-background-color-secondary);max-height:40vh;overflow:auto}.overlay-card.card .list-group .list-group-item{background-color:var(--phoenix-background-color-secondary);border-color:var(--phoenix-border)}.overlay-card.card .resize-handle{width:1rem;height:1rem;cursor:nwse-resize;position:absolute}.overlay-card.card .resize-handle.corner{border-right:.2rem solid var(--phoenix-text-color);border-bottom:.2rem solid var(--phoenix-text-color)}\n"] }]
|
|
177
|
+
}], null, { overlayTitle: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], active: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], icon: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], resizable: [{
|
|
184
|
+
type: Input
|
|
185
|
+
}], transparentBody: [{
|
|
186
|
+
type: Input
|
|
187
|
+
}], keepAspectRatioFixed: [{
|
|
188
|
+
type: Input
|
|
189
|
+
}], overlayCard: [{
|
|
190
|
+
type: ViewChild,
|
|
191
|
+
args: ['overlayCard']
|
|
192
|
+
}], resizeHandleCorner: [{
|
|
193
|
+
type: ViewChild,
|
|
194
|
+
args: ['resizeHandleCorner']
|
|
195
|
+
}] }); })();
|
|
196
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OverlayComponent, { className: "OverlayComponent", filePath: "components/ui-menu/overlay/overlay.component.ts", lineNumber: 20 }); })();
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L292ZXJsYXkvb3ZlcmxheS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L292ZXJsYXkvb3ZlcmxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7O0lDSy9DLCtCQUFzRDs7SUFDcEQsMkJBQUs7SUFDSCxzQkFBOEQ7SUFFbEUsQUFERSxpQkFBTSxFQUNGOzs7SUFGRyxlQUFrRDtJQUFsRCwwRkFBa0Q7Ozs7SUFSN0QsOEJBS0M7SUFDQyx1RUFBc0Q7SUFLdEQsNkJBQXVDO0lBQUEsWUFBa0I7SUFBQSxpQkFBSztJQUM5RCxpQ0FNQztJQURDLG1OQUE4Qjs7SUFFOUIsMkJBQUs7SUFDSCwwQkFBaUQ7SUFHdkQsQUFERSxBQURFLGlCQUFNLEVBQ0MsRUFDTDs7O0lBckJKLHFFQUFxQztJQUlLLGNBQVU7SUFBVixrQ0FBVTtJQUtiLGVBQWtCO0lBQWxCLHlDQUFrQjtJQUt2RCxjQUFnQztJQUFoQyxxRUFBZ0M7OztJQVFwQywrQkFJQztJQUNDLGtCQUF5QjtJQUMzQixpQkFBTTs7O0lBSEosNEVBQWlEOzs7O0lBS25ELG1DQU9DO0lBREMseUxBQWdCLGlCQUFVLEtBQUM7SUFDNUIsaUJBQU87OztJQUhOLHlDQUFvQjs7QURqQ3hCOztHQUVHO0FBT0gsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQiw0QkFBNEI7SUFDbkIsWUFBWSxDQUFTO0lBQzlCLHFDQUFxQztJQUM1QixNQUFNLEdBQVksS0FBSyxDQUFDO0lBQ2pD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QnBCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXNpemVTZW5zb3IgfSBmcm9tICdjc3MtZWxlbWVudC1xdWVyaWVzJztcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIG92ZXJsYXkgcGFuZWwuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1vdmVybGF5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL292ZXJsYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vdmVybGF5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE92ZXJsYXlDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqIFRpdGxlIG9mIHRoZSBvdmVybGF5LiAqL1xuICBASW5wdXQoKSBvdmVybGF5VGl0bGU6IHN0cmluZztcbiAgLyoqIElmIHRoZSBvdmVybGF5IGlzIG9wZW4gb3Igbm90LiAqL1xuICBASW5wdXQoKSBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqIEljb24gb2YgdGhlIG92ZXJsYXkgaGVhZGVyLiAqL1xuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG4gIC8qKiBJZiB0aGUgb3ZlcmxheSBpcyByZXNpemFibGUuICovXG4gIEBJbnB1dCgpIHJlc2l6YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAvKiogSWYgdGhlIG92ZXJsYXkgYm9keSBpcyB0cmFuc3BhcmVudCBvciBub3QuICovXG4gIEBJbnB1dCgpIHRyYW5zcGFyZW50Qm9keTogYm9vbGVhbiA9IGZhbHNlO1xuICAvKiogSWYgdGhlIGFzcGVjdCByYXRpbyBpcyBrZXB0IGZpeGVkIG9yIG5vdC4gKi9cbiAgQElucHV0KCkga2VlcEFzcGVjdFJhdGlvRml4ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqIElmIHRoZSBvdmVybGF5IGJvZHkgaXMgdmlzaWJsZSBvciBub3QuICovXG4gIHNob3dCb2R5OiBib29sZWFuID0gdHJ1ZTtcbiAgLyoqIEFzcGVjdCByYXRpbyBvZiB0aGUgb3ZlcmxheSB2aWV3LiAqL1xuICBhc3BlY3RSYXRpbzogbnVtYmVyID0gd2luZG93LmlubmVyV2lkdGggLyB3aW5kb3cuaW5uZXJIZWlnaHQ7XG5cbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgLy8gKiBCZWxvdyBjb2RlIGlzIHNwZWNpZmljIHRvIHRoZSBvdmVybGF5IHJlc2l6ZSBmZWF0dXJlLiAoTE9PSyBJTlRPIENTUyBSRVNJWkUpICpcbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuICAvKiogQ29tcGxldGUgb3ZlcmxheSBjYXJkIGNvbnRhaW5pbmcgYm90aCBoZWFkZXIgYW5kIGJvZHkuICovXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlDYXJkJykgb3ZlcmxheUNhcmQ6IEVsZW1lbnRSZWY7XG4gIC8qKiBIYW5kbGUgZm9yIHJlc2l6aW5nIHRoZSBvdmVybGF5LiAqL1xuICBAVmlld0NoaWxkKCdyZXNpemVIYW5kbGVDb3JuZXInKSByZXNpemVIYW5kbGVDb3JuZXI6IEVsZW1lbnRSZWY7XG4gIC8qKiBNaW5pbXVtIHJlc2l6YWJsZSB3aWR0aC4gKi9cbiAgcHJpdmF0ZSBNSU5fUkVTX1dJRFRIOiBudW1iZXIgPSAzMDA7XG4gIC8qKiBNaW5pbXVtIHJlc2l6YWJsZSBoZWlnaHQgKi9cbiAgcHJpdmF0ZSBNSU5fUkVTX0hFSUdIVDogbnVtYmVyID0gMTAwO1xuXG4gIC8qKlxuICAgKiBNb3ZlIHRoZSByZXNpemFibGUgaGFuZGxlIHRvIHRoZSBib3R0b20gcmlnaHQgYWZ0ZXIgdGhlIGNvbXBvbmVudCBpcyBjcmVhdGVkLlxuICAgKi9cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLnJlc2l6YWJsZSkge1xuICAgICAgY29uc3QgcmVzaXplSGFuZGxlRWxlbWVudCA9IHRoaXMucmVzaXplSGFuZGxlQ29ybmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICByZXNpemVIYW5kbGVFbGVtZW50LnN0eWxlLmJvdHRvbSA9ICcwJztcbiAgICAgIHJlc2l6ZUhhbmRsZUVsZW1lbnQuc3R5bGUucmlnaHQgPSAnMCc7XG5cbiAgICAgIG5ldyBSZXNpemVTZW5zb3IodGhpcy5vdmVybGF5Q2FyZC5uYXRpdmVFbGVtZW50LCAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVzZXRIYW5kbGVQb3NpdGlvbigpO1xuICAgICAgfSk7XG5cbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVzZXRIYW5kbGVQb3NpdGlvbigpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc2l6ZSB0aGUgb3ZlcmxheSBjYXJkIHdoZW4gdGhlIHJlc2l6ZSBoYW5kbGUgaXMgZHJhZ2dlZC5cbiAgICovXG4gIG9uUmVzaXplKCkge1xuICAgIGNvbnN0IHJlc2l6ZUhhbmRsZUVsZW1lbnQgPSB0aGlzLnJlc2l6ZUhhbmRsZUNvcm5lci5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IG92ZXJsYXlDYXJkRWxlbWVudCA9IHRoaXMub3ZlcmxheUNhcmQubmF0aXZlRWxlbWVudDtcblxuICAgIGNvbnN0IGRyYWdSZWN0ID0gcmVzaXplSGFuZGxlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBvdmVybGF5UmVjdCA9IG92ZXJsYXlDYXJkRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IHdpZHRoID0gZHJhZ1JlY3QubGVmdCAtIG92ZXJsYXlSZWN0LmxlZnQgKyBkcmFnUmVjdC53aWR0aDtcbiAgICBjb25zdCBoZWlnaHQgPSBkcmFnUmVjdC50b3AgLSBvdmVybGF5UmVjdC50b3AgKyBkcmFnUmVjdC5oZWlnaHQ7XG5cbiAgICB0aGlzLnNldEhhbmRsZVRyYW5zZm9ybShvdmVybGF5UmVjdCwgZHJhZ1JlY3QpO1xuXG4gICAgaWYgKHdpZHRoID4gdGhpcy5NSU5fUkVTX1dJRFRIICYmIGhlaWdodCA+IHRoaXMuTUlOX1JFU19IRUlHSFQpIHtcbiAgICAgIG92ZXJsYXlDYXJkRWxlbWVudC5zdHlsZS53aWR0aCA9IHdpZHRoICsgJ3B4JztcbiAgICAgIGlmICh0aGlzLmtlZXBBc3BlY3RSYXRpb0ZpeGVkKSB7XG4gICAgICAgIG92ZXJsYXlDYXJkRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB3aWR0aCAvIHRoaXMuYXNwZWN0UmF0aW8gKyAzMCArICdweCc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdmVybGF5Q2FyZEVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0ICsgJ3B4JztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVzZXQgcmVzaXplIGhhbmRsZSBwb3NpdGlvbi5cbiAgICovXG4gIHJlc2V0SGFuZGxlUG9zaXRpb24oKSB7XG4gICAgY29uc3QgcmVzaXplSGFuZGxlRWxlbWVudCA9IHRoaXMucmVzaXplSGFuZGxlQ29ybmVyLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0aGlzLnNldEhhbmRsZVRyYW5zZm9ybShcbiAgICAgIHRoaXMub3ZlcmxheUNhcmQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxcbiAgICAgIHJlc2l6ZUhhbmRsZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgKTtcblxuICAgIHJlc2l6ZUhhbmRsZUVsZW1lbnQuc3R5bGUuYm90dG9tID0gbnVsbDtcbiAgICByZXNpemVIYW5kbGVFbGVtZW50LnN0eWxlLnJpZ2h0ID0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSByZXNpemUgaGFuZGxlIHVzaW5nIHRyYW5zZm9ybTNkLlxuICAgKiBAcGFyYW0gb3ZlcmxheVJlY3QgQm91bmRpbmcgY2xpZW50IHJlY3RhbmdsZSBvZiB0aGUgb3ZlcmxheSBjYXJkLlxuICAgKiBAcGFyYW0gZHJhZ1JlY3QgQm91bmRpbmcgY2xpZW50IHJlY3RhbmdsZSBvZiB0aGUgcmVzaXplIGhhbmRsZS5cbiAgICovXG4gIHByaXZhdGUgc2V0SGFuZGxlVHJhbnNmb3JtKG92ZXJsYXlSZWN0OiBhbnksIGRyYWdSZWN0OiBhbnkpIHtcbiAgICBjb25zdCB0cmFuc2xhdGVYID0gb3ZlcmxheVJlY3Qud2lkdGggLSBkcmFnUmVjdC53aWR0aDtcbiAgICBjb25zdCB0cmFuc2xhdGVZID0gb3ZlcmxheVJlY3QuaGVpZ2h0IC0gZHJhZ1JlY3QuaGVpZ2h0O1xuICAgIHRoaXMucmVzaXplSGFuZGxlQ29ybmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZTNkKCR7dHJhbnNsYXRlWH1weCwgJHt0cmFuc2xhdGVZfXB4LCAwKWA7XG4gIH1cbn1cbiIsIjxkaXZcbiAgI292ZXJsYXlDYXJkXG4gIGNsYXNzPVwib3ZlcmxheS1jYXJkIGNhcmRcIlxuICBbaGlkZGVuXT1cIiFhY3RpdmVcIlxuICBjZGtEcmFnXG4gIGNka0RyYWdCb3VuZGFyeT1cImJvZHlcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjYXJkLWhlYWRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIlxuICAgIFtuZ0NsYXNzXT1cInsgJ3dpdGgtYm9keSc6IHNob3dCb2R5IH1cIlxuICAgIGNka0RyYWdIYW5kbGVcbiAgICAqbmdJZj1cIm92ZXJsYXlUaXRsZVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiYWxpZ24tc2VsZi1jZW50ZXIgY2FyZC1pY29uXCIgKm5nSWY9XCJpY29uXCI+XG4gICAgICA8c3ZnPlxuICAgICAgICA8dXNlIGF0dHIuaHJlZj1cImFzc2V0cy9pY29ucy97eyBpY29uIH19LnN2ZyN7eyBpY29uIH19XCI+PC91c2U+XG4gICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgICA8aDUgY2xhc3M9XCJhbGlnbi1zZWxmLWNlbnRlciBtLTAgcHgtMlwiPnt7IG92ZXJsYXlUaXRsZSB9fTwvaDU+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJhbGlnbi1zZWxmLWNlbnRlciBjYXJkLWljb24gYnRuLWJsYW5rIGV4cGFuZENvbGxhcHNlXCJcbiAgICAgIG1hdFRvb2x0aXA9XCJFeHBhbmQgLyBDb2xsYXBzZVwiXG4gICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiXG4gICAgICBbbmdDbGFzc109XCJ7IGV4cGFuZDogc2hvd0JvZHkgfVwiXG4gICAgICAoY2xpY2spPVwic2hvd0JvZHkgPSAhc2hvd0JvZHlcIlxuICAgID5cbiAgICAgIDxzdmc+XG4gICAgICAgIDx1c2UgaHJlZj1cImFzc2V0cy9pY29ucy9leHBhbmQuc3ZnI2V4cGFuZFwiPjwvdXNlPlxuICAgICAgPC9zdmc+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJvdmVybGF5LWNhcmQtY29udGVudFwiXG4gICAgKm5nSWY9XCJzaG93Qm9keVwiXG4gICAgW25nQ2xhc3NdPVwieyAndHJhbnNwYXJlbnQtYmcnOiB0cmFuc3BhcmVudEJvZHkgfVwiXG4gID5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8IS0tIE1ha2luZyB0aGUgb3ZlcmxheSByZXNpemFibGUgLS0+XG4gIDxzcGFuXG4gICAgI3Jlc2l6ZUhhbmRsZUNvcm5lclxuICAgIGNsYXNzPVwicmVzaXplLWhhbmRsZSBjb3JuZXJcIlxuICAgICpuZ0lmPVwicmVzaXphYmxlXCJcbiAgICBbaGlkZGVuXT1cIiFzaG93Qm9keVwiXG4gICAgY2RrRHJhZ1xuICAgIChjZGtEcmFnTW92ZWQpPVwib25SZXNpemUoKVwiXG4gID48L3NwYW4+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Component, ViewChild, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../../../services/event-display.service";
|
|
4
|
+
import * as i2 from "@angular/material/tooltip";
|
|
5
|
+
import * as i3 from "../../menu-toggle/menu-toggle.component";
|
|
6
|
+
import * as i4 from "../../overlay/overlay.component";
|
|
7
|
+
const _c0 = ["overlayWindow"];
|
|
8
|
+
export class OverlayViewWindowComponent {
|
|
9
|
+
eventDisplay;
|
|
10
|
+
showOverlay = true;
|
|
11
|
+
transparentBody = false;
|
|
12
|
+
orthographicView = false;
|
|
13
|
+
overlayViewFixed = false;
|
|
14
|
+
overlayWindow;
|
|
15
|
+
constructor(eventDisplay) {
|
|
16
|
+
this.eventDisplay = eventDisplay;
|
|
17
|
+
}
|
|
18
|
+
ngAfterViewInit() {
|
|
19
|
+
const canvas = this.initializeCanvas(this.overlayWindow.nativeElement);
|
|
20
|
+
this.eventDisplay.setOverlayRenderer(canvas);
|
|
21
|
+
}
|
|
22
|
+
initializeCanvas(canvas) {
|
|
23
|
+
const width = window.innerWidth / 2.5;
|
|
24
|
+
const height = window.innerHeight / 2.5;
|
|
25
|
+
canvas.width = width;
|
|
26
|
+
canvas.height = height;
|
|
27
|
+
canvas.style.width = width.toString() + ' px';
|
|
28
|
+
canvas.style.height = height.toString() + ' px';
|
|
29
|
+
return canvas;
|
|
30
|
+
}
|
|
31
|
+
switchOverlayView() {
|
|
32
|
+
this.orthographicView = !this.orthographicView;
|
|
33
|
+
this.eventDisplay
|
|
34
|
+
.getUIManager()
|
|
35
|
+
.toggleOrthographicView(this.orthographicView);
|
|
36
|
+
}
|
|
37
|
+
fixOverlayView() {
|
|
38
|
+
this.overlayViewFixed = !this.overlayViewFixed;
|
|
39
|
+
this.eventDisplay.fixOverlayView(this.overlayViewFixed);
|
|
40
|
+
}
|
|
41
|
+
toggleBgTransparency() {
|
|
42
|
+
this.transparentBody = !this.transparentBody;
|
|
43
|
+
}
|
|
44
|
+
static ɵfac = function OverlayViewWindowComponent_Factory(t) { return new (t || OverlayViewWindowComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService)); };
|
|
45
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OverlayViewWindowComponent, selectors: [["app-overlay-view-window"]], viewQuery: function OverlayViewWindowComponent_Query(rf, ctx) { if (rf & 1) {
|
|
46
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
47
|
+
} if (rf & 2) {
|
|
48
|
+
let _t;
|
|
49
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.overlayWindow = _t.first);
|
|
50
|
+
} }, inputs: { showOverlay: "showOverlay" }, decls: 8, vars: 9, consts: [["overlayWindow", ""], ["overlayTitle", "Overlay View", "icon", "overlay", 3, "resizable", "transparentBody", "active", "keepAspectRatioFixed"], [1, "overlay-view-wrapper"], ["id", "overlay-canvas", 3, "hidden"], [1, "overlay-view-controls", "position-absolute", "d-flex", "flex-row"], ["icon", "transparent", "matTooltip", "Toggle background transparency", 1, "overlay-view-control", 3, "click"], ["icon", "move-lock", 1, "overlay-view-control", 3, "click", "matTooltip", "active"], [1, "overlay-view-control", 3, "click", "icon", "matTooltip"]], template: function OverlayViewWindowComponent_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
52
|
+
i0.ɵɵelementStart(0, "app-overlay", 1)(1, "div", 2);
|
|
53
|
+
i0.ɵɵelement(2, "canvas", 3, 0);
|
|
54
|
+
i0.ɵɵelementStart(4, "div", 4)(5, "app-menu-toggle", 5);
|
|
55
|
+
i0.ɵɵlistener("click", function OverlayViewWindowComponent_Template_app_menu_toggle_click_5_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleBgTransparency()); });
|
|
56
|
+
i0.ɵɵelementEnd();
|
|
57
|
+
i0.ɵɵelementStart(6, "app-menu-toggle", 6);
|
|
58
|
+
i0.ɵɵlistener("click", function OverlayViewWindowComponent_Template_app_menu_toggle_click_6_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.fixOverlayView()); });
|
|
59
|
+
i0.ɵɵelementEnd();
|
|
60
|
+
i0.ɵɵelementStart(7, "app-menu-toggle", 7);
|
|
61
|
+
i0.ɵɵlistener("click", function OverlayViewWindowComponent_Template_app_menu_toggle_click_7_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.switchOverlayView()); });
|
|
62
|
+
i0.ɵɵelementEnd()()()();
|
|
63
|
+
} if (rf & 2) {
|
|
64
|
+
i0.ɵɵproperty("resizable", true)("transparentBody", ctx.transparentBody)("active", ctx.showOverlay)("keepAspectRatioFixed", true);
|
|
65
|
+
i0.ɵɵadvance(2);
|
|
66
|
+
i0.ɵɵproperty("hidden", !ctx.showOverlay);
|
|
67
|
+
i0.ɵɵadvance(4);
|
|
68
|
+
i0.ɵɵproperty("matTooltip", (ctx.overlayViewFixed ? "Restore" : "Fix") + " overlay view")("active", ctx.overlayViewFixed);
|
|
69
|
+
i0.ɵɵadvance();
|
|
70
|
+
i0.ɵɵproperty("icon", ctx.orthographicView ? "orthographic" : "perspective")("matTooltip", "Switch to " + (ctx.orthographicView ? "orthographic" : "perspective") + " view");
|
|
71
|
+
} }, dependencies: [i2.MatTooltip, i3.MenuToggleComponent, i4.OverlayComponent], styles: ["#overlay-canvas[_ngcontent-%COMP%]{background-color:#0000001a;width:100%}.overlay-view-controls[_ngcontent-%COMP%]{bottom:1em;right:1em;opacity:0;transition:opacity .2s}.overlay-view-controls[_ngcontent-%COMP%] .overlay-view-control[_ngcontent-%COMP%]{background:var(--phoenix-background-color-secondary);box-shadow:var(--phoenix-box-shadow);overflow:hidden;width:2.5rem;height:2.5rem;border-radius:50%;display:flex;justify-content:center;align-items:center}.overlay-view-wrapper[_ngcontent-%COMP%]:hover .overlay-view-controls[_ngcontent-%COMP%]{opacity:1;transition:opacity .2s}"] });
|
|
72
|
+
}
|
|
73
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OverlayViewWindowComponent, [{
|
|
74
|
+
type: Component,
|
|
75
|
+
args: [{ selector: 'app-overlay-view-window', template: "<app-overlay\n overlayTitle=\"Overlay View\"\n icon=\"overlay\"\n [resizable]=\"true\"\n [transparentBody]=\"transparentBody\"\n [active]=\"showOverlay\"\n [keepAspectRatioFixed]=\"true\"\n>\n <div class=\"overlay-view-wrapper\">\n <canvas #overlayWindow id=\"overlay-canvas\" [hidden]=\"!showOverlay\">\n </canvas>\n <div class=\"overlay-view-controls position-absolute d-flex flex-row\">\n <app-menu-toggle\n class=\"overlay-view-control\"\n icon=\"transparent\"\n matTooltip=\"Toggle background transparency\"\n (click)=\"toggleBgTransparency()\"\n >\n </app-menu-toggle>\n <app-menu-toggle\n class=\"overlay-view-control\"\n icon=\"move-lock\"\n [matTooltip]=\"(overlayViewFixed ? 'Restore' : 'Fix') + ' overlay view'\"\n [active]=\"overlayViewFixed\"\n (click)=\"fixOverlayView()\"\n >\n </app-menu-toggle>\n <app-menu-toggle\n class=\"overlay-view-control\"\n [icon]=\"orthographicView ? 'orthographic' : 'perspective'\"\n [matTooltip]=\"\n 'Switch to ' +\n (orthographicView ? 'orthographic' : 'perspective') +\n ' view'\n \"\n (click)=\"switchOverlayView()\"\n >\n </app-menu-toggle>\n </div>\n </div>\n</app-overlay>\n", styles: ["#overlay-canvas{background-color:#0000001a;width:100%}.overlay-view-controls{bottom:1em;right:1em;opacity:0;transition:opacity .2s}.overlay-view-controls .overlay-view-control{background:var(--phoenix-background-color-secondary);box-shadow:var(--phoenix-box-shadow);overflow:hidden;width:2.5rem;height:2.5rem;border-radius:50%;display:flex;justify-content:center;align-items:center}.overlay-view-wrapper:hover .overlay-view-controls{opacity:1;transition:opacity .2s}\n"] }]
|
|
76
|
+
}], () => [{ type: i1.EventDisplayService }], { showOverlay: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], overlayWindow: [{
|
|
79
|
+
type: ViewChild,
|
|
80
|
+
args: ['overlayWindow']
|
|
81
|
+
}] }); })();
|
|
82
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OverlayViewWindowComponent, { className: "OverlayViewWindowComponent", filePath: "components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.ts", lineNumber: 10 }); })();
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS12aWV3LXdpbmRvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L292ZXJsYXktdmlldy9vdmVybGF5LXZpZXctd2luZG93L292ZXJsYXktdmlldy13aW5kb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvdWktbWVudS9vdmVybGF5LXZpZXcvb3ZlcmxheS12aWV3LXdpbmRvdy9vdmVybGF5LXZpZXctd2luZG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFTM0UsTUFBTSxPQUFPLDBCQUEwQjtJQU9qQjtJQU5YLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDNUIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDekIsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ0csYUFBYSxDQUFnQztJQUV6RSxZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7SUFBRyxDQUFDO0lBRXpELGVBQWU7UUFDYixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUF5QjtRQUN4QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztRQUN0QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUN4QyxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNyQixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN2QixNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDaEQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUMvQyxJQUFJLENBQUMsWUFBWTthQUNkLFlBQVksRUFBRTthQUNkLHNCQUFzQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQy9DLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDL0MsQ0FBQztvRkF0Q1UsMEJBQTBCOzZEQUExQiwwQkFBMEI7Ozs7Ozs7WUNEckMsQUFSRixzQ0FPQyxhQUNtQztZQUNoQywrQkFDUztZQUVQLEFBREYsOEJBQXFFLHlCQU1sRTtZQURDLHNKQUFTLDBCQUFzQixLQUFDO1lBRWxDLGlCQUFrQjtZQUNsQiwwQ0FNQztZQURDLHNKQUFTLG9CQUFnQixLQUFDO1lBRTVCLGlCQUFrQjtZQUNsQiwwQ0FTQztZQURDLHNKQUFTLHVCQUFtQixLQUFDO1lBS3JDLEFBREUsQUFERSxBQURFLGlCQUFrQixFQUNkLEVBQ0YsRUFDTTs7WUFsQ1osQUFEQSxBQURBLEFBREEsZ0NBQWtCLHdDQUNpQiwyQkFDYiw4QkFDTztZQUdnQixlQUF1QjtZQUF2Qix5Q0FBdUI7WUFhOUQsZUFBdUU7WUFDdkUsQUFEQSx5RkFBdUUsZ0NBQzVDO1lBTTNCLGNBQTBEO1lBQzFELEFBREEsNEVBQTBELGdHQUt6RDs7O2lGRHpCSSwwQkFBMEI7Y0FMdEMsU0FBUzsyQkFDRSx5QkFBeUI7b0RBSzFCLFdBQVc7a0JBQW5CLEtBQUs7WUFJc0IsYUFBYTtrQkFBeEMsU0FBUzttQkFBQyxlQUFlOztrRkFMZiwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1vdmVybGF5LXZpZXctd2luZG93JyxcbiAgdGVtcGxhdGVVcmw6ICcuL292ZXJsYXktdmlldy13aW5kb3cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vdmVybGF5LXZpZXctd2luZG93LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE92ZXJsYXlWaWV3V2luZG93Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHNob3dPdmVybGF5ID0gdHJ1ZTtcbiAgdHJhbnNwYXJlbnRCb2R5ID0gZmFsc2U7XG4gIG9ydGhvZ3JhcGhpY1ZpZXcgPSBmYWxzZTtcbiAgb3ZlcmxheVZpZXdGaXhlZCA9IGZhbHNlO1xuICBAVmlld0NoaWxkKCdvdmVybGF5V2luZG93Jykgb3ZlcmxheVdpbmRvdzogRWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGNhbnZhcyA9IHRoaXMuaW5pdGlhbGl6ZUNhbnZhcyh0aGlzLm92ZXJsYXlXaW5kb3cubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5ldmVudERpc3BsYXkuc2V0T3ZlcmxheVJlbmRlcmVyKGNhbnZhcyk7XG4gIH1cblxuICBpbml0aWFsaXplQ2FudmFzKGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQpOiBIVE1MQ2FudmFzRWxlbWVudCB7XG4gICAgY29uc3Qgd2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCAvIDIuNTtcbiAgICBjb25zdCBoZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLyAyLjU7XG4gICAgY2FudmFzLndpZHRoID0gd2lkdGg7XG4gICAgY2FudmFzLmhlaWdodCA9IGhlaWdodDtcbiAgICBjYW52YXMuc3R5bGUud2lkdGggPSB3aWR0aC50b1N0cmluZygpICsgJyBweCc7XG4gICAgY2FudmFzLnN0eWxlLmhlaWdodCA9IGhlaWdodC50b1N0cmluZygpICsgJyBweCc7XG4gICAgcmV0dXJuIGNhbnZhcztcbiAgfVxuXG4gIHN3aXRjaE92ZXJsYXlWaWV3KCkge1xuICAgIHRoaXMub3J0aG9ncmFwaGljVmlldyA9ICF0aGlzLm9ydGhvZ3JhcGhpY1ZpZXc7XG4gICAgdGhpcy5ldmVudERpc3BsYXlcbiAgICAgIC5nZXRVSU1hbmFnZXIoKVxuICAgICAgLnRvZ2dsZU9ydGhvZ3JhcGhpY1ZpZXcodGhpcy5vcnRob2dyYXBoaWNWaWV3KTtcbiAgfVxuXG4gIGZpeE92ZXJsYXlWaWV3KCkge1xuICAgIHRoaXMub3ZlcmxheVZpZXdGaXhlZCA9ICF0aGlzLm92ZXJsYXlWaWV3Rml4ZWQ7XG4gICAgdGhpcy5ldmVudERpc3BsYXkuZml4T3ZlcmxheVZpZXcodGhpcy5vdmVybGF5Vmlld0ZpeGVkKTtcbiAgfVxuXG4gIHRvZ2dsZUJnVHJhbnNwYXJlbmN5KCkge1xuICAgIHRoaXMudHJhbnNwYXJlbnRCb2R5ID0gIXRoaXMudHJhbnNwYXJlbnRCb2R5O1xuICB9XG59XG4iLCI8YXBwLW92ZXJsYXlcbiAgb3ZlcmxheVRpdGxlPVwiT3ZlcmxheSBWaWV3XCJcbiAgaWNvbj1cIm92ZXJsYXlcIlxuICBbcmVzaXphYmxlXT1cInRydWVcIlxuICBbdHJhbnNwYXJlbnRCb2R5XT1cInRyYW5zcGFyZW50Qm9keVwiXG4gIFthY3RpdmVdPVwic2hvd092ZXJsYXlcIlxuICBba2VlcEFzcGVjdFJhdGlvRml4ZWRdPVwidHJ1ZVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJvdmVybGF5LXZpZXctd3JhcHBlclwiPlxuICAgIDxjYW52YXMgI292ZXJsYXlXaW5kb3cgaWQ9XCJvdmVybGF5LWNhbnZhc1wiIFtoaWRkZW5dPVwiIXNob3dPdmVybGF5XCI+XG4gICAgPC9jYW52YXM+XG4gICAgPGRpdiBjbGFzcz1cIm92ZXJsYXktdmlldy1jb250cm9scyBwb3NpdGlvbi1hYnNvbHV0ZSBkLWZsZXggZmxleC1yb3dcIj5cbiAgICAgIDxhcHAtbWVudS10b2dnbGVcbiAgICAgICAgY2xhc3M9XCJvdmVybGF5LXZpZXctY29udHJvbFwiXG4gICAgICAgIGljb249XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIG1hdFRvb2x0aXA9XCJUb2dnbGUgYmFja2dyb3VuZCB0cmFuc3BhcmVuY3lcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlQmdUcmFuc3BhcmVuY3koKVwiXG4gICAgICA+XG4gICAgICA8L2FwcC1tZW51LXRvZ2dsZT5cbiAgICAgIDxhcHAtbWVudS10b2dnbGVcbiAgICAgICAgY2xhc3M9XCJvdmVybGF5LXZpZXctY29udHJvbFwiXG4gICAgICAgIGljb249XCJtb3ZlLWxvY2tcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCIob3ZlcmxheVZpZXdGaXhlZCA/ICdSZXN0b3JlJyA6ICdGaXgnKSArICcgb3ZlcmxheSB2aWV3J1wiXG4gICAgICAgIFthY3RpdmVdPVwib3ZlcmxheVZpZXdGaXhlZFwiXG4gICAgICAgIChjbGljayk9XCJmaXhPdmVybGF5VmlldygpXCJcbiAgICAgID5cbiAgICAgIDwvYXBwLW1lbnUtdG9nZ2xlPlxuICAgICAgPGFwcC1tZW51LXRvZ2dsZVxuICAgICAgICBjbGFzcz1cIm92ZXJsYXktdmlldy1jb250cm9sXCJcbiAgICAgICAgW2ljb25dPVwib3J0aG9ncmFwaGljVmlldyA/ICdvcnRob2dyYXBoaWMnIDogJ3BlcnNwZWN0aXZlJ1wiXG4gICAgICAgIFttYXRUb29sdGlwXT1cIlxuICAgICAgICAgICdTd2l0Y2ggdG8gJyArXG4gICAgICAgICAgKG9ydGhvZ3JhcGhpY1ZpZXcgPyAnb3J0aG9ncmFwaGljJyA6ICdwZXJzcGVjdGl2ZScpICtcbiAgICAgICAgICAnIHZpZXcnXG4gICAgICAgIFwiXG4gICAgICAgIChjbGljayk9XCJzd2l0Y2hPdmVybGF5VmlldygpXCJcbiAgICAgID5cbiAgICAgIDwvYXBwLW1lbnUtdG9nZ2xlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvYXBwLW92ZXJsYXk+XG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
3
|
+
import { OverlayViewWindowComponent } from './overlay-view-window/overlay-view-window.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
6
|
+
import * as i2 from "../menu-toggle/menu-toggle.component";
|
|
7
|
+
export class OverlayViewComponent {
|
|
8
|
+
overlay;
|
|
9
|
+
overlayWindow;
|
|
10
|
+
showOverlay = false;
|
|
11
|
+
constructor(overlay) {
|
|
12
|
+
this.overlay = overlay;
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
const overlayRef = this.overlay.create();
|
|
16
|
+
const overlayPortal = new ComponentPortal(OverlayViewWindowComponent);
|
|
17
|
+
this.overlayWindow = overlayRef.attach(overlayPortal);
|
|
18
|
+
this.overlayWindow.instance.showOverlay = this.showOverlay;
|
|
19
|
+
}
|
|
20
|
+
ngOnDestroy() {
|
|
21
|
+
this.overlayWindow.destroy();
|
|
22
|
+
}
|
|
23
|
+
toggleOverlay() {
|
|
24
|
+
this.showOverlay = !this.showOverlay;
|
|
25
|
+
this.overlayWindow.instance.showOverlay = this.showOverlay;
|
|
26
|
+
}
|
|
27
|
+
static ɵfac = function OverlayViewComponent_Factory(t) { return new (t || OverlayViewComponent)(i0.ɵɵdirectiveInject(i1.Overlay)); };
|
|
28
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OverlayViewComponent, selectors: [["app-overlay-view"]], decls: 1, vars: 1, consts: [["tooltip", "Overlay view", "icon", "overlay", 3, "click", "active"]], template: function OverlayViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
29
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
30
|
+
i0.ɵɵlistener("click", function OverlayViewComponent_Template_app_menu_toggle_click_0_listener() { return ctx.toggleOverlay(); });
|
|
31
|
+
i0.ɵɵelementEnd();
|
|
32
|
+
} if (rf & 2) {
|
|
33
|
+
i0.ɵɵproperty("active", ctx.showOverlay);
|
|
34
|
+
} }, dependencies: [i2.MenuToggleComponent] });
|
|
35
|
+
}
|
|
36
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OverlayViewComponent, [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{ selector: 'app-overlay-view', template: "<app-menu-toggle\n tooltip=\"Overlay view\"\n icon=\"overlay\"\n [active]=\"showOverlay\"\n (click)=\"toggleOverlay()\"\n>\n</app-menu-toggle>\n" }]
|
|
39
|
+
}], () => [{ type: i1.Overlay }], null); })();
|
|
40
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OverlayViewComponent, { className: "OverlayViewComponent", filePath: "components/ui-menu/overlay-view/overlay-view.component.ts", lineNumber: 11 }); })();
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvb3ZlcmxheS12aWV3L292ZXJsYXktdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L292ZXJsYXktdmlldy9vdmVybGF5LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUMsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDOzs7O0FBT2pHLE1BQU0sT0FBTyxvQkFBb0I7SUFJWDtJQUhwQixhQUFhLENBQTJDO0lBQ3hELFdBQVcsR0FBRyxLQUFLLENBQUM7SUFFcEIsWUFBb0IsT0FBZ0I7UUFBaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztJQUFHLENBQUM7SUFFeEMsUUFBUTtRQUNOLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekMsTUFBTSxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDN0QsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDN0QsQ0FBQzs4RUFwQlUsb0JBQW9COzZEQUFwQixvQkFBb0I7WUNWakMsMENBS0M7WUFEQywwR0FBUyxtQkFBZSxJQUFDO1lBRTNCLGlCQUFrQjs7WUFIaEIsd0NBQXNCOzs7aUZET1gsb0JBQW9CO2NBTGhDLFNBQVM7MkJBQ0Usa0JBQWtCOztrRkFJakIsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBPdmVybGF5Vmlld1dpbmRvd0NvbXBvbmVudCB9IGZyb20gJy4vb3ZlcmxheS12aWV3LXdpbmRvdy9vdmVybGF5LXZpZXctd2luZG93LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1vdmVybGF5LXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vb3ZlcmxheS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb3ZlcmxheS12aWV3LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE92ZXJsYXlWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBvdmVybGF5V2luZG93OiBDb21wb25lbnRSZWY8T3ZlcmxheVZpZXdXaW5kb3dDb21wb25lbnQ+O1xuICBzaG93T3ZlcmxheSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSgpO1xuICAgIGNvbnN0IG92ZXJsYXlQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKE92ZXJsYXlWaWV3V2luZG93Q29tcG9uZW50KTtcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3cgPSBvdmVybGF5UmVmLmF0dGFjaChvdmVybGF5UG9ydGFsKTtcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3cuaW5zdGFuY2Uuc2hvd092ZXJsYXkgPSB0aGlzLnNob3dPdmVybGF5O1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vdmVybGF5V2luZG93LmRlc3Ryb3koKTtcbiAgfVxuXG4gIHRvZ2dsZU92ZXJsYXkoKSB7XG4gICAgdGhpcy5zaG93T3ZlcmxheSA9ICF0aGlzLnNob3dPdmVybGF5O1xuICAgIHRoaXMub3ZlcmxheVdpbmRvdy5pbnN0YW5jZS5zaG93T3ZlcmxheSA9IHRoaXMuc2hvd092ZXJsYXk7XG4gIH1cbn1cbiIsIjxhcHAtbWVudS10b2dnbGVcbiAgdG9vbHRpcD1cIk92ZXJsYXkgdmlld1wiXG4gIGljb249XCJvdmVybGF5XCJcbiAgW2FjdGl2ZV09XCJzaG93T3ZlcmxheVwiXG4gIChjbGljayk9XCJ0b2dnbGVPdmVybGF5KClcIlxuPlxuPC9hcHAtbWVudS10b2dnbGU+XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
export class PerformanceToggleComponent {
|
|
6
|
+
eventDisplay;
|
|
7
|
+
performanceMode = false;
|
|
8
|
+
constructor(eventDisplay) {
|
|
9
|
+
this.eventDisplay = eventDisplay;
|
|
10
|
+
}
|
|
11
|
+
togglePerformance() {
|
|
12
|
+
this.performanceMode = !this.performanceMode;
|
|
13
|
+
this.eventDisplay.getThreeManager().setAntialiasing(!this.performanceMode);
|
|
14
|
+
}
|
|
15
|
+
static ɵfac = function PerformanceToggleComponent_Factory(t) { return new (t || PerformanceToggleComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService)); };
|
|
16
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PerformanceToggleComponent, selectors: [["app-performance-toggle"]], decls: 1, vars: 1, consts: [["tooltip", "Performance mode", "icon", "performance", 3, "click", "active"]], template: function PerformanceToggleComponent_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
i0.ɵɵelementStart(0, "app-menu-toggle", 0);
|
|
18
|
+
i0.ɵɵlistener("click", function PerformanceToggleComponent_Template_app_menu_toggle_click_0_listener() { return ctx.togglePerformance(); });
|
|
19
|
+
i0.ɵɵelementEnd();
|
|
20
|
+
} if (rf & 2) {
|
|
21
|
+
i0.ɵɵproperty("active", ctx.performanceMode);
|
|
22
|
+
} }, dependencies: [i2.MenuToggleComponent] });
|
|
23
|
+
}
|
|
24
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PerformanceToggleComponent, [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ selector: 'app-performance-toggle', template: "<app-menu-toggle\n tooltip=\"Performance mode\"\n [active]=\"performanceMode\"\n icon=\"performance\"\n (click)=\"togglePerformance()\"\n>\n</app-menu-toggle>\n" }]
|
|
27
|
+
}], () => [{ type: i1.EventDisplayService }], null); })();
|
|
28
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PerformanceToggleComponent, { className: "PerformanceToggleComponent", filePath: "components/ui-menu/performance-toggle/performance-toggle.component.ts", lineNumber: 9 }); })();
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2UtdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvcGVyZm9ybWFuY2UtdG9nZ2xlL3BlcmZvcm1hbmNlLXRvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L3BlcmZvcm1hbmNlLXRvZ2dsZS9wZXJmb3JtYW5jZS10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVExQyxNQUFNLE9BQU8sMEJBQTBCO0lBR2pCO0lBRnBCLGVBQWUsR0FBWSxLQUFLLENBQUM7SUFFakMsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO0lBQUcsQ0FBQztJQUV6RCxpQkFBaUI7UUFDZixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM3QyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3RSxDQUFDO29GQVJVLDBCQUEwQjs2REFBMUIsMEJBQTBCO1lDUnZDLDBDQUtDO1lBREMsZ0hBQVMsdUJBQW1CLElBQUM7WUFFL0IsaUJBQWtCOztZQUpoQiw0Q0FBMEI7OztpRkRNZiwwQkFBMEI7Y0FMdEMsU0FBUzsyQkFDRSx3QkFBd0I7O2tGQUl2QiwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcGVyZm9ybWFuY2UtdG9nZ2xlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BlcmZvcm1hbmNlLXRvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BlcmZvcm1hbmNlLXRvZ2dsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQZXJmb3JtYW5jZVRvZ2dsZUNvbXBvbmVudCB7XG4gIHBlcmZvcm1hbmNlTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXZlbnREaXNwbGF5OiBFdmVudERpc3BsYXlTZXJ2aWNlKSB7fVxuXG4gIHRvZ2dsZVBlcmZvcm1hbmNlKCkge1xuICAgIHRoaXMucGVyZm9ybWFuY2VNb2RlID0gIXRoaXMucGVyZm9ybWFuY2VNb2RlO1xuICAgIHRoaXMuZXZlbnREaXNwbGF5LmdldFRocmVlTWFuYWdlcigpLnNldEFudGlhbGlhc2luZyghdGhpcy5wZXJmb3JtYW5jZU1vZGUpO1xuICB9XG59XG4iLCI8YXBwLW1lbnUtdG9nZ2xlXG4gIHRvb2x0aXA9XCJQZXJmb3JtYW5jZSBtb2RlXCJcbiAgW2FjdGl2ZV09XCJwZXJmb3JtYW5jZU1vZGVcIlxuICBpY29uPVwicGVyZm9ybWFuY2VcIlxuICAoY2xpY2spPVwidG9nZ2xlUGVyZm9ybWFuY2UoKVwiXG4+XG48L2FwcC1tZW51LXRvZ2dsZT5cbiJdfQ==
|
package/dist/esm2022/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.mjs
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { Component, ViewChild } from '@angular/core';
|
|
2
|
+
import { ActiveVariable, phoenixURLOptions } from 'phoenix-event-display';
|
|
3
|
+
import QRCode from 'qrcode';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/dialog";
|
|
6
|
+
import * as i2 from "@angular/material/button";
|
|
7
|
+
import * as i3 from "@angular/forms";
|
|
8
|
+
import * as i4 from "@angular/material/checkbox";
|
|
9
|
+
const _c0 = ["qrcodeCanvas"];
|
|
10
|
+
export class ShareLinkDialogComponent {
|
|
11
|
+
dialogRef;
|
|
12
|
+
baseLink;
|
|
13
|
+
shareLink;
|
|
14
|
+
embedLink;
|
|
15
|
+
urlOptions = Object.assign({}, phoenixURLOptions);
|
|
16
|
+
qrcodeCanvas;
|
|
17
|
+
constructor(dialogRef) {
|
|
18
|
+
this.dialogRef = dialogRef;
|
|
19
|
+
const locationHref = window.location.href;
|
|
20
|
+
const lastIndex = locationHref.lastIndexOf('?') === -1
|
|
21
|
+
? locationHref.length
|
|
22
|
+
: locationHref.lastIndexOf('?');
|
|
23
|
+
this.baseLink = locationHref.slice(0, lastIndex);
|
|
24
|
+
this.shareLink = new ActiveVariable(this.baseLink);
|
|
25
|
+
this.embedLink = this.getEmbedLink();
|
|
26
|
+
}
|
|
27
|
+
ngAfterViewInit() {
|
|
28
|
+
this.updateQRCode(this.shareLink.value);
|
|
29
|
+
this.shareLink.onUpdate(this.updateQRCode.bind(this));
|
|
30
|
+
}
|
|
31
|
+
onClose() {
|
|
32
|
+
this.dialogRef.close();
|
|
33
|
+
}
|
|
34
|
+
getEmbedLink(urlParametersString = '') {
|
|
35
|
+
return `<iframe src="${this.baseLink}?embed=true${urlParametersString ? '&' : ''}${urlParametersString}"></iframe>`;
|
|
36
|
+
}
|
|
37
|
+
setOptionValue(option, value) {
|
|
38
|
+
this.urlOptions[option] = value;
|
|
39
|
+
this.onOptionsChange();
|
|
40
|
+
}
|
|
41
|
+
onOptionsChange() {
|
|
42
|
+
const urlParametersString = Object.getOwnPropertyNames(this.urlOptions)
|
|
43
|
+
.reduce((filteredOptions, option) => {
|
|
44
|
+
if (this.urlOptions[option]) {
|
|
45
|
+
filteredOptions.push(`${option}=${encodeURI(this.urlOptions[option])}`);
|
|
46
|
+
}
|
|
47
|
+
return filteredOptions;
|
|
48
|
+
}, [])
|
|
49
|
+
.join('&');
|
|
50
|
+
this.shareLink.update(this.baseLink + (urlParametersString ? '?' : '') + urlParametersString);
|
|
51
|
+
this.embedLink = this.getEmbedLink(urlParametersString);
|
|
52
|
+
}
|
|
53
|
+
copyText(text, element) {
|
|
54
|
+
const inputElement = document.createElement('input');
|
|
55
|
+
document.body.appendChild(inputElement);
|
|
56
|
+
inputElement.value = text;
|
|
57
|
+
inputElement.select();
|
|
58
|
+
document.execCommand('copy');
|
|
59
|
+
document.body.removeChild(inputElement);
|
|
60
|
+
element.focus();
|
|
61
|
+
// Set text on copying
|
|
62
|
+
element.innerText = 'COPIED';
|
|
63
|
+
setTimeout(() => {
|
|
64
|
+
element.innerText = 'COPY';
|
|
65
|
+
}, 2000);
|
|
66
|
+
}
|
|
67
|
+
updateQRCode(link) {
|
|
68
|
+
QRCode.toCanvas(this.qrcodeCanvas.nativeElement, link);
|
|
69
|
+
}
|
|
70
|
+
static ɵfac = function ShareLinkDialogComponent_Factory(t) { return new (t || ShareLinkDialogComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef)); };
|
|
71
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareLinkDialogComponent, selectors: [["app-share-link-dialog"]], viewQuery: function ShareLinkDialogComponent_Query(rf, ctx) { if (rf & 1) {
|
|
72
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
73
|
+
} if (rf & 2) {
|
|
74
|
+
let _t;
|
|
75
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.qrcodeCanvas = _t.first);
|
|
76
|
+
} }, decls: 49, vars: 5, consts: [["qrcodeCanvas", ""], [1, "dialog"], ["mat-dialog-title", ""], ["mat-dialog-content", "", 1, "dialog-content"], [1, "form-group", "mt-2"], ["for", "eventDataFile"], ["type", "text", "id", "eventDataFile", "placeholder", "assets/files/event_data/atlaseventdump2.json", 1, "form-control", 3, "input", "value"], [1, "form-group"], ["for", "eventDataType"], ["id", "eventDataType", 1, "form-control", 3, "input"], ["selected", "", "value", ""], ["value", "jivexml"], ["value", "json"], ["for", "configuration"], ["type", "text", "id", "configuration", "placeholder", "assets/files/config/phoenix-config.json", 1, "form-control", 3, "input", "value"], [3, "change", "checked"], [1, "share-box", "my-2"], [1, "share-box-copy", 3, "click"], [1, "qrcode", "d-flex", "justify-content-center"], ["mat-dialog-actions", ""], ["mat-button", "", "cdkFocusInitial", "", 3, "click"]], template: function ShareLinkDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
77
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
78
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "h1", 2);
|
|
79
|
+
i0.ɵɵtext(2, "Create shareable link");
|
|
80
|
+
i0.ɵɵelementEnd();
|
|
81
|
+
i0.ɵɵelementStart(3, "div", 3)(4, "h5");
|
|
82
|
+
i0.ɵɵtext(5, "URL options");
|
|
83
|
+
i0.ɵɵelementEnd();
|
|
84
|
+
i0.ɵɵelementStart(6, "div", 4)(7, "label", 5);
|
|
85
|
+
i0.ɵɵtext(8, "Event data file (URL or path)");
|
|
86
|
+
i0.ɵɵelementEnd();
|
|
87
|
+
i0.ɵɵelementStart(9, "input", 6);
|
|
88
|
+
i0.ɵɵlistener("input", function ShareLinkDialogComponent_Template_input_input_9_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setOptionValue("file", $event.target.value)); });
|
|
89
|
+
i0.ɵɵelementEnd()();
|
|
90
|
+
i0.ɵɵelementStart(10, "div", 7)(11, "label", 8);
|
|
91
|
+
i0.ɵɵtext(12, "Event data type");
|
|
92
|
+
i0.ɵɵelementEnd();
|
|
93
|
+
i0.ɵɵelementStart(13, "select", 9);
|
|
94
|
+
i0.ɵɵlistener("input", function ShareLinkDialogComponent_Template_select_input_13_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setOptionValue("type", $event.target.value)); });
|
|
95
|
+
i0.ɵɵelementStart(14, "option", 10);
|
|
96
|
+
i0.ɵɵtext(15, "Select");
|
|
97
|
+
i0.ɵɵelementEnd();
|
|
98
|
+
i0.ɵɵelementStart(16, "option", 11);
|
|
99
|
+
i0.ɵɵtext(17, "JiveXML");
|
|
100
|
+
i0.ɵɵelementEnd();
|
|
101
|
+
i0.ɵɵelementStart(18, "option", 12);
|
|
102
|
+
i0.ɵɵtext(19, "JSON");
|
|
103
|
+
i0.ɵɵelementEnd()()();
|
|
104
|
+
i0.ɵɵelementStart(20, "div", 7)(21, "label", 13);
|
|
105
|
+
i0.ɵɵtext(22, "Configuration (URL or path)");
|
|
106
|
+
i0.ɵɵelementEnd();
|
|
107
|
+
i0.ɵɵelementStart(23, "input", 14);
|
|
108
|
+
i0.ɵɵlistener("input", function ShareLinkDialogComponent_Template_input_input_23_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setOptionValue("config", $event.target.value)); });
|
|
109
|
+
i0.ɵɵelementEnd()();
|
|
110
|
+
i0.ɵɵelementStart(24, "div", 7)(25, "mat-checkbox", 15);
|
|
111
|
+
i0.ɵɵlistener("change", function ShareLinkDialogComponent_Template_mat_checkbox_change_25_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setOptionValue("hideWidgets", $event.checked)); });
|
|
112
|
+
i0.ɵɵtext(26, " Hide all widgets ");
|
|
113
|
+
i0.ɵɵelementEnd()();
|
|
114
|
+
i0.ɵɵelementStart(27, "h5");
|
|
115
|
+
i0.ɵɵtext(28, "Share");
|
|
116
|
+
i0.ɵɵelementEnd();
|
|
117
|
+
i0.ɵɵelementStart(29, "div", 16)(30, "span");
|
|
118
|
+
i0.ɵɵtext(31);
|
|
119
|
+
i0.ɵɵelementEnd();
|
|
120
|
+
i0.ɵɵelementStart(32, "button", 17);
|
|
121
|
+
i0.ɵɵlistener("click", function ShareLinkDialogComponent_Template_button_click_32_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.copyText(ctx.shareLink.value, $event.target)); });
|
|
122
|
+
i0.ɵɵtext(33, " COPY ");
|
|
123
|
+
i0.ɵɵelementEnd()();
|
|
124
|
+
i0.ɵɵelementStart(34, "h5");
|
|
125
|
+
i0.ɵɵtext(35, "Embed");
|
|
126
|
+
i0.ɵɵelementEnd();
|
|
127
|
+
i0.ɵɵelementStart(36, "div", 16)(37, "span");
|
|
128
|
+
i0.ɵɵtext(38);
|
|
129
|
+
i0.ɵɵelementEnd();
|
|
130
|
+
i0.ɵɵelementStart(39, "button", 17);
|
|
131
|
+
i0.ɵɵlistener("click", function ShareLinkDialogComponent_Template_button_click_39_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.copyText(ctx.embedLink, $event.target)); });
|
|
132
|
+
i0.ɵɵtext(40, " COPY ");
|
|
133
|
+
i0.ɵɵelementEnd()();
|
|
134
|
+
i0.ɵɵelementStart(41, "h5");
|
|
135
|
+
i0.ɵɵtext(42, "QR Code");
|
|
136
|
+
i0.ɵɵelementEnd();
|
|
137
|
+
i0.ɵɵelementStart(43, "div", 18);
|
|
138
|
+
i0.ɵɵelement(44, "canvas", null, 0);
|
|
139
|
+
i0.ɵɵelementEnd()();
|
|
140
|
+
i0.ɵɵelementStart(46, "div", 19)(47, "button", 20);
|
|
141
|
+
i0.ɵɵlistener("click", function ShareLinkDialogComponent_Template_button_click_47_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onClose()); });
|
|
142
|
+
i0.ɵɵtext(48, "Close");
|
|
143
|
+
i0.ɵɵelementEnd()()();
|
|
144
|
+
} if (rf & 2) {
|
|
145
|
+
i0.ɵɵadvance(9);
|
|
146
|
+
i0.ɵɵproperty("value", ctx.urlOptions.file);
|
|
147
|
+
i0.ɵɵadvance(14);
|
|
148
|
+
i0.ɵɵproperty("value", ctx.urlOptions.config);
|
|
149
|
+
i0.ɵɵadvance(2);
|
|
150
|
+
i0.ɵɵproperty("checked", ctx.urlOptions.hideWidgets);
|
|
151
|
+
i0.ɵɵadvance(6);
|
|
152
|
+
i0.ɵɵtextInterpolate(ctx.shareLink.value);
|
|
153
|
+
i0.ɵɵadvance(7);
|
|
154
|
+
i0.ɵɵtextInterpolate(ctx.embedLink);
|
|
155
|
+
} }, dependencies: [i1.MatDialogTitle, i1.MatDialogActions, i1.MatDialogContent, i2.MatButton, i3.NgSelectOption, i3.ɵNgSelectMultipleOption, i4.MatCheckbox], styles: [".share-box[_ngcontent-%COMP%]{width:30rem;max-width:100%;position:relative;background:var(--phoenix-background-color-tertiary);border:1px solid var(--phoenix-border);border-radius:.5rem;padding:1.25rem;word-wrap:break-word}.share-box[_ngcontent-%COMP%] .share-box-copy[_ngcontent-%COMP%]{position:absolute;top:-1px;right:-1px;background:transparent;color:inherit;cursor:pointer;padding:.25rem .5rem;font-size:.75rem;border:1px solid var(--phoenix-border);border-radius:.5rem}.share-box[_ngcontent-%COMP%] .share-box-copy[_ngcontent-%COMP%]:hover{background:var(--phoenix-border)}"] });
|
|
156
|
+
}
|
|
157
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShareLinkDialogComponent, [{
|
|
158
|
+
type: Component,
|
|
159
|
+
args: [{ selector: 'app-share-link-dialog', template: "<div class=\"dialog\">\n <h1 mat-dialog-title>Create shareable link</h1>\n <div mat-dialog-content class=\"dialog-content\">\n <h5>URL options</h5>\n <div class=\"form-group mt-2\">\n <label for=\"eventDataFile\">Event data file (URL or path)</label>\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"eventDataFile\"\n placeholder=\"assets/files/event_data/atlaseventdump2.json\"\n [value]=\"urlOptions.file\"\n (input)=\"setOptionValue('file', $event.target.value)\"\n />\n </div>\n <div class=\"form-group\">\n <label for=\"eventDataType\">Event data type</label>\n <select\n class=\"form-control\"\n id=\"eventDataType\"\n (input)=\"setOptionValue('type', $event.target.value)\"\n >\n <option selected value=\"\">Select</option>\n <option value=\"jivexml\">JiveXML</option>\n <option value=\"json\">JSON</option>\n </select>\n </div>\n <div class=\"form-group\">\n <label for=\"configuration\">Configuration (URL or path)</label>\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"configuration\"\n placeholder=\"assets/files/config/phoenix-config.json\"\n [value]=\"urlOptions.config\"\n (input)=\"setOptionValue('config', $event.target.value)\"\n />\n </div>\n <div class=\"form-group\">\n <mat-checkbox\n [checked]=\"urlOptions.hideWidgets\"\n (change)=\"setOptionValue('hideWidgets', $event.checked)\"\n >\n Hide all widgets\n </mat-checkbox>\n </div>\n\n <h5>Share</h5>\n <div class=\"share-box my-2\">\n <span>{{ shareLink.value }}</span>\n <button\n class=\"share-box-copy\"\n (click)=\"copyText(shareLink.value, $event.target)\"\n >\n COPY\n </button>\n </div>\n <h5>Embed</h5>\n <div class=\"share-box my-2\">\n <span>{{ embedLink }}</span>\n <button\n class=\"share-box-copy\"\n (click)=\"copyText(embedLink, $event.target)\"\n >\n COPY\n </button>\n </div>\n <h5>QR Code</h5>\n <div class=\"qrcode d-flex justify-content-center\">\n <canvas #qrcodeCanvas></canvas>\n </div>\n </div>\n <div mat-dialog-actions>\n <button mat-button (click)=\"onClose()\" cdkFocusInitial>Close</button>\n </div>\n</div>\n", styles: [".share-box{width:30rem;max-width:100%;position:relative;background:var(--phoenix-background-color-tertiary);border:1px solid var(--phoenix-border);border-radius:.5rem;padding:1.25rem;word-wrap:break-word}.share-box .share-box-copy{position:absolute;top:-1px;right:-1px;background:transparent;color:inherit;cursor:pointer;padding:.25rem .5rem;font-size:.75rem;border:1px solid var(--phoenix-border);border-radius:.5rem}.share-box .share-box-copy:hover{background:var(--phoenix-border)}\n"] }]
|
|
160
|
+
}], () => [{ type: i1.MatDialogRef }], { qrcodeCanvas: [{
|
|
161
|
+
type: ViewChild,
|
|
162
|
+
args: ['qrcodeCanvas']
|
|
163
|
+
}] }); })();
|
|
164
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShareLinkDialogComponent, { className: "ShareLinkDialogComponent", filePath: "components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.ts", lineNumber: 11 }); })();
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbGluay1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvdWktbWVudS9zaGFyZS1saW5rL3NoYXJlLWxpbmstZGlhbG9nL3NoYXJlLWxpbmstZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvc2hhcmUtbGluay9zaGFyZS1saW5rLWRpYWxvZy9zaGFyZS1saW5rLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7Ozs7OztBQU81QixNQUFNLE9BQU8sd0JBQXdCO0lBT2Y7SUFOcEIsUUFBUSxDQUFTO0lBQ2pCLFNBQVMsQ0FBeUI7SUFDbEMsU0FBUyxDQUFTO0lBQ2xCLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3ZCLFlBQVksQ0FBZ0M7SUFFdkUsWUFBb0IsU0FBaUQ7UUFBakQsY0FBUyxHQUFULFNBQVMsQ0FBd0M7UUFDbkUsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDMUMsTUFBTSxTQUFTLEdBQ2IsWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNO1lBQ3JCLENBQUMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FB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Q0FHQztZQURDLGtKQUFTLDBDQUFrQyxLQUFDO1lBRTVDLHVCQUNGO1lBQ0YsQUFERSxpQkFBUyxFQUNMO1lBQ04sMkJBQUk7WUFBQSx3QkFBTztZQUFBLGlCQUFLO1lBQ2hCLGdDQUFrRDtZQUNoRCxtQ0FBK0I7WUFFbkMsQUFERSxpQkFBTSxFQUNGO1lBRUosQUFERixnQ0FBd0Isa0JBQ2lDO1lBQXBDLDRJQUFTLGFBQVMsS0FBQztZQUFpQixzQkFBSztZQUVoRSxBQURFLEFBRDhELGlCQUFTLEVBQ2pFLEVBQ0Y7O1lBaEVFLGVBQXlCO1lBQXpCLDJDQUF5QjtZQXVCekIsZ0JBQTJCO1lBQTNCLDZDQUEyQjtZQU0zQixlQUFrQztZQUFsQyxvREFBa0M7WUFTOUIsZUFBcUI7WUFBckIseUNBQXFCO1lBVXJCLGVBQWU7WUFBZixtQ0FBZTs7O2lGRGpEZCx3QkFBd0I7Y0FMcEMsU0FBUzsyQkFDRSx1QkFBdUI7NkNBU04sWUFBWTtrQkFBdEMsU0FBUzttQkFBQyxjQUFjOztrRkFMZCx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEFjdGl2ZVZhcmlhYmxlLCBwaG9lbml4VVJMT3B0aW9ucyB9IGZyb20gJ3Bob2VuaXgtZXZlbnQtZGlzcGxheSc7XG5pbXBvcnQgUVJDb2RlIGZyb20gJ3FyY29kZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zaGFyZS1saW5rLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaGFyZS1saW5rLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NoYXJlLWxpbmstZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlTGlua0RpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBiYXNlTGluazogc3RyaW5nO1xuICBzaGFyZUxpbms6IEFjdGl2ZVZhcmlhYmxlPHN0cmluZz47XG4gIGVtYmVkTGluazogc3RyaW5nO1xuICB1cmxPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgcGhvZW5peFVSTE9wdGlvbnMpO1xuICBAVmlld0NoaWxkKCdxcmNvZGVDYW52YXMnKSBxcmNvZGVDYW52YXM6IEVsZW1lbnRSZWY8SFRNTENhbnZhc0VsZW1lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U2hhcmVMaW5rRGlhbG9nQ29tcG9uZW50Pikge1xuICAgIGNvbnN0IGxvY2F0aW9uSHJlZiA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xuICAgIGNvbnN0IGxhc3RJbmRleCA9XG4gICAgICBsb2NhdGlvbkhyZWYubGFzdEluZGV4T2YoJz8nKSA9PT0gLTFcbiAgICAgICAgPyBsb2NhdGlvbkhyZWYubGVuZ3RoXG4gICAgICAgIDogbG9jYXRpb25IcmVmLmxhc3RJbmRleE9mKCc/Jyk7XG5cbiAgICB0aGlzLmJhc2VMaW5rID0gbG9jYXRpb25IcmVmLnNsaWNlKDAsIGxhc3RJbmRleCk7XG4gICAgdGhpcy5zaGFyZUxpbmsgPSBuZXcgQWN0aXZlVmFyaWFibGUodGhpcy5iYXNlTGluayk7XG4gICAgdGhpcy5lbWJlZExpbmsgPSB0aGlzLmdldEVtYmVkTGluaygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudXBkYXRlUVJDb2RlKHRoaXMuc2hhcmVMaW5rLnZhbHVlKTtcbiAgICB0aGlzLnNoYXJlTGluay5vblVwZGF0ZSh0aGlzLnVwZGF0ZVFSQ29kZS5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgfVxuXG4gIGdldEVtYmVkTGluayh1cmxQYXJhbWV0ZXJzU3RyaW5nOiBzdHJpbmcgPSAnJykge1xuICAgIHJldHVybiBgPGlmcmFtZSBzcmM9XCIke3RoaXMuYmFzZUxpbmt9P2VtYmVkPXRydWUke1xuICAgICAgdXJsUGFyYW1ldGVyc1N0cmluZyA/ICcmJyA6ICcnXG4gICAgfSR7dXJsUGFyYW1ldGVyc1N0cmluZ31cIj48L2lmcmFtZT5gO1xuICB9XG5cbiAgc2V0T3B0aW9uVmFsdWUob3B0aW9uOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgdGhpcy51cmxPcHRpb25zW29wdGlvbl0gPSB2YWx1ZTtcbiAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZSgpO1xuICB9XG5cbiAgb25PcHRpb25zQ2hhbmdlKCkge1xuICAgIGNvbnN0IHVybFBhcmFtZXRlcnNTdHJpbmcgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzLnVybE9wdGlvbnMpXG4gICAgICAucmVkdWNlKChmaWx0ZXJlZE9wdGlvbnM6IHN0cmluZ1tdLCBvcHRpb246IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAodGhpcy51cmxPcHRpb25zW29wdGlvbl0pIHtcbiAgICAgICAgICBmaWx0ZXJlZE9wdGlvbnMucHVzaChcbiAgICAgICAgICAgIGAke29wdGlvbn09JHtlbmNvZGVVUkkodGhpcy51cmxPcHRpb25zW29wdGlvbl0pfWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyZWRPcHRpb25zO1xuICAgICAgfSwgW10pXG4gICAgICAuam9pbignJicpO1xuXG4gICAgdGhpcy5zaGFyZUxpbmsudXBkYXRlKFxuICAgICAgdGhpcy5iYXNlTGluayArICh1cmxQYXJhbWV0ZXJzU3RyaW5nID8gJz8nIDogJycpICsgdXJsUGFyYW1ldGVyc1N0cmluZyxcbiAgICApO1xuICAgIHRoaXMuZW1iZWRMaW5rID0gdGhpcy5nZXRFbWJlZExpbmsodXJsUGFyYW1ldGVyc1N0cmluZyk7XG4gIH1cblxuICBjb3B5VGV4dCh0ZXh0OiBzdHJpbmcsIGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0RWxlbWVudCk7XG4gICAgaW5wdXRFbGVtZW50LnZhbHVlID0gdGV4dDtcbiAgICBpbnB1dEVsZW1lbnQuc2VsZWN0KCk7XG4gICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGlucHV0RWxlbWVudCk7XG4gICAgZWxlbWVudC5mb2N1cygpO1xuXG4gICAgLy8gU2V0IHRleHQgb24gY29weWluZ1xuICAgIGVsZW1lbnQuaW5uZXJUZXh0ID0gJ0NPUElFRCc7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBlbGVtZW50LmlubmVyVGV4dCA9ICdDT1BZJztcbiAgICB9LCAyMDAwKTtcbiAgfVxuXG4gIHVwZGF0ZVFSQ29kZShsaW5rOiBzdHJpbmcpIHtcbiAgICBRUkNvZGUudG9DYW52YXModGhpcy5xcmNvZGVDYW52YXMubmF0aXZlRWxlbWVudCwgbGluayk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkaWFsb2dcIj5cbiAgPGgxIG1hdC1kaWFsb2ctdGl0bGU+Q3JlYXRlIHNoYXJlYWJsZSBsaW5rPC9oMT5cbiAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJkaWFsb2ctY29udGVudFwiPlxuICAgIDxoNT5VUkwgb3B0aW9uczwvaDU+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgbXQtMlwiPlxuICAgICAgPGxhYmVsIGZvcj1cImV2ZW50RGF0YUZpbGVcIj5FdmVudCBkYXRhIGZpbGUgKFVSTCBvciBwYXRoKTwvbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgIGlkPVwiZXZlbnREYXRhRmlsZVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiYXNzZXRzL2ZpbGVzL2V2ZW50X2RhdGEvYXRsYXNldmVudGR1bXAyLmpzb25cIlxuICAgICAgICBbdmFsdWVdPVwidXJsT3B0aW9ucy5maWxlXCJcbiAgICAgICAgKGlucHV0KT1cInNldE9wdGlvblZhbHVlKCdmaWxlJywgJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgPGxhYmVsIGZvcj1cImV2ZW50RGF0YVR5cGVcIj5FdmVudCBkYXRhIHR5cGU8L2xhYmVsPlxuICAgICAgPHNlbGVjdFxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgIGlkPVwiZXZlbnREYXRhVHlwZVwiXG4gICAgICAgIChpbnB1dCk9XCJzZXRPcHRpb25WYWx1ZSgndHlwZScsICRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAgID5cbiAgICAgICAgPG9wdGlvbiBzZWxlY3RlZCB2YWx1ZT1cIlwiPlNlbGVjdDwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiaml2ZXhtbFwiPkppdmVYTUw8L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImpzb25cIj5KU09OPC9vcHRpb24+XG4gICAgICA8L3NlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgPGxhYmVsIGZvcj1cImNvbmZpZ3VyYXRpb25cIj5Db25maWd1cmF0aW9uIChVUkwgb3IgcGF0aCk8L2xhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICBpZD1cImNvbmZpZ3VyYXRpb25cIlxuICAgICAgICBwbGFjZWhvbGRlcj1cImFzc2V0cy9maWxlcy9jb25maWcvcGhvZW5peC1jb25maWcuanNvblwiXG4gICAgICAgIFt2YWx1ZV09XCJ1cmxPcHRpb25zLmNvbmZpZ1wiXG4gICAgICAgIChpbnB1dCk9XCJzZXRPcHRpb25WYWx1ZSgnY29uZmlnJywgJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICBbY2hlY2tlZF09XCJ1cmxPcHRpb25zLmhpZGVXaWRnZXRzXCJcbiAgICAgICAgKGNoYW5nZSk9XCJzZXRPcHRpb25WYWx1ZSgnaGlkZVdpZGdldHMnLCAkZXZlbnQuY2hlY2tlZClcIlxuICAgICAgPlxuICAgICAgICBIaWRlIGFsbCB3aWRnZXRzXG4gICAgICA8L21hdC1jaGVja2JveD5cbiAgICA8L2Rpdj5cblxuICAgIDxoNT5TaGFyZTwvaDU+XG4gICAgPGRpdiBjbGFzcz1cInNoYXJlLWJveCBteS0yXCI+XG4gICAgICA8c3Bhbj57eyBzaGFyZUxpbmsudmFsdWUgfX08L3NwYW4+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwic2hhcmUtYm94LWNvcHlcIlxuICAgICAgICAoY2xpY2spPVwiY29weVRleHQoc2hhcmVMaW5rLnZhbHVlLCAkZXZlbnQudGFyZ2V0KVwiXG4gICAgICA+XG4gICAgICAgIENPUFlcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxoNT5FbWJlZDwvaDU+XG4gICAgPGRpdiBjbGFzcz1cInNoYXJlLWJveCBteS0yXCI+XG4gICAgICA8c3Bhbj57eyBlbWJlZExpbmsgfX08L3NwYW4+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwic2hhcmUtYm94LWNvcHlcIlxuICAgICAgICAoY2xpY2spPVwiY29weVRleHQoZW1iZWRMaW5rLCAkZXZlbnQudGFyZ2V0KVwiXG4gICAgICA+XG4gICAgICAgIENPUFlcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxoNT5RUiBDb2RlPC9oNT5cbiAgICA8ZGl2IGNsYXNzPVwicXJjb2RlIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICA8Y2FudmFzICNxcmNvZGVDYW52YXM+PC9jYW52YXM+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm9uQ2xvc2UoKVwiIGNka0ZvY3VzSW5pdGlhbD5DbG9zZTwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|