phoenix-ui-components 3.0.4 → 3.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/fesm2022/phoenix-ui-components.mjs +2262 -473
  2. package/dist/fesm2022/phoenix-ui-components.mjs.map +1 -1
  3. package/dist/index.d.ts +1109 -3
  4. package/package.json +10 -19
  5. package/dist/components/embed-menu/embed-menu.component.d.ts +0 -5
  6. package/dist/components/embed-menu/experiment-link/experiment-link.component.d.ts +0 -9
  7. package/dist/components/file-explorer/file-explorer.component.d.ts +0 -35
  8. package/dist/components/loader/loader.component.d.ts +0 -11
  9. package/dist/components/nav/nav.component.d.ts +0 -8
  10. package/dist/components/phoenix-menu/config/config-slider/config-slider.component.d.ts +0 -18
  11. package/dist/components/phoenix-menu/index.d.ts +0 -3
  12. package/dist/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.d.ts +0 -14
  13. package/dist/components/phoenix-menu/phoenix-menu.component.d.ts +0 -7
  14. package/dist/components/phoenix-ui.module.d.ts +0 -71
  15. package/dist/components/ring-loader/ring-loader.component.d.ts +0 -5
  16. package/dist/components/ui-menu/animate-camera/animate-camera.component.d.ts +0 -20
  17. package/dist/components/ui-menu/animate-event/animate-event.component.d.ts +0 -10
  18. package/dist/components/ui-menu/ar-toggle/ar-toggle.component.d.ts +0 -11
  19. package/dist/components/ui-menu/auto-rotate/auto-rotate.component.d.ts +0 -10
  20. package/dist/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.d.ts +0 -29
  21. package/dist/components/ui-menu/collections-info/collections-info.component.d.ts +0 -15
  22. package/dist/components/ui-menu/cycle-events/cycle-events.component.d.ts +0 -21
  23. package/dist/components/ui-menu/dark-theme/dark-theme.component.d.ts +0 -12
  24. package/dist/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.d.ts +0 -28
  25. package/dist/components/ui-menu/event-data-explorer/event-data-explorer.component.d.ts +0 -13
  26. package/dist/components/ui-menu/event-selector/event-selector.component.d.ts +0 -12
  27. package/dist/components/ui-menu/experiment-info/experiment-info.component.d.ts +0 -14
  28. package/dist/components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.d.ts +0 -22
  29. package/dist/components/ui-menu/geometry-browser/geometry-browser.component.d.ts +0 -15
  30. package/dist/components/ui-menu/index.d.ts +0 -39
  31. package/dist/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.d.ts +0 -26
  32. package/dist/components/ui-menu/info-panel/info-panel.component.d.ts +0 -33
  33. package/dist/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.d.ts +0 -34
  34. package/dist/components/ui-menu/io-options/io-options.component.d.ts +0 -11
  35. package/dist/components/ui-menu/main-view-toggle/main-view-toggle.component.d.ts +0 -10
  36. package/dist/components/ui-menu/make-picture/make-picture.component.d.ts +0 -20
  37. package/dist/components/ui-menu/menu-toggle/menu-toggle.component.d.ts +0 -9
  38. package/dist/components/ui-menu/object-clipping/object-clipping.component.d.ts +0 -15
  39. package/dist/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.d.ts +0 -15
  40. package/dist/components/ui-menu/object-selection/object-selection.component.d.ts +0 -17
  41. package/dist/components/ui-menu/overlay/overlay.component.d.ts +0 -52
  42. package/dist/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.d.ts +0 -20
  43. package/dist/components/ui-menu/overlay-view/overlay-view.component.d.ts +0 -15
  44. package/dist/components/ui-menu/performance-toggle/performance-toggle.component.d.ts +0 -10
  45. package/dist/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.d.ts +0 -28
  46. package/dist/components/ui-menu/share-link/share-link.component.d.ts +0 -9
  47. package/dist/components/ui-menu/ss-mode/ss-mode.component.d.ts +0 -10
  48. package/dist/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.d.ts +0 -19
  49. package/dist/components/ui-menu/tree-menu/tree-menu.component.d.ts +0 -10
  50. package/dist/components/ui-menu/ui-menu-wrapper/ui-menu-wrapper.component.d.ts +0 -6
  51. package/dist/components/ui-menu/ui-menu.component.d.ts +0 -10
  52. package/dist/components/ui-menu/view-options/cartesian-grid-config/cartesian-grid-config.component.d.ts +0 -51
  53. package/dist/components/ui-menu/view-options/view-options.component.d.ts +0 -33
  54. package/dist/components/ui-menu/vr-toggle/vr-toggle.component.d.ts +0 -11
  55. package/dist/components/ui-menu/zoom-controls/zoom-controls.component.d.ts +0 -39
  56. package/dist/esm2022/components/embed-menu/embed-menu.component.mjs +0 -22
  57. package/dist/esm2022/components/embed-menu/experiment-link/experiment-link.component.mjs +0 -27
  58. package/dist/esm2022/components/file-explorer/file-explorer.component.mjs +0 -109
  59. package/dist/esm2022/components/loader/loader.component.mjs +0 -71
  60. package/dist/esm2022/components/nav/nav.component.mjs +0 -19
  61. package/dist/esm2022/components/phoenix-menu/config/config-slider/config-slider.component.mjs +0 -82
  62. package/dist/esm2022/components/phoenix-menu/index.mjs +0 -4
  63. package/dist/esm2022/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.mjs +0 -308
  64. package/dist/esm2022/components/phoenix-menu/phoenix-menu.component.mjs +0 -23
  65. package/dist/esm2022/components/phoenix-ui.module.mjs +0 -257
  66. package/dist/esm2022/components/ring-loader/ring-loader.component.mjs +0 -16
  67. package/dist/esm2022/components/ui-menu/animate-camera/animate-camera.component.mjs +0 -120
  68. package/dist/esm2022/components/ui-menu/animate-event/animate-event.component.mjs +0 -33
  69. package/dist/esm2022/components/ui-menu/ar-toggle/ar-toggle.component.mjs +0 -83
  70. package/dist/esm2022/components/ui-menu/auto-rotate/auto-rotate.component.mjs +0 -29
  71. package/dist/esm2022/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.mjs +0 -274
  72. package/dist/esm2022/components/ui-menu/collections-info/collections-info.component.mjs +0 -47
  73. package/dist/esm2022/components/ui-menu/cycle-events/cycle-events.component.mjs +0 -90
  74. package/dist/esm2022/components/ui-menu/dark-theme/dark-theme.component.mjs +0 -32
  75. package/dist/esm2022/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.mjs +0 -128
  76. package/dist/esm2022/components/ui-menu/event-data-explorer/event-data-explorer.component.mjs +0 -35
  77. package/dist/esm2022/components/ui-menu/event-selector/event-selector.component.mjs +0 -54
  78. package/dist/esm2022/components/ui-menu/experiment-info/experiment-info.component.mjs +0 -100
  79. package/dist/esm2022/components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.mjs +0 -172
  80. package/dist/esm2022/components/ui-menu/geometry-browser/geometry-browser.component.mjs +0 -45
  81. package/dist/esm2022/components/ui-menu/index.mjs +0 -40
  82. package/dist/esm2022/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.mjs +0 -69
  83. package/dist/esm2022/components/ui-menu/info-panel/info-panel.component.mjs +0 -59
  84. package/dist/esm2022/components/ui-menu/io-options/io-options-dialog/io-options-dialog.component.mjs +0 -304
  85. package/dist/esm2022/components/ui-menu/io-options/io-options.component.mjs +0 -36
  86. package/dist/esm2022/components/ui-menu/main-view-toggle/main-view-toggle.component.mjs +0 -32
  87. package/dist/esm2022/components/ui-menu/make-picture/make-picture.component.mjs +0 -109
  88. package/dist/esm2022/components/ui-menu/menu-toggle/menu-toggle.component.mjs +0 -40
  89. package/dist/esm2022/components/ui-menu/object-clipping/object-clipping.component.mjs +0 -72
  90. package/dist/esm2022/components/ui-menu/object-selection/object-selection-overlay/object-selection-overlay.component.mjs +0 -59
  91. package/dist/esm2022/components/ui-menu/object-selection/object-selection.component.mjs +0 -46
  92. package/dist/esm2022/components/ui-menu/overlay/overlay.component.mjs +0 -197
  93. package/dist/esm2022/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.mjs +0 -83
  94. package/dist/esm2022/components/ui-menu/overlay-view/overlay-view.component.mjs +0 -41
  95. package/dist/esm2022/components/ui-menu/performance-toggle/performance-toggle.component.mjs +0 -29
  96. package/dist/esm2022/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.mjs +0 -165
  97. package/dist/esm2022/components/ui-menu/share-link/share-link.component.mjs +0 -28
  98. package/dist/esm2022/components/ui-menu/ss-mode/ss-mode.component.mjs +0 -46
  99. package/dist/esm2022/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.mjs +0 -94
  100. package/dist/esm2022/components/ui-menu/tree-menu/tree-menu.component.mjs +0 -78
  101. package/dist/esm2022/components/ui-menu/ui-menu-wrapper/ui-menu-wrapper.component.mjs +0 -34
  102. package/dist/esm2022/components/ui-menu/ui-menu.component.mjs +0 -54
  103. package/dist/esm2022/components/ui-menu/view-options/cartesian-grid-config/cartesian-grid-config.component.mjs +0 -247
  104. package/dist/esm2022/components/ui-menu/view-options/view-options.component.mjs +0 -170
  105. package/dist/esm2022/components/ui-menu/vr-toggle/vr-toggle.component.mjs +0 -52
  106. package/dist/esm2022/components/ui-menu/zoom-controls/zoom-controls.component.mjs +0 -79
  107. package/dist/esm2022/phoenix-ui-components.mjs +0 -5
  108. package/dist/esm2022/public_api.mjs +0 -11
  109. package/dist/esm2022/services/error-message-service.mjs +0 -30
  110. package/dist/esm2022/services/event-display.service.mjs +0 -23
  111. package/dist/esm2022/services/extras/attribute.pipe.mjs +0 -33
  112. package/dist/esm2022/services/extras/event-data-import.mjs +0 -21
  113. package/dist/esm2022/services/file-loader.service.mjs +0 -93
  114. package/dist/esm2022/services/global-error-handler.mjs +0 -30
  115. package/dist/esm2022/services/index.mjs +0 -4
  116. package/dist/public_api.d.ts +0 -10
  117. package/dist/services/error-message-service.d.ts +0 -17
  118. package/dist/services/event-display.service.d.ts +0 -13
  119. package/dist/services/extras/attribute.pipe.d.ts +0 -16
  120. package/dist/services/extras/event-data-import.d.ts +0 -15
  121. package/dist/services/file-loader.service.d.ts +0 -17
  122. package/dist/services/global-error-handler.d.ts +0 -20
  123. package/dist/services/index.d.ts +0 -3
@@ -1,274 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { PrettySymbols, SceneManager, } from 'phoenix-event-display';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../../../services/event-display.service";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/material/tooltip";
7
- import * as i4 from "@angular/forms";
8
- import * as i5 from "@angular/material/checkbox";
9
- import * as i6 from "../../overlay/overlay.component";
10
- const _c0 = (a0, a1, a2) => ({ "active-object": a0, "is-cut": a1, "d-none": a2 });
11
- function CollectionsInfoOverlayComponent_div_1_div_1_option_10_Template(rf, ctx) { if (rf & 1) {
12
- i0.ɵɵelementStart(0, "option", 15);
13
- i0.ɵɵtext(1);
14
- i0.ɵɵelementEnd();
15
- } if (rf & 2) {
16
- const collection_r3 = ctx.$implicit;
17
- i0.ɵɵproperty("value", collection_r3);
18
- i0.ɵɵadvance();
19
- i0.ɵɵtextInterpolate1(" ", collection_r3, " ");
20
- } }
21
- function CollectionsInfoOverlayComponent_div_1_div_1_mat_checkbox_11_Template(rf, ctx) { if (rf & 1) {
22
- const _r4 = i0.ɵɵgetCurrentView();
23
- i0.ɵɵelementStart(0, "mat-checkbox", 16);
24
- i0.ɵɵlistener("change", function CollectionsInfoOverlayComponent_div_1_div_1_mat_checkbox_11_Template_mat_checkbox_change_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.toggleInvisible($event.checked)); });
25
- i0.ɵɵtext(1, " Hide Invisible Objects ");
26
- i0.ɵɵelementEnd();
27
- } }
28
- function CollectionsInfoOverlayComponent_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
29
- const _r1 = i0.ɵɵgetCurrentView();
30
- i0.ɵɵelementStart(0, "div", 7)(1, "div", 8)(2, "span");
31
- i0.ɵɵtext(3, "Choose a collection: ");
32
- i0.ɵɵelementEnd();
33
- i0.ɵɵelementStart(4, "div", 9)(5, "label", 10);
34
- i0.ɵɵtext(6, "Event");
35
- i0.ɵɵelementEnd();
36
- i0.ɵɵelementStart(7, "select", 11);
37
- i0.ɵɵlistener("change", function CollectionsInfoOverlayComponent_div_1_div_1_Template_select_change_7_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.changeCollection($event.target.value)); });
38
- i0.ɵɵelementStart(8, "option", 12);
39
- i0.ɵɵtext(9, "Choose Collection");
40
- i0.ɵɵelementEnd();
41
- i0.ɵɵtemplate(10, CollectionsInfoOverlayComponent_div_1_div_1_option_10_Template, 2, 2, "option", 13);
42
- i0.ɵɵelementEnd()();
43
- i0.ɵɵtemplate(11, CollectionsInfoOverlayComponent_div_1_div_1_mat_checkbox_11_Template, 2, 0, "mat-checkbox", 14);
44
- i0.ɵɵelementEnd()();
45
- } if (rf & 2) {
46
- const ctx_r1 = i0.ɵɵnextContext(2);
47
- i0.ɵɵadvance(10);
48
- i0.ɵɵproperty("ngForOf", ctx_r1.collections);
49
- i0.ɵɵadvance();
50
- i0.ɵɵproperty("ngIf", ctx_r1.showingCollection);
51
- } }
52
- function CollectionsInfoOverlayComponent_div_1_table_3_th_9_Template(rf, ctx) { if (rf & 1) {
53
- const _r5 = i0.ɵɵgetCurrentView();
54
- i0.ɵɵelementStart(0, "th")(1, "div", 20)(2, "div");
55
- i0.ɵɵtext(3);
56
- i0.ɵɵelementEnd();
57
- i0.ɵɵelementStart(4, "div", 21)(5, "button", 22);
58
- i0.ɵɵlistener("click", function CollectionsInfoOverlayComponent_div_1_table_3_th_9_Template_button_click_5_listener() { const column_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.sort(column_r6, "dec")); });
59
- i0.ɵɵnamespaceSVG();
60
- i0.ɵɵelementStart(6, "svg");
61
- i0.ɵɵelement(7, "use", 23);
62
- i0.ɵɵelementEnd()();
63
- i0.ɵɵnamespaceHTML();
64
- i0.ɵɵelementStart(8, "button", 24);
65
- i0.ɵɵlistener("click", function CollectionsInfoOverlayComponent_div_1_table_3_th_9_Template_button_click_8_listener() { const column_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.sort(column_r6, "asc")); });
66
- i0.ɵɵnamespaceSVG();
67
- i0.ɵɵelementStart(9, "svg");
68
- i0.ɵɵelement(10, "use", 23);
69
- i0.ɵɵelementEnd()()()()();
70
- } if (rf & 2) {
71
- const column_r6 = ctx.$implicit;
72
- const ctx_r1 = i0.ɵɵnextContext(3);
73
- i0.ɵɵadvance(3);
74
- i0.ɵɵtextInterpolate1(" ", ctx_r1.getPrettySymbol(column_r6), " ");
75
- } }
76
- function CollectionsInfoOverlayComponent_div_1_table_3_tr_11_div_4_Template(rf, ctx) { if (rf & 1) {
77
- const _r8 = i0.ɵɵgetCurrentView();
78
- i0.ɵɵelementStart(0, "div", 33)(1, "button", 34);
79
- i0.ɵɵlistener("click", function CollectionsInfoOverlayComponent_div_1_table_3_tr_11_div_4_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r8); const object_r9 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.lookAtObject(object_r9.uuid)); });
80
- i0.ɵɵnamespaceSVG();
81
- i0.ɵɵelementStart(2, "svg");
82
- i0.ɵɵelement(3, "use", 35);
83
- i0.ɵɵelementEnd()();
84
- i0.ɵɵnamespaceHTML();
85
- i0.ɵɵelementStart(4, "button", 36);
86
- i0.ɵɵlistener("click", function CollectionsInfoOverlayComponent_div_1_table_3_tr_11_div_4_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r8); const object_r9 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.highlightObject(object_r9.uuid)); });
87
- i0.ɵɵnamespaceSVG();
88
- i0.ɵɵelementStart(5, "svg");
89
- i0.ɵɵelement(6, "use", 37);
90
- i0.ɵɵelementEnd()()();
91
- } }
92
- function CollectionsInfoOverlayComponent_div_1_table_3_tr_11_td_13_Template(rf, ctx) { if (rf & 1) {
93
- i0.ɵɵelementStart(0, "td");
94
- i0.ɵɵtext(1);
95
- i0.ɵɵelementEnd();
96
- } if (rf & 2) {
97
- const column_r12 = ctx.$implicit;
98
- const object_r9 = i0.ɵɵnextContext().$implicit;
99
- i0.ɵɵadvance();
100
- i0.ɵɵtextInterpolate1(" ", object_r9[column_r12], " ");
101
- } }
102
- function CollectionsInfoOverlayComponent_div_1_table_3_tr_11_Template(rf, ctx) { if (rf & 1) {
103
- const _r7 = i0.ɵɵgetCurrentView();
104
- i0.ɵɵelementStart(0, "tr", 25)(1, "td");
105
- i0.ɵɵtext(2);
106
- i0.ɵɵelementEnd();
107
- i0.ɵɵelementStart(3, "td");
108
- i0.ɵɵtemplate(4, CollectionsInfoOverlayComponent_div_1_table_3_tr_11_div_4_Template, 7, 0, "div", 26);
109
- i0.ɵɵelementEnd();
110
- i0.ɵɵelementStart(5, "td")(6, "div", 27)(7, "div", 28);
111
- i0.ɵɵelement(8, "input", 29);
112
- i0.ɵɵelementEnd();
113
- i0.ɵɵelementStart(9, "div", 30)(10, "button", 31);
114
- i0.ɵɵlistener("click", function CollectionsInfoOverlayComponent_div_1_table_3_tr_11_Template_button_click_10_listener() { const ctx_r9 = i0.ɵɵrestoreView(_r7); const object_r9 = ctx_r9.$implicit; const i_r11 = ctx_r9.index; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.addLabel(i_r11, object_r9.uuid)); });
115
- i0.ɵɵnamespaceSVG();
116
- i0.ɵɵelementStart(11, "svg");
117
- i0.ɵɵelement(12, "use", 32);
118
- i0.ɵɵelementEnd()()()()();
119
- i0.ɵɵtemplate(13, CollectionsInfoOverlayComponent_div_1_table_3_tr_11_td_13_Template, 2, 1, "td", 18);
120
- i0.ɵɵelementEnd();
121
- } if (rf & 2) {
122
- const object_r9 = ctx.$implicit;
123
- const i_r11 = ctx.index;
124
- const ctx_r1 = i0.ɵɵnextContext(3);
125
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(7, _c0, ctx_r1.activeObject && ctx_r1.activeObject.value === object_r9.uuid, object_r9.isCut, object_r9.isCut && ctx_r1.hideInvisible));
126
- i0.ɵɵattribute("id", object_r9.uuid);
127
- i0.ɵɵadvance(2);
128
- i0.ɵɵtextInterpolate1("#", i_r11, "");
129
- i0.ɵɵadvance(2);
130
- i0.ɵɵproperty("ngIf", object_r9.uuid);
131
- i0.ɵɵadvance(4);
132
- i0.ɵɵpropertyInterpolate("value", object_r9.labelText);
133
- i0.ɵɵproperty("id", "label" + i_r11);
134
- i0.ɵɵadvance(5);
135
- i0.ɵɵproperty("ngForOf", ctx_r1.collectionColumns);
136
- } }
137
- function CollectionsInfoOverlayComponent_div_1_table_3_Template(rf, ctx) { if (rf & 1) {
138
- i0.ɵɵelementStart(0, "table", 17)(1, "thead")(2, "tr")(3, "th");
139
- i0.ɵɵtext(4, "No.");
140
- i0.ɵɵelementEnd();
141
- i0.ɵɵelementStart(5, "th");
142
- i0.ɵɵtext(6, "Selection");
143
- i0.ɵɵelementEnd();
144
- i0.ɵɵelementStart(7, "th");
145
- i0.ɵɵtext(8, "Label");
146
- i0.ɵɵelementEnd();
147
- i0.ɵɵtemplate(9, CollectionsInfoOverlayComponent_div_1_table_3_th_9_Template, 11, 1, "th", 18);
148
- i0.ɵɵelementEnd()();
149
- i0.ɵɵelementStart(10, "tbody");
150
- i0.ɵɵtemplate(11, CollectionsInfoOverlayComponent_div_1_table_3_tr_11_Template, 14, 11, "tr", 19);
151
- i0.ɵɵelementEnd()();
152
- } if (rf & 2) {
153
- const ctx_r1 = i0.ɵɵnextContext(2);
154
- i0.ɵɵadvance(9);
155
- i0.ɵɵproperty("ngForOf", ctx_r1.collectionColumns);
156
- i0.ɵɵadvance(2);
157
- i0.ɵɵproperty("ngForOf", ctx_r1.showingCollection);
158
- } }
159
- function CollectionsInfoOverlayComponent_div_1_p_4_Template(rf, ctx) { if (rf & 1) {
160
- i0.ɵɵelementStart(0, "p", 38);
161
- i0.ɵɵtext(1, " Load event data to be able to display information about the collections here. ");
162
- i0.ɵɵelementEnd();
163
- } }
164
- function CollectionsInfoOverlayComponent_div_1_Template(rf, ctx) { if (rf & 1) {
165
- i0.ɵɵelementStart(0, "div", 2);
166
- i0.ɵɵtemplate(1, CollectionsInfoOverlayComponent_div_1_div_1_Template, 12, 2, "div", 3);
167
- i0.ɵɵelementStart(2, "div", 4);
168
- i0.ɵɵtemplate(3, CollectionsInfoOverlayComponent_div_1_table_3_Template, 12, 2, "table", 5)(4, CollectionsInfoOverlayComponent_div_1_p_4_Template, 2, 0, "p", 6);
169
- i0.ɵɵelementEnd()();
170
- } if (rf & 2) {
171
- const ctx_r1 = i0.ɵɵnextContext();
172
- i0.ɵɵadvance();
173
- i0.ɵɵproperty("ngIf", ctx_r1.collections != null);
174
- i0.ɵɵadvance(2);
175
- i0.ɵɵproperty("ngIf", ctx_r1.showingCollection);
176
- i0.ɵɵadvance();
177
- i0.ɵɵproperty("ngIf", !ctx_r1.collections);
178
- } }
179
- export class CollectionsInfoOverlayComponent {
180
- elementRef;
181
- eventDisplay;
182
- showObjectsInfo;
183
- hideInvisible;
184
- collections;
185
- selectedCollection;
186
- showingCollection;
187
- collectionColumns;
188
- getPrettySymbol = PrettySymbols.getPrettySymbol;
189
- activeObject;
190
- constructor(elementRef, eventDisplay) {
191
- this.elementRef = elementRef;
192
- this.eventDisplay = eventDisplay;
193
- }
194
- ngOnInit() {
195
- this.eventDisplay.listenToDisplayedEventChange((_event) => (this.collections = this.eventDisplay.getCollections()));
196
- this.activeObject = this.eventDisplay.getActiveObjectId();
197
- this.activeObject.onUpdate((value) => {
198
- if (document.getElementById(value)) {
199
- document.getElementById(value).scrollIntoView(false);
200
- }
201
- });
202
- }
203
- changeCollection(selectedCollection) {
204
- const eventDataGroup = this.getEventDataGroup();
205
- this.selectedCollection = selectedCollection;
206
- this.showingCollection = this.eventDisplay
207
- .getCollection(selectedCollection)
208
- .map((object) => ({
209
- ...object,
210
- isCut: !eventDataGroup.getObjectByProperty('uuid', object.uuid)
211
- ?.visible,
212
- }));
213
- this.collectionColumns = Object.keys(this.showingCollection[0]).filter((column) => !['uuid', 'hits', 'isCut', 'labelText'].includes(column));
214
- }
215
- sort(column, order) {
216
- if (order === 'asc')
217
- this.showingCollection.sort((a, b) => (a[column] < b[column] ? -1 : 1));
218
- else
219
- this.showingCollection.sort((a, b) => (a[column] > b[column] ? -1 : 1));
220
- }
221
- lookAtObject(uuid) {
222
- if (uuid) {
223
- this.activeObject.update(uuid);
224
- this.eventDisplay.lookAtObject(uuid);
225
- }
226
- }
227
- highlightObject(uuid) {
228
- if (uuid) {
229
- this.activeObject.update(uuid);
230
- this.eventDisplay.highlightObject(uuid);
231
- }
232
- }
233
- enableHighlighting() {
234
- this.eventDisplay.enableHighlighting();
235
- }
236
- disableHighlighting() {
237
- this.eventDisplay.disableHighlighting();
238
- }
239
- toggleInvisible(checked) {
240
- this.hideInvisible = checked;
241
- }
242
- addLabel(index, uuid) {
243
- const labelValue = this.elementRef.nativeElement.querySelector(`#label${index}`).value;
244
- if (this.selectedCollection) {
245
- // Empty labelValue will remove the label object
246
- this.eventDisplay.addLabelToObject(labelValue, this.selectedCollection, index, uuid);
247
- }
248
- }
249
- getEventDataGroup() {
250
- return this.eventDisplay
251
- .getThreeManager()
252
- .getSceneManager()
253
- .getScene()
254
- .getObjectByName(SceneManager.EVENT_DATA_ID);
255
- }
256
- static ɵfac = function CollectionsInfoOverlayComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CollectionsInfoOverlayComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.EventDisplayService)); };
257
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollectionsInfoOverlayComponent, selectors: [["app-collections-info-overlay"]], inputs: { showObjectsInfo: "showObjectsInfo" }, decls: 2, vars: 3, consts: [["overlayTitle", "Collections Info", "icon", "info", 3, "resizable", "active"], ["class", "collectionsInfo m-2", 4, "ngIf"], [1, "collectionsInfo", "m-2"], ["class", "collectionSelector mb-2 d-flex align-items-center", 4, "ngIf"], [1, "boxBody", "table-responsive"], ["id", "collectionTable", "class", "table table-borderless table-sm", 4, "ngIf"], ["class", "emptyBox", 4, "ngIf"], [1, "collectionSelector", "mb-2", "d-flex", "align-items-center"], [1, "d-flex", "align-items-center"], [1, "eventSelector"], ["for", "event"], ["id", "collection", "name", "collection", 3, "change"], ["value", "", "selected", "", "disabled", "", "hidden", ""], [3, "value", 4, "ngFor", "ngForOf"], [3, "change", 4, "ngIf"], [3, "value"], [3, "change"], ["id", "collectionTable", 1, "table", "table-borderless", "table-sm"], [4, "ngFor", "ngForOf"], [3, "ngClass", 4, "ngFor", "ngForOf"], [1, "head-wrapper"], [1, "sort-options"], [1, "icon-wrapper", "icon-button", "btn-blank", "up", 3, "click"], ["href", "assets/icons/expand.svg#expand"], [1, "icon-wrapper", "icon-button", "btn-blank", 3, "click"], [3, "ngClass"], ["class", "row justify-content-center icon-wrapper", 4, "ngIf"], [1, "row", "m-0", "add-label"], [1, "col-10", "p-0"], ["type", "text", 1, "form-control", "form-control-sm", 3, "value", "id"], [1, "col-2", "p-0", "pl-2", "text-center", "icon-wrapper"], ["matTooltip", "Add, update or remove object label", 1, "object-select", "btn-blank", 3, "click"], ["href", "assets/icons/update.svg#update"], [1, "row", "justify-content-center", "icon-wrapper"], ["matTooltip", "Move camera to object", 1, "object-select", "btn-blank", 3, "click"], ["href", "assets/icons/views.svg#views"], ["matTooltip", "Highlight object", 1, "object-select", "btn-blank", 3, "click"], ["href", "assets/icons/cursor.svg#cursor"], [1, "emptyBox"]], template: function CollectionsInfoOverlayComponent_Template(rf, ctx) { if (rf & 1) {
258
- i0.ɵɵelementStart(0, "app-overlay", 0);
259
- i0.ɵɵtemplate(1, CollectionsInfoOverlayComponent_div_1_Template, 5, 3, "div", 1);
260
- i0.ɵɵelementEnd();
261
- } if (rf & 2) {
262
- i0.ɵɵproperty("resizable", true)("active", ctx.showObjectsInfo);
263
- i0.ɵɵadvance();
264
- i0.ɵɵproperty("ngIf", ctx.showObjectsInfo);
265
- } }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i3.MatTooltip, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i5.MatCheckbox, i6.OverlayComponent], styles: [".collectionsInfo[_ngcontent-%COMP%]{height:95%}.collectionsInfo[_ngcontent-%COMP%] .collectionSelector[_ngcontent-%COMP%]{height:15%;min-height:2rem}.collectionsInfo[_ngcontent-%COMP%] .collectionSelector[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--phoenix-text-color-secondary);margin-right:1rem}.collectionsInfo[_ngcontent-%COMP%] .collectionSelector[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{margin-left:1rem}.boxBody[_ngcontent-%COMP%]{height:85%;overflow:scroll}.boxBody[_ngcontent-%COMP%] p.emptyBox[_ngcontent-%COMP%]{max-width:21em}.boxBody[_ngcontent-%COMP%] .add-label[_ngcontent-%COMP%]{min-width:8rem}.boxBody[_ngcontent-%COMP%] .add-label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding:.1rem .3rem;font-size:.75rem}#collectionTable[_ngcontent-%COMP%]{position:relative;color:var(--phoenix-text-color-secondary)}#collectionTable[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{position:sticky;top:0;z-index:100;background:var(--phoenix-background-color-secondary)}#collectionTable[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] .head-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center}#collectionTable[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] .head-wrapper[_ngcontent-%COMP%] .sort-options[_ngcontent-%COMP%]{display:flex;flex-direction:row}#collectionTable[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] .head-wrapper[_ngcontent-%COMP%] .sort-options[_ngcontent-%COMP%] .icon-wrapper[_ngcontent-%COMP%]{display:flex;width:1rem;height:1rem;padding:.2rem}#collectionTable[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] .head-wrapper[_ngcontent-%COMP%] .sort-options[_ngcontent-%COMP%] .icon-wrapper.up[_ngcontent-%COMP%]{transform:rotate(180deg)}#collectionTable[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] .head-wrapper[_ngcontent-%COMP%] .sort-options[_ngcontent-%COMP%] .icon-wrapper[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:100%;height:100%}#collectionTable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{padding-right:1.2rem}#collectionTable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] *[_ngcontent-%COMP%]:last-child{padding-right:0}#collectionTable[_ngcontent-%COMP%] tr.is-cut[_ngcontent-%COMP%]{opacity:.5}#collectionTable[_ngcontent-%COMP%] tr.active-object[_ngcontent-%COMP%]{color:var(--phoenix-background-color);background:var(--phoenix-text-color);box-shadow:0 0 15px var(--phoenix-text-color)}#collectionTable[_ngcontent-%COMP%] tr.active-object[_ngcontent-%COMP%] div.icon-wrapper[_ngcontent-%COMP%]{--phoenix-options-icon-path: var(--phoenix-background-color);--phoenix-options-icon-bg: var(--phoenix-text-color-hover)}#collectionTable[_ngcontent-%COMP%] tr.active-object[_ngcontent-%COMP%] .add-label[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{--phoenix-text-color: var(--phoenix-background-color);--phoenix-background-color-tertiary: var( --phoenix-text-color-secondary );--phoenix-border: var(--phoenix-background-color)}#collectionTable[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .object-select[_ngcontent-%COMP%]{position:relative;width:1.6rem;height:1.6rem;margin-right:.4em;text-align:center;background-color:var(--phoenix-options-icon-bg);border-radius:10px;cursor:pointer}#collectionTable[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .object-select[_ngcontent-%COMP%]:last-child{margin-right:0}#collectionTable[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .object-select[_ngcontent-%COMP%]:hover{border:1px solid var(--phoenix-options-icon-path)}#collectionTable[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .object-select[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{position:absolute;top:0;left:0;padding:.4rem;width:100%;height:100%;vertical-align:top}.eventSelector[_ngcontent-%COMP%]{display:flex}.eventSelector[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:none;color:var(--phoenix-text-color-secondary)}.eventSelector[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:9rem;padding:5px 10px;font-size:12px;border:1px solid rgba(88,88,88,.08);box-shadow:var(--phoenix-icon-shadow);background-color:var(--phoenix-background-color-tertiary);color:var(--phoenix-text-color-secondary)}"] });
266
- }
267
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CollectionsInfoOverlayComponent, [{
268
- type: Component,
269
- args: [{ selector: 'app-collections-info-overlay', template: "<!-- Show objects -->\n<app-overlay\n overlayTitle=\"Collections Info\"\n icon=\"info\"\n [resizable]=\"true\"\n [active]=\"showObjectsInfo\"\n>\n <!-- Using ngIf to remove it from DOM since this panel requires heavy computing -->\n <div *ngIf=\"showObjectsInfo\" class=\"collectionsInfo m-2\">\n <div\n class=\"collectionSelector mb-2 d-flex align-items-center\"\n *ngIf=\"collections != null\"\n >\n <div class=\"d-flex align-items-center\">\n <span>Choose a collection: </span>\n <div class=\"eventSelector\">\n <label for=\"event\">Event</label>\n <select\n id=\"collection\"\n name=\"collection\"\n (change)=\"changeCollection($event.target.value)\"\n >\n <option value=\"\" selected disabled hidden>Choose Collection</option>\n <option *ngFor=\"let collection of collections\" [value]=\"collection\">\n {{ collection }}\n </option>\n </select>\n </div>\n <mat-checkbox\n *ngIf=\"showingCollection\"\n (change)=\"toggleInvisible($event.checked)\"\n >\n Hide Invisible Objects\n </mat-checkbox>\n </div>\n </div>\n\n <div class=\"boxBody table-responsive\">\n <table\n id=\"collectionTable\"\n class=\"table table-borderless table-sm\"\n *ngIf=\"showingCollection\"\n >\n <thead>\n <tr>\n <th>No.</th>\n <th>Selection</th>\n <th>Label</th>\n <th *ngFor=\"let column of collectionColumns\">\n <div class=\"head-wrapper\">\n <div>\n {{ getPrettySymbol(column) }}\n </div>\n <div class=\"sort-options\">\n <button\n class=\"icon-wrapper icon-button btn-blank up\"\n (click)=\"sort(column, 'dec')\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n <button\n class=\"icon-wrapper icon-button btn-blank\"\n (click)=\"sort(column, 'asc')\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n </div>\n </div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let object of showingCollection; index as i\"\n [attr.id]=\"object.uuid\"\n [ngClass]=\"{\n 'active-object':\n activeObject && activeObject.value === object.uuid,\n 'is-cut': object.isCut,\n 'd-none': object.isCut && hideInvisible,\n }\"\n >\n <td>#{{ i }}</td>\n <td>\n <div\n *ngIf=\"object.uuid\"\n class=\"row justify-content-center icon-wrapper\"\n >\n <button\n class=\"object-select btn-blank\"\n matTooltip=\"Move camera to object\"\n (click)=\"lookAtObject(object.uuid)\"\n >\n <svg>\n <use href=\"assets/icons/views.svg#views\"></use>\n </svg>\n </button>\n <button\n class=\"object-select btn-blank\"\n matTooltip=\"Highlight object\"\n (click)=\"highlightObject(object.uuid)\"\n >\n <svg>\n <use href=\"assets/icons/cursor.svg#cursor\"></use>\n </svg>\n </button>\n </div>\n </td>\n <td>\n <div class=\"row m-0 add-label\">\n <div class=\"col-10 p-0\">\n <input\n class=\"form-control form-control-sm\"\n type=\"text\"\n value=\"{{ object.labelText }}\"\n [id]=\"'label' + i\"\n />\n </div>\n <div class=\"col-2 p-0 pl-2 text-center icon-wrapper\">\n <button\n class=\"object-select btn-blank\"\n matTooltip=\"Add, update or remove object label\"\n (click)=\"addLabel(i, object.uuid)\"\n >\n <svg>\n <use href=\"assets/icons/update.svg#update\"></use>\n </svg>\n </button>\n </div>\n </div>\n </td>\n <td *ngFor=\"let column of collectionColumns\">\n {{ object[column] }}\n </td>\n </tr>\n </tbody>\n </table>\n <p class=\"emptyBox\" *ngIf=\"!collections\">\n Load event data to be able to display information about the collections\n here.\n </p>\n </div>\n </div>\n</app-overlay>\n", styles: [".collectionsInfo{height:95%}.collectionsInfo .collectionSelector{height:15%;min-height:2rem}.collectionsInfo .collectionSelector span{color:var(--phoenix-text-color-secondary);margin-right:1rem}.collectionsInfo .collectionSelector mat-checkbox{margin-left:1rem}.boxBody{height:85%;overflow:scroll}.boxBody p.emptyBox{max-width:21em}.boxBody .add-label{min-width:8rem}.boxBody .add-label input{padding:.1rem .3rem;font-size:.75rem}#collectionTable{position:relative;color:var(--phoenix-text-color-secondary)}#collectionTable thead tr th{position:sticky;top:0;z-index:100;background:var(--phoenix-background-color-secondary)}#collectionTable thead tr th .head-wrapper{display:flex;align-items:center}#collectionTable thead tr th .head-wrapper .sort-options{display:flex;flex-direction:row}#collectionTable thead tr th .head-wrapper .sort-options .icon-wrapper{display:flex;width:1rem;height:1rem;padding:.2rem}#collectionTable thead tr th .head-wrapper .sort-options .icon-wrapper.up{transform:rotate(180deg)}#collectionTable thead tr th .head-wrapper .sort-options .icon-wrapper svg{width:100%;height:100%}#collectionTable tr *{padding-right:1.2rem}#collectionTable tr *:last-child{padding-right:0}#collectionTable tr.is-cut{opacity:.5}#collectionTable tr.active-object{color:var(--phoenix-background-color);background:var(--phoenix-text-color);box-shadow:0 0 15px var(--phoenix-text-color)}#collectionTable tr.active-object div.icon-wrapper{--phoenix-options-icon-path: var(--phoenix-background-color);--phoenix-options-icon-bg: var(--phoenix-text-color-hover)}#collectionTable tr.active-object .add-label input{--phoenix-text-color: var(--phoenix-background-color);--phoenix-background-color-tertiary: var( --phoenix-text-color-secondary );--phoenix-border: var(--phoenix-background-color)}#collectionTable td .object-select{position:relative;width:1.6rem;height:1.6rem;margin-right:.4em;text-align:center;background-color:var(--phoenix-options-icon-bg);border-radius:10px;cursor:pointer}#collectionTable td .object-select:last-child{margin-right:0}#collectionTable td .object-select:hover{border:1px solid var(--phoenix-options-icon-path)}#collectionTable td .object-select svg{position:absolute;top:0;left:0;padding:.4rem;width:100%;height:100%;vertical-align:top}.eventSelector{display:flex}.eventSelector label{display:none;color:var(--phoenix-text-color-secondary)}.eventSelector select{width:9rem;padding:5px 10px;font-size:12px;border:1px solid rgba(88,88,88,.08);box-shadow:var(--phoenix-icon-shadow);background-color:var(--phoenix-background-color-tertiary);color:var(--phoenix-text-color-secondary)}\n"] }]
270
- }], () => [{ type: i0.ElementRef }, { type: i1.EventDisplayService }], { showObjectsInfo: [{
271
- type: Input
272
- }] }); })();
273
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollectionsInfoOverlayComponent, { className: "CollectionsInfoOverlayComponent", filePath: "components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.ts", lineNumber: 14 }); })();
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvY29sbGVjdGlvbnMtaW5mby9jb2xsZWN0aW9ucy1pbmZvLW92ZXJsYXkvY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvY29sbGVjdGlvbnMtaW5mby9jb2xsZWN0aW9ucy1pbmZvLW92ZXJsYXkvY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsS0FBSyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFDTCxhQUFhLEVBRWIsWUFBWSxHQUNiLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7SUNrQm5CLGtDQUFvRTtJQUNsRSxZQUNGO0lBQUEsaUJBQVM7OztJQUZzQyxxQ0FBb0I7SUFDakUsY0FDRjtJQURFLDhDQUNGOzs7O0lBR0osd0NBR0M7SUFEQyxnT0FBVSxzQ0FBK0IsS0FBQztJQUUxQyx3Q0FDRjtJQUFBLGlCQUFlOzs7O0lBbkJmLEFBREYsQUFKRiw4QkFHQyxhQUN3QyxXQUMvQjtJQUFBLHFDQUFxQjtJQUFBLGlCQUFPO0lBRWhDLEFBREYsOEJBQTJCLGdCQUNOO0lBQUEscUJBQUs7SUFBQSxpQkFBUTtJQUNoQyxrQ0FJQztJQURDLDBNQUFVLDRDQUFxQyxLQUFDO0lBRWhELGtDQUEwQztJQUFBLGlDQUFpQjtJQUFBLGlCQUFTO0lBQ3BFLHFHQUFvRTtJQUl4RSxBQURFLGlCQUFTLEVBQ0w7SUFDTixpSEFHQztJQUlMLEFBREUsaUJBQU0sRUFDRjs7O0lBWmlDLGdCQUFjO0lBQWQsNENBQWM7SUFNOUMsY0FBdUI7SUFBdkIsK0NBQXVCOzs7O0lBcUJsQixBQURGLEFBREYsMEJBQTZDLGNBQ2pCLFVBQ25CO0lBQ0gsWUFDRjtJQUFBLGlCQUFNO0lBRUosQUFERiwrQkFBMEIsaUJBSXZCO0lBREMscU9BQVMsdUJBQWEsS0FBSyxDQUFDLEtBQUM7O0lBRTdCLDJCQUFLO0lBQ0gsMEJBQWlEO0lBRXJELEFBREUsaUJBQU0sRUFDQzs7SUFDVCxrQ0FHQztJQURDLHFPQUFTLHVCQUFhLEtBQUssQ0FBQyxLQUFDOztJQUU3QiwyQkFBSztJQUNILDJCQUFpRDtJQUszRCxBQURFLEFBREUsQUFERSxBQURFLGlCQUFNLEVBQ0MsRUFDTCxFQUNGLEVBQ0g7Ozs7SUFyQkMsZUFDRjtJQURFLGtFQUNGOzs7O0lBd0NBLEFBSkYsK0JBR0MsaUJBS0U7SUFEQyxnUUFBUyxtQ0FBeUIsS0FBQzs7SUFFbkMsMkJBQUs7SUFDSCwwQkFBK0M7SUFFbkQsQUFERSxpQkFBTSxFQUNDOztJQUNULGtDQUlDO0lBREMsZ1FBQVMsc0NBQTRCLEtBQUM7O0lBRXRDLDJCQUFLO0lBQ0gsMEJBQWlEO0lBR3ZELEFBREUsQUFERSxpQkFBTSxFQUNDLEVBQ0w7OztJQXlCUiwwQkFBNkM7SUFDM0MsWUFDRjtJQUFBLGlCQUFLOzs7O0lBREgsY0FDRjtJQURFLHNEQUNGOzs7O0lBbkRBLEFBVkYsOEJBU0MsU0FDSztJQUFBLFlBQVE7SUFBQSxpQkFBSztJQUNqQiwwQkFBSTtJQUNGLHFHQUdDO0lBb0JILGlCQUFLO0lBR0QsQUFERixBQURGLDBCQUFJLGNBQzZCLGNBQ0w7SUFDdEIsNEJBS0U7SUFDSixpQkFBTTtJQUVKLEFBREYsK0JBQXFELGtCQUtsRDtJQURDLDBSQUFTLHNDQUF3QixLQUFDOztJQUVsQyw0QkFBSztJQUNILDJCQUFpRDtJQUszRCxBQURFLEFBREUsQUFERSxBQURFLGlCQUFNLEVBQ0MsRUFDTCxFQUNGLEVBQ0g7SUFDTCxxR0FBNkM7SUFHL0MsaUJBQUs7Ozs7O0lBM0RILG1MQUtFOztJQUVFLGVBQVE7SUFBUixxQ0FBUTtJQUdQLGVBQWlCO0lBQWpCLHFDQUFpQjtJQTZCZCxlQUE4QjtJQUE5QixzREFBOEI7SUFDOUIsb0NBQWtCO0lBZ0JILGVBQW9CO0lBQXBCLGtEQUFvQjs7O0lBMUYzQyxBQURGLEFBREYsQUFMRixpQ0FJQyxZQUNRLFNBQ0QsU0FDRTtJQUFBLG1CQUFHO0lBQUEsaUJBQUs7SUFDWiwwQkFBSTtJQUFBLHlCQUFTO0lBQUEsaUJBQUs7SUFDbEIsMEJBQUk7SUFBQSxxQkFBSztJQUFBLGlCQUFLO0lBQ2QsOEZBQTZDO0lBMEJqRCxBQURFLGlCQUFLLEVBQ0M7SUFDUiw4QkFBTztJQUNMLGlHQVNDO0lBdURMLEFBREUsaUJBQVEsRUFDRjs7O0lBNUZxQixlQUFvQjtJQUFwQixrREFBb0I7SUE2QnhCLGVBQXNCO0lBQXRCLGtEQUFzQjs7O0lBZ0UvQyw2QkFBeUM7SUFDdkMsK0ZBRUY7SUFBQSxpQkFBSTs7O0lBeElSLDhCQUF5RDtJQUN2RCx1RkFHQztJQXlCRCw4QkFBc0M7SUF3R3BDLEFBdkdBLDJGQUlDLHFFQW1Hd0M7SUFLN0MsQUFERSxpQkFBTSxFQUNGOzs7SUF2SUQsY0FBeUI7SUFBekIsaURBQXlCO0lBOEJ2QixlQUF1QjtJQUF2QiwrQ0FBdUI7SUFvR0wsY0FBa0I7SUFBbEIsMENBQWtCOztBRGhJN0MsTUFBTSxPQUFPLCtCQUErQjtJQVdoQztJQUNBO0lBWEQsZUFBZSxDQUFVO0lBQ2xDLGFBQWEsQ0FBVTtJQUN2QixXQUFXLENBQVc7SUFDdEIsa0JBQWtCLENBQVM7SUFDM0IsaUJBQWlCLENBQU07SUFDdkIsaUJBQWlCLENBQVc7SUFDNUIsZUFBZSxHQUFHLGFBQWEsQ0FBQyxlQUFlLENBQUM7SUFDaEQsWUFBWSxDQUF5QjtJQUVyQyxZQUNVLFVBQXNCLEVBQ3RCLFlBQWlDO1FBRGpDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQXFCO0lBQ3hDLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyw0QkFBNEIsQ0FDNUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQ3BFLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQzNDLElBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNuQyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsa0JBQTBCO1FBQ3pDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUU3QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVk7YUFDdkMsYUFBYSxDQUFDLGtCQUFrQixDQUFDO2FBQ2pDLEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNyQixHQUFHLE1BQU07WUFDVCxLQUFLLEVBQUUsQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQzdELEVBQUUsT0FBTztTQUNaLENBQUMsQ0FBQyxDQUFDO1FBRU4sSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUNwRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FDckUsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLENBQUMsTUFBYyxFQUFFLEtBQWE7UUFDaEMsSUFBSSxLQUFLLEtBQUssS0FBSztZQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7WUFFeEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZO1FBQ3ZCLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZO1FBQzFCLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFnQjtRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQ2xDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FDNUQsU0FBUyxLQUFLLEVBQUUsQ0FDakIsQ0FBQyxLQUFLLENBQUM7UUFDUixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzVCLGdEQUFnRDtZQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUNoQyxVQUFVLEVBQ1YsSUFBSSxDQUFDLGtCQUFrQixFQUN2QixLQUFLLEVBQ0wsSUFBSSxDQUNMLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixPQUFPLElBQUksQ0FBQyxZQUFZO2FBQ3JCLGVBQWUsRUFBRTthQUNqQixlQUFlLEVBQUU7YUFDakIsUUFBUSxFQUFFO2FBQ1YsZUFBZSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqRCxDQUFDO3lIQWxHVSwrQkFBK0I7NkRBQS9CLCtCQUErQjtZQ1o1QyxzQ0FLQztZQUVDLGdGQUF5RDtZQTJJM0QsaUJBQWM7O1lBOUlaLEFBREEsZ0NBQWtCLCtCQUNRO1lBR3BCLGNBQXFCO1lBQXJCLDBDQUFxQjs7O2lGREtoQiwrQkFBK0I7Y0FMM0MsU0FBUzsyQkFDRSw4QkFBOEI7NkVBSy9CLGVBQWU7a0JBQXZCLEtBQUs7O2tGQURLLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgdHlwZSBPbkluaXQsIElucHV0LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBQcmV0dHlTeW1ib2xzLFxuICBBY3RpdmVWYXJpYWJsZSxcbiAgU2NlbmVNYW5hZ2VyLFxufSBmcm9tICdwaG9lbml4LWV2ZW50LWRpc3BsYXknO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb2xsZWN0aW9ucy1pbmZvLW92ZXJsYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sbGVjdGlvbnMtaW5mby1vdmVybGF5LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25zSW5mb092ZXJsYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBzaG93T2JqZWN0c0luZm86IGJvb2xlYW47XG4gIGhpZGVJbnZpc2libGU6IGJvb2xlYW47XG4gIGNvbGxlY3Rpb25zOiBzdHJpbmdbXTtcbiAgc2VsZWN0ZWRDb2xsZWN0aW9uOiBzdHJpbmc7XG4gIHNob3dpbmdDb2xsZWN0aW9uOiBhbnk7XG4gIGNvbGxlY3Rpb25Db2x1bW5zOiBzdHJpbmdbXTtcbiAgZ2V0UHJldHR5U3ltYm9sID0gUHJldHR5U3ltYm9scy5nZXRQcmV0dHlTeW1ib2w7XG4gIGFjdGl2ZU9iamVjdDogQWN0aXZlVmFyaWFibGU8c3RyaW5nPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UsXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5saXN0ZW5Ub0Rpc3BsYXllZEV2ZW50Q2hhbmdlKFxuICAgICAgKF9ldmVudCkgPT4gKHRoaXMuY29sbGVjdGlvbnMgPSB0aGlzLmV2ZW50RGlzcGxheS5nZXRDb2xsZWN0aW9ucygpKSxcbiAgICApO1xuICAgIHRoaXMuYWN0aXZlT2JqZWN0ID0gdGhpcy5ldmVudERpc3BsYXkuZ2V0QWN0aXZlT2JqZWN0SWQoKTtcbiAgICB0aGlzLmFjdGl2ZU9iamVjdC5vblVwZGF0ZSgodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHZhbHVlKSkge1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh2YWx1ZSkuc2Nyb2xsSW50b1ZpZXcoZmFsc2UpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgY2hhbmdlQ29sbGVjdGlvbihzZWxlY3RlZENvbGxlY3Rpb246IHN0cmluZykge1xuICAgIGNvbnN0IGV2ZW50RGF0YUdyb3VwID0gdGhpcy5nZXRFdmVudERhdGFHcm91cCgpO1xuICAgIHRoaXMuc2VsZWN0ZWRDb2xsZWN0aW9uID0gc2VsZWN0ZWRDb2xsZWN0aW9uO1xuXG4gICAgdGhpcy5zaG93aW5nQ29sbGVjdGlvbiA9IHRoaXMuZXZlbnREaXNwbGF5XG4gICAgICAuZ2V0Q29sbGVjdGlvbihzZWxlY3RlZENvbGxlY3Rpb24pXG4gICAgICAubWFwKChvYmplY3Q6IGFueSkgPT4gKHtcbiAgICAgICAgLi4ub2JqZWN0LFxuICAgICAgICBpc0N1dDogIWV2ZW50RGF0YUdyb3VwLmdldE9iamVjdEJ5UHJvcGVydHkoJ3V1aWQnLCBvYmplY3QudXVpZClcbiAgICAgICAgICA/LnZpc2libGUsXG4gICAgICB9KSk7XG5cbiAgICB0aGlzLmNvbGxlY3Rpb25Db2x1bW5zID0gT2JqZWN0LmtleXModGhpcy5zaG93aW5nQ29sbGVjdGlvblswXSkuZmlsdGVyKFxuICAgICAgKGNvbHVtbikgPT4gIVsndXVpZCcsICdoaXRzJywgJ2lzQ3V0JywgJ2xhYmVsVGV4dCddLmluY2x1ZGVzKGNvbHVtbiksIC8vIEZJWE1FIC0gdGhpcyBpcyBhbiB1Z2x5IGhhY2suIEJ1dCBjdXJyZW50bHkgaGl0cyBmcm9tIHRyYWNrcyBtYWtlIHRyYWNrIGNvbGxlY3Rpb25zIHVudXNhYmxlLiBCZXR0ZXIgdG8gaGF2ZSBleGx1c2lvbiBsaXN0IHBhc3NlZCBpbi5cbiAgICApO1xuICB9XG5cbiAgc29ydChjb2x1bW46IHN0cmluZywgb3JkZXI6IHN0cmluZykge1xuICAgIGlmIChvcmRlciA9PT0gJ2FzYycpXG4gICAgICB0aGlzLnNob3dpbmdDb2xsZWN0aW9uLnNvcnQoKGEsIGIpID0+IChhW2NvbHVtbl0gPCBiW2NvbHVtbl0gPyAtMSA6IDEpKTtcbiAgICBlbHNlXG4gICAgICB0aGlzLnNob3dpbmdDb2xsZWN0aW9uLnNvcnQoKGEsIGIpID0+IChhW2NvbHVtbl0gPiBiW2NvbHVtbl0gPyAtMSA6IDEpKTtcbiAgfVxuXG4gIGxvb2tBdE9iamVjdCh1dWlkOiBzdHJpbmcpIHtcbiAgICBpZiAodXVpZCkge1xuICAgICAgdGhpcy5hY3RpdmVPYmplY3QudXBkYXRlKHV1aWQpO1xuICAgICAgdGhpcy5ldmVudERpc3BsYXkubG9va0F0T2JqZWN0KHV1aWQpO1xuICAgIH1cbiAgfVxuXG4gIGhpZ2hsaWdodE9iamVjdCh1dWlkOiBzdHJpbmcpIHtcbiAgICBpZiAodXVpZCkge1xuICAgICAgdGhpcy5hY3RpdmVPYmplY3QudXBkYXRlKHV1aWQpO1xuICAgICAgdGhpcy5ldmVudERpc3BsYXkuaGlnaGxpZ2h0T2JqZWN0KHV1aWQpO1xuICAgIH1cbiAgfVxuXG4gIGVuYWJsZUhpZ2hsaWdodGluZygpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGxheS5lbmFibGVIaWdobGlnaHRpbmcoKTtcbiAgfVxuXG4gIGRpc2FibGVIaWdobGlnaHRpbmcoKSB7XG4gICAgdGhpcy5ldmVudERpc3BsYXkuZGlzYWJsZUhpZ2hsaWdodGluZygpO1xuICB9XG5cbiAgdG9nZ2xlSW52aXNpYmxlKGNoZWNrZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmhpZGVJbnZpc2libGUgPSBjaGVja2VkO1xuICB9XG5cbiAgYWRkTGFiZWwoaW5kZXg6IG51bWJlciwgdXVpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgbGFiZWxWYWx1ZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBgI2xhYmVsJHtpbmRleH1gLFxuICAgICkudmFsdWU7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRDb2xsZWN0aW9uKSB7XG4gICAgICAvLyBFbXB0eSBsYWJlbFZhbHVlIHdpbGwgcmVtb3ZlIHRoZSBsYWJlbCBvYmplY3RcbiAgICAgIHRoaXMuZXZlbnREaXNwbGF5LmFkZExhYmVsVG9PYmplY3QoXG4gICAgICAgIGxhYmVsVmFsdWUsXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2xsZWN0aW9uLFxuICAgICAgICBpbmRleCxcbiAgICAgICAgdXVpZCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRFdmVudERhdGFHcm91cCgpIHtcbiAgICByZXR1cm4gdGhpcy5ldmVudERpc3BsYXlcbiAgICAgIC5nZXRUaHJlZU1hbmFnZXIoKVxuICAgICAgLmdldFNjZW5lTWFuYWdlcigpXG4gICAgICAuZ2V0U2NlbmUoKVxuICAgICAgLmdldE9iamVjdEJ5TmFtZShTY2VuZU1hbmFnZXIuRVZFTlRfREFUQV9JRCk7XG4gIH1cbn1cbiIsIjwhLS0gU2hvdyBvYmplY3RzIC0tPlxuPGFwcC1vdmVybGF5XG4gIG92ZXJsYXlUaXRsZT1cIkNvbGxlY3Rpb25zIEluZm9cIlxuICBpY29uPVwiaW5mb1wiXG4gIFtyZXNpemFibGVdPVwidHJ1ZVwiXG4gIFthY3RpdmVdPVwic2hvd09iamVjdHNJbmZvXCJcbj5cbiAgPCEtLSBVc2luZyBuZ0lmIHRvIHJlbW92ZSBpdCBmcm9tIERPTSBzaW5jZSB0aGlzIHBhbmVsIHJlcXVpcmVzIGhlYXZ5IGNvbXB1dGluZyAtLT5cbiAgPGRpdiAqbmdJZj1cInNob3dPYmplY3RzSW5mb1wiIGNsYXNzPVwiY29sbGVjdGlvbnNJbmZvIG0tMlwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY29sbGVjdGlvblNlbGVjdG9yIG1iLTIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAqbmdJZj1cImNvbGxlY3Rpb25zICE9IG51bGxcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxzcGFuPkNob29zZSBhIGNvbGxlY3Rpb246IDwvc3Bhbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50U2VsZWN0b3JcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiZXZlbnRcIj5FdmVudDwvbGFiZWw+XG4gICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgaWQ9XCJjb2xsZWN0aW9uXCJcbiAgICAgICAgICAgIG5hbWU9XCJjb2xsZWN0aW9uXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlQ29sbGVjdGlvbigkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIHNlbGVjdGVkIGRpc2FibGVkIGhpZGRlbj5DaG9vc2UgQ29sbGVjdGlvbjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgY29sbGVjdGlvbiBvZiBjb2xsZWN0aW9uc1wiIFt2YWx1ZV09XCJjb2xsZWN0aW9uXCI+XG4gICAgICAgICAgICAgIHt7IGNvbGxlY3Rpb24gfX1cbiAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICpuZ0lmPVwic2hvd2luZ0NvbGxlY3Rpb25cIlxuICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlSW52aXNpYmxlKCRldmVudC5jaGVja2VkKVwiXG4gICAgICAgID5cbiAgICAgICAgICBIaWRlIEludmlzaWJsZSBPYmplY3RzXG4gICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYm94Qm9keSB0YWJsZS1yZXNwb25zaXZlXCI+XG4gICAgICA8dGFibGVcbiAgICAgICAgaWQ9XCJjb2xsZWN0aW9uVGFibGVcIlxuICAgICAgICBjbGFzcz1cInRhYmxlIHRhYmxlLWJvcmRlcmxlc3MgdGFibGUtc21cIlxuICAgICAgICAqbmdJZj1cInNob3dpbmdDb2xsZWN0aW9uXCJcbiAgICAgID5cbiAgICAgICAgPHRoZWFkPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aD5Oby48L3RoPlxuICAgICAgICAgICAgPHRoPlNlbGVjdGlvbjwvdGg+XG4gICAgICAgICAgICA8dGg+TGFiZWw8L3RoPlxuICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sbGVjdGlvbkNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICB7eyBnZXRQcmV0dHlTeW1ib2woY29sdW1uKSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3J0LW9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uLXdyYXBwZXIgaWNvbi1idXR0b24gYnRuLWJsYW5rIHVwXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNvcnQoY29sdW1uLCAnZGVjJylcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnPlxuICAgICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cImFzc2V0cy9pY29ucy9leHBhbmQuc3ZnI2V4cGFuZFwiPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb24td3JhcHBlciBpY29uLWJ1dHRvbiBidG4tYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic29ydChjb2x1bW4sICdhc2MnKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzdmc+XG4gICAgICAgICAgICAgICAgICAgICAgPHVzZSBocmVmPVwiYXNzZXRzL2ljb25zL2V4cGFuZC5zdmcjZXhwYW5kXCI+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3RoZWFkPlxuICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgPHRyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgb2JqZWN0IG9mIHNob3dpbmdDb2xsZWN0aW9uOyBpbmRleCBhcyBpXCJcbiAgICAgICAgICAgIFthdHRyLmlkXT1cIm9iamVjdC51dWlkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgJ2FjdGl2ZS1vYmplY3QnOlxuICAgICAgICAgICAgICAgIGFjdGl2ZU9iamVjdCAmJiBhY3RpdmVPYmplY3QudmFsdWUgPT09IG9iamVjdC51dWlkLFxuICAgICAgICAgICAgICAnaXMtY3V0Jzogb2JqZWN0LmlzQ3V0LFxuICAgICAgICAgICAgICAnZC1ub25lJzogb2JqZWN0LmlzQ3V0ICYmIGhpZGVJbnZpc2libGUsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8dGQ+I3t7IGkgfX08L3RkPlxuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJvYmplY3QudXVpZFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlciBpY29uLXdyYXBwZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvYmplY3Qtc2VsZWN0IGJ0bi1ibGFua1wiXG4gICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiTW92ZSBjYW1lcmEgdG8gb2JqZWN0XCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJsb29rQXRPYmplY3Qob2JqZWN0LnV1aWQpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3ZnPlxuICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCJhc3NldHMvaWNvbnMvdmlld3Muc3ZnI3ZpZXdzXCI+PC91c2U+XG4gICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm9iamVjdC1zZWxlY3QgYnRuLWJsYW5rXCJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJIaWdobGlnaHQgb2JqZWN0XCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoaWdobGlnaHRPYmplY3Qob2JqZWN0LnV1aWQpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3ZnPlxuICAgICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCJhc3NldHMvaWNvbnMvY3Vyc29yLnN2ZyNjdXJzb3JcIj48L3VzZT5cbiAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbS0wIGFkZC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTAgcC0wXCI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInt7IG9iamVjdC5sYWJlbFRleHQgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ2xhYmVsJyArIGlcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTIgcC0wIHBsLTIgdGV4dC1jZW50ZXIgaWNvbi13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwib2JqZWN0LXNlbGVjdCBidG4tYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiQWRkLCB1cGRhdGUgb3IgcmVtb3ZlIG9iamVjdCBsYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGRMYWJlbChpLCBvYmplY3QudXVpZClcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnPlxuICAgICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cImFzc2V0cy9pY29ucy91cGRhdGUuc3ZnI3VwZGF0ZVwiPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2xsZWN0aW9uQ29sdW1uc1wiPlxuICAgICAgICAgICAgICB7eyBvYmplY3RbY29sdW1uXSB9fVxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICAgIDxwIGNsYXNzPVwiZW1wdHlCb3hcIiAqbmdJZj1cIiFjb2xsZWN0aW9uc1wiPlxuICAgICAgICBMb2FkIGV2ZW50IGRhdGEgdG8gYmUgYWJsZSB0byBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb2xsZWN0aW9uc1xuICAgICAgICBoZXJlLlxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvYXBwLW92ZXJsYXk+XG4iXX0=
@@ -1,47 +0,0 @@
1
- import { Component, } from '@angular/core';
2
- import { ComponentPortal } from '@angular/cdk/portal';
3
- import { CollectionsInfoOverlayComponent } from './collections-info-overlay/collections-info-overlay.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 CollectionsInfoComponent {
8
- overlay;
9
- showObjectsInfo = false;
10
- overlayWindow;
11
- constructor(overlay) {
12
- this.overlay = overlay;
13
- }
14
- ngOnInit() {
15
- const overlayRef = this.overlay.create();
16
- const overlayPortal = new ComponentPortal(CollectionsInfoOverlayComponent);
17
- this.overlayWindow = overlayRef.attach(overlayPortal);
18
- this.overlayWindow.instance.showObjectsInfo = this.showObjectsInfo;
19
- }
20
- ngOnDestroy() {
21
- this.overlayWindow.destroy();
22
- }
23
- toggleOverlay() {
24
- this.showObjectsInfo = !this.showObjectsInfo;
25
- this.overlayWindow.instance.showObjectsInfo = this.showObjectsInfo;
26
- if (this.showObjectsInfo) {
27
- this.overlayWindow.instance.enableHighlighting();
28
- }
29
- else {
30
- this.overlayWindow.instance.disableHighlighting();
31
- }
32
- }
33
- static ɵfac = function CollectionsInfoComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CollectionsInfoComponent)(i0.ɵɵdirectiveInject(i1.Overlay)); };
34
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollectionsInfoComponent, selectors: [["app-collections-info"]], decls: 1, vars: 1, consts: [["tooltip", "Event data collections info", "icon", "info", 3, "click", "active"]], template: function CollectionsInfoComponent_Template(rf, ctx) { if (rf & 1) {
35
- i0.ɵɵelementStart(0, "app-menu-toggle", 0);
36
- i0.ɵɵlistener("click", function CollectionsInfoComponent_Template_app_menu_toggle_click_0_listener() { return ctx.toggleOverlay(); });
37
- i0.ɵɵelementEnd();
38
- } if (rf & 2) {
39
- i0.ɵɵproperty("active", ctx.showObjectsInfo);
40
- } }, dependencies: [i2.MenuToggleComponent] });
41
- }
42
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CollectionsInfoComponent, [{
43
- type: Component,
44
- args: [{ selector: 'app-collections-info', template: "<app-menu-toggle\n tooltip=\"Event data collections info\"\n icon=\"info\"\n [active]=\"showObjectsInfo\"\n (click)=\"toggleOverlay()\"\n>\n</app-menu-toggle>\n" }]
45
- }], () => [{ type: i1.Overlay }], null); })();
46
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollectionsInfoComponent, { className: "CollectionsInfoComponent", filePath: "components/ui-menu/collections-info/collections-info.component.ts", lineNumber: 16 }); })();
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2NvbGxlY3Rpb25zLWluZm8vY29sbGVjdGlvbnMtaW5mby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2NvbGxlY3Rpb25zLWluZm8vY29sbGVjdGlvbnMtaW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxHQUlWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7OztBQU9oSCxNQUFNLE9BQU8sd0JBQXdCO0lBSWY7SUFIcEIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixhQUFhLENBQWdEO0lBRTdELFlBQW9CLE9BQWdCO1FBQWhCLFlBQU8sR0FBUCxPQUFPLENBQVM7SUFBRyxDQUFDO0lBRXhDLFFBQVE7UUFDTixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pDLE1BQU0sYUFBYSxHQUFHLElBQUksZUFBZSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ3JFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ25FLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbkQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO2tIQXpCVSx3QkFBd0I7NkRBQXhCLHdCQUF3QjtZQ2ZyQywwQ0FLQztZQURDLDhHQUFTLG1CQUFlLElBQUM7WUFFM0IsaUJBQWtCOztZQUhoQiw0Q0FBMEI7OztpRkRZZix3QkFBd0I7Y0FMcEMsU0FBUzsyQkFDRSxzQkFBc0I7O2tGQUlyQix3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIHR5cGUgT25Jbml0LFxuICBDb21wb25lbnRSZWYsXG4gIHR5cGUgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbGxlY3Rpb25zSW5mb092ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL2NvbGxlY3Rpb25zLWluZm8tb3ZlcmxheS9jb2xsZWN0aW9ucy1pbmZvLW92ZXJsYXkuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvbGxlY3Rpb25zLWluZm8nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sbGVjdGlvbnMtaW5mby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbGxlY3Rpb25zLWluZm8uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sbGVjdGlvbnNJbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBzaG93T2JqZWN0c0luZm8gPSBmYWxzZTtcbiAgb3ZlcmxheVdpbmRvdzogQ29tcG9uZW50UmVmPENvbGxlY3Rpb25zSW5mb092ZXJsYXlDb21wb25lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSgpO1xuICAgIGNvbnN0IG92ZXJsYXlQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKENvbGxlY3Rpb25zSW5mb092ZXJsYXlDb21wb25lbnQpO1xuICAgIHRoaXMub3ZlcmxheVdpbmRvdyA9IG92ZXJsYXlSZWYuYXR0YWNoKG92ZXJsYXlQb3J0YWwpO1xuICAgIHRoaXMub3ZlcmxheVdpbmRvdy5pbnN0YW5jZS5zaG93T2JqZWN0c0luZm8gPSB0aGlzLnNob3dPYmplY3RzSW5mbztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVdpbmRvdy5kZXN0cm95KCk7XG4gIH1cblxuICB0b2dnbGVPdmVybGF5KCkge1xuICAgIHRoaXMuc2hvd09iamVjdHNJbmZvID0gIXRoaXMuc2hvd09iamVjdHNJbmZvO1xuICAgIHRoaXMub3ZlcmxheVdpbmRvdy5pbnN0YW5jZS5zaG93T2JqZWN0c0luZm8gPSB0aGlzLnNob3dPYmplY3RzSW5mbztcbiAgICBpZiAodGhpcy5zaG93T2JqZWN0c0luZm8pIHtcbiAgICAgIHRoaXMub3ZlcmxheVdpbmRvdy5pbnN0YW5jZS5lbmFibGVIaWdobGlnaHRpbmcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vdmVybGF5V2luZG93Lmluc3RhbmNlLmRpc2FibGVIaWdobGlnaHRpbmcoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxhcHAtbWVudS10b2dnbGVcbiAgdG9vbHRpcD1cIkV2ZW50IGRhdGEgY29sbGVjdGlvbnMgaW5mb1wiXG4gIGljb249XCJpbmZvXCJcbiAgW2FjdGl2ZV09XCJzaG93T2JqZWN0c0luZm9cIlxuICAoY2xpY2spPVwidG9nZ2xlT3ZlcmxheSgpXCJcbj5cbjwvYXBwLW1lbnUtdG9nZ2xlPlxuIl19
@@ -1,90 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../../services/event-display.service";
4
- import * as i2 from "../../../services/file-loader.service";
5
- import * as i3 from "@angular/common";
6
- import * as i4 from "@angular/material/tooltip";
7
- const _c0 = (a0, a1) => ({ "active-icon": a0, "reload-icon": a1 });
8
- export class CycleEventsComponent {
9
- eventDisplay;
10
- fileLoader;
11
- interval;
12
- tooltip;
13
- icon;
14
- // There are actually 3 states we go through when clicking this component :
15
- // - not active : so we are not cycling throught events
16
- // - active and not reloading : cycling over the events stored in events
17
- // - active and reloading : cycling and reloading the events when reaching the end
18
- // Last state is useful e.g. for live feed of events
19
- active = false;
20
- reloading = false;
21
- intervalId;
22
- events;
23
- constructor(eventDisplay, fileLoader) {
24
- this.eventDisplay = eventDisplay;
25
- this.fileLoader = fileLoader;
26
- }
27
- ngOnInit() {
28
- this.eventDisplay.listenToLoadedEventsChange((events) => {
29
- this.events = events;
30
- if (this.active) {
31
- // restart cycling from first event
32
- clearInterval(this.intervalId);
33
- this.startCycleInterval();
34
- }
35
- });
36
- }
37
- toggleCycle() {
38
- this.reloading = this.active && !this.reloading;
39
- this.active = !this.active || this.reloading;
40
- console.log(this.active, this.reloading);
41
- clearInterval(this.intervalId);
42
- if (this.active) {
43
- this.startCycleInterval();
44
- }
45
- }
46
- startCycleInterval(startIndex = 0) {
47
- // load immediately first event
48
- let index = startIndex;
49
- this.eventDisplay.loadEvent(this.events[index]);
50
- index = index + 1 >= this.events.length ? -1 : index + 1;
51
- // launch automatic cycling
52
- this.intervalId = setInterval(() => {
53
- // special value -1 is used to denote wrapping of the current set of events
54
- if (index == -1) {
55
- if (this.reloading) {
56
- // reload the current events, ignoring caches
57
- this.fileLoader.reloadLastEvents(this.eventDisplay);
58
- }
59
- // put back index to 0 to start with first event anyway
60
- index = 0;
61
- }
62
- this.eventDisplay.loadEvent(this.events[index]);
63
- index = index + 1 >= this.events.length ? -1 : index + 1;
64
- }, this.interval);
65
- }
66
- static ɵfac = function CycleEventsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CycleEventsComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService), i0.ɵɵdirectiveInject(i2.FileLoaderService)); };
67
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CycleEventsComponent, selectors: [["app-cycle-events"]], inputs: { interval: "interval", tooltip: "tooltip", icon: "icon" }, decls: 3, vars: 4, consts: [["matTooltip", "Cycle (off/on/on+reload)", "matTooltipPosition", "above", "matTooltipTouchGestures", "off", 1, "cycle-events", 3, "click"], [1, "cycle-events-icon", 3, "ngClass"], ["href", "assets/icons/cycle-events.svg#cycle-events"]], template: function CycleEventsComponent_Template(rf, ctx) { if (rf & 1) {
68
- i0.ɵɵelementStart(0, "button", 0);
69
- i0.ɵɵlistener("click", function CycleEventsComponent_Template_button_click_0_listener() { return ctx.toggleCycle(); });
70
- i0.ɵɵnamespaceSVG();
71
- i0.ɵɵelementStart(1, "svg", 1);
72
- i0.ɵɵelement(2, "use", 2);
73
- i0.ɵɵelementEnd()();
74
- } if (rf & 2) {
75
- i0.ɵɵadvance();
76
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(1, _c0, ctx.active, ctx.reloading));
77
- } }, dependencies: [i3.NgClass, i4.MatTooltip], styles: ["[_nghost-%COMP%]{display:flex;margin:0 .6rem}[_nghost-%COMP%] .cycle-events[_ngcontent-%COMP%]{display:flex;background:unset;border:none;height:2.5rem;width:2.5rem;min-height:2.5rem;min-width:2.5rem;padding:.65rem;cursor:pointer;align-self:center;transition:all .4s}[_nghost-%COMP%] .cycle-events-icon[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .cycle-events-icon.active-icon[_ngcontent-%COMP%]{--phoenix-options-icon-path: #00bcd4}[_nghost-%COMP%] .cycle-events-icon.reload-icon[_ngcontent-%COMP%]{--phoenix-options-icon-path: #77dd77}[_nghost-%COMP%] .cycle-events[_ngcontent-%COMP%]:hover{background-color:var(--phoenix-options-icon-bg);border-radius:40%;transition:all .4s}[_nghost-%COMP%] .cycle-events.disabled[_ngcontent-%COMP%]{cursor:not-allowed;opacity:.4}"] });
78
- }
79
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CycleEventsComponent, [{
80
- type: Component,
81
- args: [{ selector: 'app-cycle-events', template: "<button\n class=\"cycle-events\"\n matTooltip=\"Cycle (off/on/on+reload)\"\n matTooltipPosition=\"above\"\n matTooltipTouchGestures=\"off\"\n (click)=\"toggleCycle()\"\n>\n <svg\n class=\"cycle-events-icon\"\n [ngClass]=\"{ 'active-icon': active, 'reload-icon': reloading }\"\n >\n <use href=\"assets/icons/cycle-events.svg#cycle-events\"></use>\n </svg>\n</button>\n", styles: [":host{display:flex;margin:0 .6rem}:host .cycle-events{display:flex;background:unset;border:none;height:2.5rem;width:2.5rem;min-height:2.5rem;min-width:2.5rem;padding:.65rem;cursor:pointer;align-self:center;transition:all .4s}:host .cycle-events-icon{width:100%;height:100%}:host .cycle-events-icon.active-icon{--phoenix-options-icon-path: #00bcd4}:host .cycle-events-icon.reload-icon{--phoenix-options-icon-path: #77dd77}:host .cycle-events:hover{background-color:var(--phoenix-options-icon-bg);border-radius:40%;transition:all .4s}:host .cycle-events.disabled{cursor:not-allowed;opacity:.4}\n"] }]
82
- }], () => [{ type: i1.EventDisplayService }, { type: i2.FileLoaderService }], { interval: [{
83
- type: Input
84
- }], tooltip: [{
85
- type: Input
86
- }], icon: [{
87
- type: Input
88
- }] }); })();
89
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CycleEventsComponent, { className: "CycleEventsComponent", filePath: "components/ui-menu/cycle-events/cycle-events.component.ts", lineNumber: 10 }); })();
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ljbGUtZXZlbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3VpLW1lbnUvY3ljbGUtZXZlbnRzL2N5Y2xlLWV2ZW50cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2N5Y2xlLWV2ZW50cy9jeWNsZS1ldmVudHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFTOUQsTUFBTSxPQUFPLG9CQUFvQjtJQWtCckI7SUFDQTtJQWxCRCxRQUFRLENBQVM7SUFDakIsT0FBTyxDQUFTO0lBQ2hCLElBQUksQ0FBUztJQUV0QiwyRUFBMkU7SUFDM0Usd0RBQXdEO0lBQ3hELHlFQUF5RTtJQUN6RSxtRkFBbUY7SUFDbkYsb0RBQW9EO0lBQ3BELE1BQU0sR0FBWSxLQUFLLENBQUM7SUFDeEIsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUVuQixVQUFVLENBQWlCO0lBRTNCLE1BQU0sQ0FBVztJQUV6QixZQUNVLFlBQWlDLEVBQ2pDLFVBQTZCO1FBRDdCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxlQUFVLEdBQVYsVUFBVSxDQUFtQjtJQUNwQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNyQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDaEIsbUNBQW1DO2dCQUNuQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMvQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM3QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0IsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxhQUFxQixDQUFDO1FBQy9DLCtCQUErQjtRQUMvQixJQUFJLEtBQUssR0FBRyxVQUFVLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hELEtBQUssR0FBRyxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUN6RCwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQ2pDLDJFQUEyRTtZQUMzRSxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNoQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDbkIsNkNBQTZDO29CQUM3QyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDdEQsQ0FBQztnQkFDRCx1REFBdUQ7Z0JBQ3ZELEtBQUssR0FBRyxDQUFDLENBQUM7WUFDWixDQUFDO1lBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2hELEtBQUssR0FBRyxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUMzRCxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7OEdBOURVLG9CQUFvQjs2REFBcEIsb0JBQW9CO1lDVGpDLGlDQU1DO1lBREMsaUdBQVMsaUJBQWEsSUFBQzs7WUFFdkIsOEJBR0M7WUFDQyx5QkFBNkQ7WUFFakUsQUFERSxpQkFBTSxFQUNDOztZQUpMLGNBQStEO1lBQS9ELCtFQUErRDs7O2lGREF0RCxvQkFBb0I7Y0FMaEMsU0FBUzsyQkFDRSxrQkFBa0I7b0ZBS25CLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7O2tGQUhLLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIHR5cGUgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudERpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXZlbnQtZGlzcGxheS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbGVMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmlsZS1sb2FkZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jeWNsZS1ldmVudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3ljbGUtZXZlbnRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3ljbGUtZXZlbnRzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEN5Y2xlRXZlbnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgaW50ZXJ2YWw6IG51bWJlcjtcbiAgQElucHV0KCkgdG9vbHRpcDogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG5cbiAgLy8gVGhlcmUgYXJlIGFjdHVhbGx5IDMgc3RhdGVzIHdlIGdvIHRocm91Z2ggd2hlbiBjbGlja2luZyB0aGlzIGNvbXBvbmVudCA6XG4gIC8vICAtIG5vdCBhY3RpdmUgOiBzbyB3ZSBhcmUgbm90IGN5Y2xpbmcgdGhyb3VnaHQgZXZlbnRzXG4gIC8vICAtIGFjdGl2ZSBhbmQgbm90IHJlbG9hZGluZyA6IGN5Y2xpbmcgb3ZlciB0aGUgZXZlbnRzIHN0b3JlZCBpbiBldmVudHNcbiAgLy8gIC0gYWN0aXZlIGFuZCByZWxvYWRpbmcgOiBjeWNsaW5nIGFuZCByZWxvYWRpbmcgdGhlIGV2ZW50cyB3aGVuIHJlYWNoaW5nIHRoZSBlbmRcbiAgLy8gTGFzdCBzdGF0ZSBpcyB1c2VmdWwgZS5nLiBmb3IgbGl2ZSBmZWVkIG9mIGV2ZW50c1xuICBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBpbnRlcnZhbElkOiBOb2RlSlMuVGltZW91dDtcblxuICBwcml2YXRlIGV2ZW50czogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBldmVudERpc3BsYXk6IEV2ZW50RGlzcGxheVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmaWxlTG9hZGVyOiBGaWxlTG9hZGVyU2VydmljZSxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZXZlbnREaXNwbGF5Lmxpc3RlblRvTG9hZGVkRXZlbnRzQ2hhbmdlKChldmVudHMpID0+IHtcbiAgICAgIHRoaXMuZXZlbnRzID0gZXZlbnRzO1xuICAgICAgaWYgKHRoaXMuYWN0aXZlKSB7XG4gICAgICAgIC8vIHJlc3RhcnQgY3ljbGluZyBmcm9tIGZpcnN0IGV2ZW50XG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbElkKTtcbiAgICAgICAgdGhpcy5zdGFydEN5Y2xlSW50ZXJ2YWwoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHRvZ2dsZUN5Y2xlKCkge1xuICAgIHRoaXMucmVsb2FkaW5nID0gdGhpcy5hY3RpdmUgJiYgIXRoaXMucmVsb2FkaW5nO1xuICAgIHRoaXMuYWN0aXZlID0gIXRoaXMuYWN0aXZlIHx8IHRoaXMucmVsb2FkaW5nO1xuICAgIGNvbnNvbGUubG9nKHRoaXMuYWN0aXZlLCB0aGlzLnJlbG9hZGluZyk7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSWQpO1xuICAgIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgICAgdGhpcy5zdGFydEN5Y2xlSW50ZXJ2YWwoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0Q3ljbGVJbnRlcnZhbChzdGFydEluZGV4OiBudW1iZXIgPSAwKSB7XG4gICAgLy8gbG9hZCBpbW1lZGlhdGVseSBmaXJzdCBldmVudFxuICAgIGxldCBpbmRleCA9IHN0YXJ0SW5kZXg7XG4gICAgdGhpcy5ldmVudERpc3BsYXkubG9hZEV2ZW50KHRoaXMuZXZlbnRzW2luZGV4XSk7XG4gICAgaW5kZXggPSBpbmRleCArIDEgPj0gdGhpcy5ldmVudHMubGVuZ3RoID8gLTEgOiBpbmRleCArIDE7XG4gICAgLy8gbGF1bmNoIGF1dG9tYXRpYyBjeWNsaW5nXG4gICAgdGhpcy5pbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgLy8gc3BlY2lhbCB2YWx1ZSAtMSBpcyB1c2VkIHRvIGRlbm90ZSB3cmFwcGluZyBvZiB0aGUgY3VycmVudCBzZXQgb2YgZXZlbnRzXG4gICAgICBpZiAoaW5kZXggPT0gLTEpIHtcbiAgICAgICAgaWYgKHRoaXMucmVsb2FkaW5nKSB7XG4gICAgICAgICAgLy8gcmVsb2FkIHRoZSBjdXJyZW50IGV2ZW50cywgaWdub3JpbmcgY2FjaGVzXG4gICAgICAgICAgdGhpcy5maWxlTG9hZGVyLnJlbG9hZExhc3RFdmVudHModGhpcy5ldmVudERpc3BsYXkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHB1dCBiYWNrIGluZGV4IHRvIDAgdG8gc3RhcnQgd2l0aCBmaXJzdCBldmVudCBhbnl3YXlcbiAgICAgICAgaW5kZXggPSAwO1xuICAgICAgfVxuICAgICAgdGhpcy5ldmVudERpc3BsYXkubG9hZEV2ZW50KHRoaXMuZXZlbnRzW2luZGV4XSk7XG4gICAgICBpbmRleCA9IGluZGV4ICsgMSA+PSB0aGlzLmV2ZW50cy5sZW5ndGggPyAtMSA6IGluZGV4ICsgMTtcbiAgICB9LCB0aGlzLmludGVydmFsKTtcbiAgfVxufVxuIiwiPGJ1dHRvblxuICBjbGFzcz1cImN5Y2xlLWV2ZW50c1wiXG4gIG1hdFRvb2x0aXA9XCJDeWNsZSAob2ZmL29uL29uK3JlbG9hZClcIlxuICBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiXG4gIG1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzPVwib2ZmXCJcbiAgKGNsaWNrKT1cInRvZ2dsZUN5Y2xlKClcIlxuPlxuICA8c3ZnXG4gICAgY2xhc3M9XCJjeWNsZS1ldmVudHMtaWNvblwiXG4gICAgW25nQ2xhc3NdPVwieyAnYWN0aXZlLWljb24nOiBhY3RpdmUsICdyZWxvYWQtaWNvbic6IHJlbG9hZGluZyB9XCJcbiAgPlxuICAgIDx1c2UgaHJlZj1cImFzc2V0cy9pY29ucy9jeWNsZS1ldmVudHMuc3ZnI2N5Y2xlLWV2ZW50c1wiPjwvdXNlPlxuICA8L3N2Zz5cbjwvYnV0dG9uPlxuIl19
@@ -1,32 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../../services/event-display.service";
4
- import * as i2 from "../menu-toggle/menu-toggle.component";
5
- export class DarkThemeComponent {
6
- eventDisplay;
7
- darkTheme = false;
8
- constructor(eventDisplay) {
9
- this.eventDisplay = eventDisplay;
10
- }
11
- ngOnInit() {
12
- this.darkTheme = this.eventDisplay.getUIManager().getDarkTheme();
13
- }
14
- setDarkTheme() {
15
- this.darkTheme = !this.darkTheme;
16
- this.eventDisplay.getUIManager().setDarkTheme(this.darkTheme);
17
- }
18
- static ɵfac = function DarkThemeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DarkThemeComponent)(i0.ɵɵdirectiveInject(i1.EventDisplayService)); };
19
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DarkThemeComponent, selectors: [["app-dark-theme"]], decls: 1, vars: 1, consts: [["tooltip", "Dark theme", "icon", "dark", 3, "click", "active"]], template: function DarkThemeComponent_Template(rf, ctx) { if (rf & 1) {
20
- i0.ɵɵelementStart(0, "app-menu-toggle", 0);
21
- i0.ɵɵlistener("click", function DarkThemeComponent_Template_app_menu_toggle_click_0_listener() { return ctx.setDarkTheme(); });
22
- i0.ɵɵelementEnd();
23
- } if (rf & 2) {
24
- i0.ɵɵproperty("active", ctx.darkTheme);
25
- } }, dependencies: [i2.MenuToggleComponent] });
26
- }
27
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DarkThemeComponent, [{
28
- type: Component,
29
- args: [{ selector: 'app-dark-theme', template: "<app-menu-toggle\n tooltip=\"Dark theme\"\n [active]=\"darkTheme\"\n icon=\"dark\"\n (click)=\"setDarkTheme()\"\n>\n</app-menu-toggle>\n" }]
30
- }], () => [{ type: i1.EventDisplayService }], null); })();
31
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DarkThemeComponent, { className: "DarkThemeComponent", filePath: "components/ui-menu/dark-theme/dark-theme.component.ts", lineNumber: 9 }); })();
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFyay10aGVtZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2RhcmstdGhlbWUvZGFyay10aGVtZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvY29tcG9uZW50cy91aS1tZW51L2RhcmstdGhlbWUvZGFyay10aGVtZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFlLE1BQU0sZUFBZSxDQUFDOzs7O0FBUXZELE1BQU0sT0FBTyxrQkFBa0I7SUFHVDtJQUZwQixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRWxCLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtJQUFHLENBQUM7SUFFekQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRSxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRSxDQUFDOzRHQVpVLGtCQUFrQjs2REFBbEIsa0JBQWtCO1lDUi9CLDBDQUtDO1lBREMsd0dBQVMsa0JBQWMsSUFBQztZQUUxQixpQkFBa0I7O1lBSmhCLHNDQUFvQjs7O2lGRE1ULGtCQUFrQjtjQUw5QixTQUFTOzJCQUNFLGdCQUFnQjs7a0ZBSWYsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCB0eXBlIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnREaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V2ZW50LWRpc3BsYXkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1kYXJrLXRoZW1lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhcmstdGhlbWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXJrLXRoZW1lLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERhcmtUaGVtZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGRhcmtUaGVtZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXZlbnREaXNwbGF5OiBFdmVudERpc3BsYXlTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGFya1RoZW1lID0gdGhpcy5ldmVudERpc3BsYXkuZ2V0VUlNYW5hZ2VyKCkuZ2V0RGFya1RoZW1lKCk7XG4gIH1cblxuICBzZXREYXJrVGhlbWUoKSB7XG4gICAgdGhpcy5kYXJrVGhlbWUgPSAhdGhpcy5kYXJrVGhlbWU7XG4gICAgdGhpcy5ldmVudERpc3BsYXkuZ2V0VUlNYW5hZ2VyKCkuc2V0RGFya1RoZW1lKHRoaXMuZGFya1RoZW1lKTtcbiAgfVxufVxuIiwiPGFwcC1tZW51LXRvZ2dsZVxuICB0b29sdGlwPVwiRGFyayB0aGVtZVwiXG4gIFthY3RpdmVdPVwiZGFya1RoZW1lXCJcbiAgaWNvbj1cImRhcmtcIlxuICAoY2xpY2spPVwic2V0RGFya1RoZW1lKClcIlxuPlxuPC9hcHAtbWVudS10b2dnbGU+XG4iXX0=