@memberjunction/ng-dashboards 5.35.0 → 5.37.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/dist/AI/components/agents/agent-configuration.component.js +3 -3
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts +22 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.js +157 -137
- package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +28 -0
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +2075 -2068
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.js +4 -4
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +3 -3
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.d.ts +15 -0
- package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +1411 -1424
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.d.ts +12 -8
- package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.js +329 -371
- package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +137 -142
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +111 -116
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Admin/admin-data-schema.component.js +13 -65
- package/dist/Admin/admin-data-schema.component.js.map +1 -1
- package/dist/Admin/admin-dev-tools-resource.component.js +13 -65
- package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
- package/dist/Admin/admin-identity-access.component.js +13 -65
- package/dist/Admin/admin-identity-access.component.js.map +1 -1
- package/dist/Admin/admin-monitoring.component.js +13 -65
- package/dist/Admin/admin-monitoring.component.js.map +1 -1
- package/dist/Admin/base-admin-container.component.d.ts +9 -7
- package/dist/Admin/base-admin-container.component.d.ts.map +1 -1
- package/dist/Admin/base-admin-container.component.js +26 -17
- package/dist/Admin/base-admin-container.component.js.map +1 -1
- package/dist/ApplicationRoles/application-roles-resource.component.js +74 -67
- package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
- package/dist/Communication/communication-new-message-resource.component.d.ts +93 -0
- package/dist/Communication/communication-new-message-resource.component.d.ts.map +1 -0
- package/dist/Communication/communication-new-message-resource.component.js +661 -0
- package/dist/Communication/communication-new-message-resource.component.js.map +1 -0
- package/dist/Credentials/components/credentials-categories-resource.component.js +152 -159
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +151 -155
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +20 -21
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/entity-list.component.d.ts +2 -0
- package/dist/DatabaseDesigner/components/entity-list.component.d.ts.map +1 -1
- package/dist/DatabaseDesigner/components/entity-list.component.js +131 -125
- package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js +7 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
- package/dist/DevTools/app-state-inspector.component.d.ts +5 -0
- package/dist/DevTools/app-state-inspector.component.d.ts.map +1 -1
- package/dist/DevTools/app-state-inspector.component.js +46 -72
- package/dist/DevTools/app-state-inspector.component.js.map +1 -1
- package/dist/DevTools/class-registry.component.js +88 -100
- package/dist/DevTools/class-registry.component.js.map +1 -1
- package/dist/DevTools/event-monitor.component.js +158 -168
- package/dist/DevTools/event-monitor.component.js.map +1 -1
- package/dist/DevTools/graphql-console.component.js +257 -264
- package/dist/DevTools/graphql-console.component.js.map +1 -1
- package/dist/DevTools/layout-inspector.component.d.ts +5 -0
- package/dist/DevTools/layout-inspector.component.d.ts.map +1 -1
- package/dist/DevTools/layout-inspector.component.js +46 -64
- package/dist/DevTools/layout-inspector.component.js.map +1 -1
- package/dist/DevTools/lazy-module-status.component.js +75 -84
- package/dist/DevTools/lazy-module-status.component.js.map +1 -1
- package/dist/DevTools/settings-explorer.component.js +76 -85
- package/dist/DevTools/settings-explorer.component.js.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +2 -0
- package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +7 -3
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/Integration/components/activity/activity.component.js +97 -99
- package/dist/Integration/components/activity/activity.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +842 -855
- package/dist/Integration/components/connections/connections.component.js.map +1 -1
- package/dist/Integration/components/pipelines/pipelines.component.js +502 -517
- package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
- package/dist/Integration/components/schedules/schedules.component.js +78 -89
- package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts +5 -0
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +1120 -1128
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts +11 -0
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +606 -661
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +102 -0
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +1179 -504
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.d.ts +133 -3
- package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.js +1527 -327
- package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-shared-with-me-resource.component.d.ts +29 -0
- package/dist/Lists/components/lists-shared-with-me-resource.component.d.ts.map +1 -0
- package/dist/Lists/components/lists-shared-with-me-resource.component.js +77 -0
- package/dist/Lists/components/lists-shared-with-me-resource.component.js.map +1 -0
- package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts +6 -0
- package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts.map +1 -1
- package/dist/Lists/components/venn-diagram/venn-diagram.component.js +35 -7
- package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
- package/dist/Lists/index.d.ts +1 -0
- package/dist/Lists/index.d.ts.map +1 -1
- package/dist/Lists/index.js +1 -0
- package/dist/Lists/index.js.map +1 -1
- package/dist/Lists/services/list-set-operations.service.d.ts +93 -2
- package/dist/Lists/services/list-set-operations.service.d.ts.map +1 -1
- package/dist/Lists/services/list-set-operations.service.js +236 -10
- package/dist/Lists/services/list-set-operations.service.js.map +1 -1
- package/dist/MCP/mcp-dashboard.component.js +19 -19
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +58 -60
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +13 -3
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.js +1007 -1252
- package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer.component.d.ts +31 -6
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer.component.js +543 -629
- package/dist/Testing/components/testing-explorer.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +50 -49
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/ai-dashboards.module.d.ts +1 -1
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +16 -1
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/communication-dashboards.module.d.ts +9 -7
- package/dist/communication-dashboards.module.d.ts.map +1 -1
- package/dist/communication-dashboards.module.js +13 -4
- package/dist/communication-dashboards.module.js.map +1 -1
- package/dist/core-dashboards.module.d.ts +1 -1
- package/dist/core-dashboards.module.d.ts.map +1 -1
- package/dist/core-dashboards.module.js +16 -1
- package/dist/core-dashboards.module.js.map +1 -1
- package/dist/lists-dashboards.module.d.ts +10 -9
- package/dist/lists-dashboards.module.d.ts.map +1 -1
- package/dist/lists-dashboards.module.js +13 -2
- package/dist/lists-dashboards.module.js.map +1 -1
- package/dist/public-api.d.ts +1 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +1 -0
- package/dist/public-api.js.map +1 -1
- package/dist/testing-dashboards.module.d.ts +1 -1
- package/dist/testing-dashboards.module.d.ts.map +1 -1
- package/dist/testing-dashboards.module.js +13 -1
- package/dist/testing-dashboards.module.js.map +1 -1
- package/package.json +53 -52
|
@@ -10,24 +10,25 @@ import { RegisterClass, MJGlobal } from '@memberjunction/global';
|
|
|
10
10
|
import { DevToolsPrefs } from './dev-tools-prefs';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "@angular/forms";
|
|
13
|
-
import * as i2 from "@
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
import * as i2 from "@memberjunction/ng-ui-components";
|
|
14
|
+
import * as i3 from "@angular/common";
|
|
15
|
+
function EventMonitorComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
+
i0.ɵɵelement(0, "i", 34);
|
|
16
17
|
i0.ɵɵtext(1, " Resume ");
|
|
17
18
|
} }
|
|
18
|
-
function
|
|
19
|
-
i0.ɵɵelement(0, "i",
|
|
19
|
+
function EventMonitorComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
+
i0.ɵɵelement(0, "i", 35);
|
|
20
21
|
i0.ɵɵtext(1, " Pause ");
|
|
21
22
|
} }
|
|
22
|
-
function
|
|
23
|
+
function EventMonitorComponent_Conditional_45_Template(rf, ctx) { if (rf & 1) {
|
|
23
24
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
24
|
-
i0.ɵɵelementStart(0, "button",
|
|
25
|
-
i0.ɵɵlistener("click", function
|
|
26
|
-
i0.ɵɵelement(1, "i",
|
|
25
|
+
i0.ɵɵelementStart(0, "button", 36);
|
|
26
|
+
i0.ɵɵlistener("click", function EventMonitorComponent_Conditional_45_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.Filter = ""); });
|
|
27
|
+
i0.ɵɵelement(1, "i", 37);
|
|
27
28
|
i0.ɵɵelementEnd();
|
|
28
29
|
} }
|
|
29
|
-
function
|
|
30
|
-
i0.ɵɵelementStart(0, "option",
|
|
30
|
+
function EventMonitorComponent_For_53_Template(rf, ctx) { if (rf & 1) {
|
|
31
|
+
i0.ɵɵelementStart(0, "option", 22);
|
|
31
32
|
i0.ɵɵtext(1);
|
|
32
33
|
i0.ɵɵelementEnd();
|
|
33
34
|
} if (rf & 2) {
|
|
@@ -36,8 +37,8 @@ function EventMonitorComponent_For_61_Template(rf, ctx) { if (rf & 1) {
|
|
|
36
37
|
i0.ɵɵadvance();
|
|
37
38
|
i0.ɵɵtextInterpolate(t_r3);
|
|
38
39
|
} }
|
|
39
|
-
function
|
|
40
|
-
i0.ɵɵelementStart(0, "option",
|
|
40
|
+
function EventMonitorComponent_For_61_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
+
i0.ɵɵelementStart(0, "option", 22);
|
|
41
42
|
i0.ɵɵtext(1);
|
|
42
43
|
i0.ɵɵelementEnd();
|
|
43
44
|
} if (rf & 2) {
|
|
@@ -46,8 +47,8 @@ function EventMonitorComponent_For_69_Template(rf, ctx) { if (rf & 1) {
|
|
|
46
47
|
i0.ɵɵadvance();
|
|
47
48
|
i0.ɵɵtextInterpolate(c_r4);
|
|
48
49
|
} }
|
|
49
|
-
function
|
|
50
|
-
i0.ɵɵelementStart(0, "option",
|
|
50
|
+
function EventMonitorComponent_Conditional_62_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
+
i0.ɵɵelementStart(0, "option", 22);
|
|
51
52
|
i0.ɵɵtext(1);
|
|
52
53
|
i0.ɵɵelementEnd();
|
|
53
54
|
} if (rf & 2) {
|
|
@@ -56,18 +57,18 @@ function EventMonitorComponent_Conditional_70_For_7_Template(rf, ctx) { if (rf &
|
|
|
56
57
|
i0.ɵɵadvance();
|
|
57
58
|
i0.ɵɵtextInterpolate(c_r6);
|
|
58
59
|
} }
|
|
59
|
-
function
|
|
60
|
+
function EventMonitorComponent_Conditional_62_Template(rf, ctx) { if (rf & 1) {
|
|
60
61
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
61
|
-
i0.ɵɵelementStart(0, "div",
|
|
62
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "label", 19);
|
|
62
63
|
i0.ɵɵtext(2, "Code");
|
|
63
64
|
i0.ɵɵelementEnd();
|
|
64
|
-
i0.ɵɵelementStart(3, "select",
|
|
65
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
66
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
67
|
-
i0.ɵɵelementStart(4, "option",
|
|
65
|
+
i0.ɵɵelementStart(3, "select", 20);
|
|
66
|
+
i0.ɵɵtwoWayListener("ngModelChange", function EventMonitorComponent_Conditional_62_Template_select_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.CodeFilter, $event) || (ctx_r1.CodeFilter = $event); return i0.ɵɵresetView($event); });
|
|
67
|
+
i0.ɵɵlistener("ngModelChange", function EventMonitorComponent_Conditional_62_Template_select_ngModelChange_3_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.PersistPrefs()); });
|
|
68
|
+
i0.ɵɵelementStart(4, "option", 21);
|
|
68
69
|
i0.ɵɵtext(5);
|
|
69
70
|
i0.ɵɵelementEnd();
|
|
70
|
-
i0.ɵɵrepeaterCreate(6,
|
|
71
|
+
i0.ɵɵrepeaterCreate(6, EventMonitorComponent_Conditional_62_For_7_Template, 2, 2, "option", 22, i0.ɵɵrepeaterTrackByIdentity);
|
|
71
72
|
i0.ɵɵelementEnd()();
|
|
72
73
|
} if (rf & 2) {
|
|
73
74
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -78,53 +79,53 @@ function EventMonitorComponent_Conditional_70_Template(rf, ctx) { if (rf & 1) {
|
|
|
78
79
|
i0.ɵɵadvance();
|
|
79
80
|
i0.ɵɵrepeater(ctx_r1.KnownCodes);
|
|
80
81
|
} }
|
|
81
|
-
function
|
|
82
|
+
function EventMonitorComponent_Conditional_63_Template(rf, ctx) { if (rf & 1) {
|
|
82
83
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
83
|
-
i0.ɵɵelementStart(0, "button",
|
|
84
|
-
i0.ɵɵlistener("click", function
|
|
85
|
-
i0.ɵɵelement(1, "i",
|
|
84
|
+
i0.ɵɵelementStart(0, "button", 38);
|
|
85
|
+
i0.ɵɵlistener("click", function EventMonitorComponent_Conditional_63_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ClearFilters()); });
|
|
86
|
+
i0.ɵɵelement(1, "i", 37);
|
|
86
87
|
i0.ɵɵtext(2, " Clear filters ");
|
|
87
88
|
i0.ɵɵelementEnd();
|
|
88
89
|
} }
|
|
89
|
-
function
|
|
90
|
-
i0.ɵɵelement(0, "i",
|
|
90
|
+
function EventMonitorComponent_Conditional_68_Template(rf, ctx) { if (rf & 1) {
|
|
91
|
+
i0.ɵɵelement(0, "i", 39);
|
|
91
92
|
} if (rf & 2) {
|
|
92
93
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
93
94
|
i0.ɵɵclassProp("fa-arrow-down", ctx_r1.SortDir === "desc")("fa-arrow-up", ctx_r1.SortDir === "asc");
|
|
94
95
|
} }
|
|
95
|
-
function
|
|
96
|
-
i0.ɵɵelement(0, "i",
|
|
96
|
+
function EventMonitorComponent_Conditional_71_Template(rf, ctx) { if (rf & 1) {
|
|
97
|
+
i0.ɵɵelement(0, "i", 39);
|
|
97
98
|
} if (rf & 2) {
|
|
98
99
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
99
100
|
i0.ɵɵclassProp("fa-arrow-down", ctx_r1.SortDir === "desc")("fa-arrow-up", ctx_r1.SortDir === "asc");
|
|
100
101
|
} }
|
|
101
|
-
function
|
|
102
|
-
i0.ɵɵelement(0, "i",
|
|
102
|
+
function EventMonitorComponent_Conditional_74_Template(rf, ctx) { if (rf & 1) {
|
|
103
|
+
i0.ɵɵelement(0, "i", 39);
|
|
103
104
|
} if (rf & 2) {
|
|
104
105
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
105
106
|
i0.ɵɵclassProp("fa-arrow-down", ctx_r1.SortDir === "desc")("fa-arrow-up", ctx_r1.SortDir === "asc");
|
|
106
107
|
} }
|
|
107
|
-
function
|
|
108
|
-
i0.ɵɵelement(0, "i",
|
|
108
|
+
function EventMonitorComponent_Conditional_77_Template(rf, ctx) { if (rf & 1) {
|
|
109
|
+
i0.ɵɵelement(0, "i", 39);
|
|
109
110
|
} if (rf & 2) {
|
|
110
111
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
111
112
|
i0.ɵɵclassProp("fa-arrow-down", ctx_r1.SortDir === "desc")("fa-arrow-up", ctx_r1.SortDir === "asc");
|
|
112
113
|
} }
|
|
113
|
-
function
|
|
114
|
-
i0.ɵɵelement(0, "i",
|
|
115
|
-
i0.ɵɵelementStart(1, "div",
|
|
114
|
+
function EventMonitorComponent_Conditional_81_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
115
|
+
i0.ɵɵelement(0, "i", 40);
|
|
116
|
+
i0.ɵɵelementStart(1, "div", 41);
|
|
116
117
|
i0.ɵɵtext(2, "Listening for events\u2026");
|
|
117
118
|
i0.ɵɵelementEnd();
|
|
118
|
-
i0.ɵɵelementStart(3, "div",
|
|
119
|
+
i0.ɵɵelementStart(3, "div", 42);
|
|
119
120
|
i0.ɵɵtext(4, "Trigger an action \u2014 saves, navigation, AI events all show up here.");
|
|
120
121
|
i0.ɵɵelementEnd();
|
|
121
122
|
} }
|
|
122
|
-
function
|
|
123
|
-
i0.ɵɵelement(0, "i",
|
|
124
|
-
i0.ɵɵelementStart(1, "div",
|
|
123
|
+
function EventMonitorComponent_Conditional_81_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
124
|
+
i0.ɵɵelement(0, "i", 43);
|
|
125
|
+
i0.ɵɵelementStart(1, "div", 41);
|
|
125
126
|
i0.ɵɵtext(2, "Capture is paused");
|
|
126
127
|
i0.ɵɵelementEnd();
|
|
127
|
-
i0.ɵɵelementStart(3, "div",
|
|
128
|
+
i0.ɵɵelementStart(3, "div", 42);
|
|
128
129
|
i0.ɵɵtext(4);
|
|
129
130
|
i0.ɵɵelementEnd();
|
|
130
131
|
} if (rf & 2) {
|
|
@@ -132,12 +133,12 @@ function EventMonitorComponent_Conditional_89_Conditional_2_Template(rf, ctx) {
|
|
|
132
133
|
i0.ɵɵadvance(4);
|
|
133
134
|
i0.ɵɵtextInterpolate1("", ctx_r1.Stats.captured, " events fired since you paused. Click Resume to start collecting again.");
|
|
134
135
|
} }
|
|
135
|
-
function
|
|
136
|
-
i0.ɵɵelement(0, "i",
|
|
137
|
-
i0.ɵɵelementStart(1, "div",
|
|
136
|
+
function EventMonitorComponent_Conditional_81_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
137
|
+
i0.ɵɵelement(0, "i", 44);
|
|
138
|
+
i0.ɵɵelementStart(1, "div", 41);
|
|
138
139
|
i0.ɵɵtext(2, "No events match your filter");
|
|
139
140
|
i0.ɵɵelementEnd();
|
|
140
|
-
i0.ɵɵelementStart(3, "div",
|
|
141
|
+
i0.ɵɵelementStart(3, "div", 42);
|
|
141
142
|
i0.ɵɵtext(4);
|
|
142
143
|
i0.ɵɵelementEnd();
|
|
143
144
|
} if (rf & 2) {
|
|
@@ -145,17 +146,17 @@ function EventMonitorComponent_Conditional_89_Conditional_3_Template(rf, ctx) {
|
|
|
145
146
|
i0.ɵɵadvance(4);
|
|
146
147
|
i0.ɵɵtextInterpolate1("", ctx_r1.Stats.kept, " events in buffer \u00B7 clear filters to see them.");
|
|
147
148
|
} }
|
|
148
|
-
function
|
|
149
|
-
i0.ɵɵelementStart(0, "div",
|
|
150
|
-
i0.ɵɵconditionalCreate(1,
|
|
149
|
+
function EventMonitorComponent_Conditional_81_Template(rf, ctx) { if (rf & 1) {
|
|
150
|
+
i0.ɵɵelementStart(0, "div", 33);
|
|
151
|
+
i0.ɵɵconditionalCreate(1, EventMonitorComponent_Conditional_81_Conditional_1_Template, 5, 0)(2, EventMonitorComponent_Conditional_81_Conditional_2_Template, 5, 1)(3, EventMonitorComponent_Conditional_81_Conditional_3_Template, 5, 1);
|
|
151
152
|
i0.ɵɵelementEnd();
|
|
152
153
|
} if (rf & 2) {
|
|
153
154
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
154
155
|
i0.ɵɵadvance();
|
|
155
156
|
i0.ɵɵconditional(ctx_r1.Stats.captured === 0 ? 1 : ctx_r1.Paused ? 2 : 3);
|
|
156
157
|
} }
|
|
157
|
-
function
|
|
158
|
-
i0.ɵɵelementStart(0, "pre",
|
|
158
|
+
function EventMonitorComponent_Conditional_82_For_1_Conditional_16_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
159
|
+
i0.ɵɵelementStart(0, "pre", 56)(1, "code");
|
|
159
160
|
i0.ɵɵtext(2);
|
|
160
161
|
i0.ɵɵpipe(3, "json");
|
|
161
162
|
i0.ɵɵelementEnd()();
|
|
@@ -164,45 +165,45 @@ function EventMonitorComponent_Conditional_90_For_1_Conditional_16_Conditional_0
|
|
|
164
165
|
i0.ɵɵadvance(2);
|
|
165
166
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, evt_r9.args));
|
|
166
167
|
} }
|
|
167
|
-
function
|
|
168
|
-
i0.ɵɵelementStart(0, "div",
|
|
169
|
-
i0.ɵɵelement(1, "i",
|
|
168
|
+
function EventMonitorComponent_Conditional_82_For_1_Conditional_16_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
169
|
+
i0.ɵɵelementStart(0, "div", 57);
|
|
170
|
+
i0.ɵɵelement(1, "i", 58);
|
|
170
171
|
i0.ɵɵelementStart(2, "span");
|
|
171
172
|
i0.ɵɵtext(3, "This event has no payload.");
|
|
172
173
|
i0.ɵɵelementEnd()();
|
|
173
174
|
} }
|
|
174
|
-
function
|
|
175
|
-
i0.ɵɵconditionalCreate(0,
|
|
175
|
+
function EventMonitorComponent_Conditional_82_For_1_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
176
|
+
i0.ɵɵconditionalCreate(0, EventMonitorComponent_Conditional_82_For_1_Conditional_16_Conditional_0_Template, 4, 3, "pre", 56)(1, EventMonitorComponent_Conditional_82_For_1_Conditional_16_Conditional_1_Template, 4, 0, "div", 57);
|
|
176
177
|
} if (rf & 2) {
|
|
177
178
|
const evt_r9 = i0.ɵɵnextContext().$implicit;
|
|
178
179
|
i0.ɵɵconditional(evt_r9.hasPayload ? 0 : 1);
|
|
179
180
|
} }
|
|
180
|
-
function
|
|
181
|
+
function EventMonitorComponent_Conditional_82_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
181
182
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
182
|
-
i0.ɵɵelementStart(0, "div",
|
|
183
|
-
i0.ɵɵlistener("click", function
|
|
184
|
-
i0.ɵɵelement(2, "i",
|
|
185
|
-
i0.ɵɵelementStart(3, "span",
|
|
183
|
+
i0.ɵɵelementStart(0, "div", 46)(1, "div", 47);
|
|
184
|
+
i0.ɵɵlistener("click", function EventMonitorComponent_Conditional_82_For_1_Template_div_click_1_listener() { const evt_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.ToggleRow(evt_r9)); });
|
|
185
|
+
i0.ɵɵelement(2, "i", 48);
|
|
186
|
+
i0.ɵɵelementStart(3, "span", 49);
|
|
186
187
|
i0.ɵɵtext(4);
|
|
187
188
|
i0.ɵɵpipe(5, "date");
|
|
188
189
|
i0.ɵɵelementEnd();
|
|
189
|
-
i0.ɵɵelementStart(6, "span",
|
|
190
|
+
i0.ɵɵelementStart(6, "span", 50);
|
|
190
191
|
i0.ɵɵtext(7);
|
|
191
192
|
i0.ɵɵelementEnd();
|
|
192
|
-
i0.ɵɵelementStart(8, "span",
|
|
193
|
+
i0.ɵɵelementStart(8, "span", 51);
|
|
193
194
|
i0.ɵɵtext(9);
|
|
194
195
|
i0.ɵɵelementEnd();
|
|
195
|
-
i0.ɵɵelementStart(10, "span",
|
|
196
|
+
i0.ɵɵelementStart(10, "span", 52);
|
|
196
197
|
i0.ɵɵtext(11);
|
|
197
198
|
i0.ɵɵelementEnd();
|
|
198
|
-
i0.ɵɵelementStart(12, "span",
|
|
199
|
+
i0.ɵɵelementStart(12, "span", 53);
|
|
199
200
|
i0.ɵɵtext(13);
|
|
200
201
|
i0.ɵɵelementEnd();
|
|
201
|
-
i0.ɵɵelementStart(14, "button",
|
|
202
|
-
i0.ɵɵlistener("click", function
|
|
203
|
-
i0.ɵɵelement(15, "i",
|
|
202
|
+
i0.ɵɵelementStart(14, "button", 54);
|
|
203
|
+
i0.ɵɵlistener("click", function EventMonitorComponent_Conditional_82_For_1_Template_button_click_14_listener($event) { const evt_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); $event.stopPropagation(); return i0.ɵɵresetView(ctx_r1.OnCopyRow(evt_r9)); });
|
|
204
|
+
i0.ɵɵelement(15, "i", 55);
|
|
204
205
|
i0.ɵɵelementEnd()();
|
|
205
|
-
i0.ɵɵconditionalCreate(16,
|
|
206
|
+
i0.ɵɵconditionalCreate(16, EventMonitorComponent_Conditional_82_For_1_Conditional_16_Template, 2, 1);
|
|
206
207
|
i0.ɵɵelementEnd();
|
|
207
208
|
} if (rf & 2) {
|
|
208
209
|
const evt_r9 = ctx.$implicit;
|
|
@@ -228,8 +229,8 @@ function EventMonitorComponent_Conditional_90_For_1_Template(rf, ctx) { if (rf &
|
|
|
228
229
|
i0.ɵɵadvance(3);
|
|
229
230
|
i0.ɵɵconditional(evt_r9.expanded ? 16 : -1);
|
|
230
231
|
} }
|
|
231
|
-
function
|
|
232
|
-
i0.ɵɵrepeaterCreate(0,
|
|
232
|
+
function EventMonitorComponent_Conditional_82_Template(rf, ctx) { if (rf & 1) {
|
|
233
|
+
i0.ɵɵrepeaterCreate(0, EventMonitorComponent_Conditional_82_For_1_Template, 17, 17, "div", 45, i0.ɵɵcomponentInstance().TrackBySeq, true);
|
|
233
234
|
} if (rf & 2) {
|
|
234
235
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
235
236
|
i0.ɵɵrepeater(ctx_r1.FilteredEvents);
|
|
@@ -475,124 +476,113 @@ let EventMonitorComponent = class EventMonitorComponent extends BaseResourceComp
|
|
|
475
476
|
return String(args);
|
|
476
477
|
}
|
|
477
478
|
static ɵfac = function EventMonitorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EventMonitorComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
478
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EventMonitorComponent, selectors: [["mj-event-monitor"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
479
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "
|
|
480
|
-
i0.ɵɵ
|
|
481
|
-
i0.ɵɵ
|
|
482
|
-
i0.ɵɵelementStart(4, "div")(5, "h3", 4);
|
|
483
|
-
i0.ɵɵtext(6, "Event Monitor");
|
|
479
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EventMonitorComponent, selectors: [["mj-event-monitor"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 83, vars: 32, consts: [[1, "mj-inspector", "mj-inspector--solo"], ["Role", "region", "AriaLabel", "Event monitor", "Title", "Event Monitor", "Subtitle", "Live tail of MJGlobal events with filter and pause"], ["actions", ""], ["mjButton", "", "variant", "secondary", "size", "sm", 3, "click", "title"], ["mjButton", "", "variant", "secondary", "size", "sm", "title", "Clear all captured events", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-broom"], [1, "em-stats"], [1, "em-stat"], [1, "em-pulse"], [1, "em-stat-value"], [1, "em-stat-label"], [1, "em-stat", "em-stat--right"], [1, "em-stat-value", "em-stat-value--small"], [1, "em-toolbar"], [1, "em-search-wrap"], [1, "fa-solid", "fa-search", "em-search-icon"], ["type", "search", "placeholder", "Filter by type, component, payload\u2026", 1, "em-search", 3, "ngModelChange", "ngModel"], ["title", "Clear", 1, "em-search-clear"], [1, "em-select-wrap"], [1, "em-select-label"], [1, "em-select", 3, "ngModelChange", "ngModel"], ["value", ""], [3, "value"], ["type", "button", "title", "Clear all filters", 1, "em-clear-filters"], [1, "em-list"], [1, "em-table-head"], ["type", "button", 1, "em-th", "em-th--time", 3, "click"], [1, "fa-solid", 3, "fa-arrow-down", "fa-arrow-up"], ["type", "button", 1, "em-th", "em-th--type", 3, "click"], ["type", "button", 1, "em-th", "em-th--code", 3, "click"], ["type", "button", 1, "em-th", "em-th--component", 3, "click"], [1, "em-th", "em-th--summary"], [1, "em-th", "em-th--actions"], [1, "em-empty"], ["aria-hidden", "true", 1, "fa-solid", "fa-play"], ["aria-hidden", "true", 1, "fa-solid", "fa-pause"], ["title", "Clear", 1, "em-search-clear", 3, "click"], [1, "fa-solid", "fa-xmark"], ["type", "button", "title", "Clear all filters", 1, "em-clear-filters", 3, "click"], [1, "fa-solid"], [1, "fa-solid", "fa-radio", "em-empty-icon"], [1, "em-empty-title"], [1, "em-empty-sub"], [1, "fa-solid", "fa-pause", "em-empty-icon"], [1, "fa-solid", "fa-filter", "em-empty-icon"], [1, "em-row", 3, "em-row--expanded"], [1, "em-row"], [1, "em-row-head", 3, "click"], [1, "em-row-chev", "fa-solid", "fa-chevron-right"], [1, "em-row-time"], [1, "em-row-type"], [1, "em-row-code"], [1, "em-row-component", 3, "title"], [1, "em-row-summary"], ["type", "button", "title", "Copy as JSON", 1, "em-row-copy", 3, "click"], [1, "fa-solid", "fa-clipboard"], [1, "em-row-payload"], [1, "em-row-no-payload"], [1, "fa-regular", "fa-circle"]], template: function EventMonitorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
480
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "mj-page-header-interior", 1)(2, "div", 2)(3, "button", 3);
|
|
481
|
+
i0.ɵɵlistener("click", function EventMonitorComponent_Template_button_click_3_listener() { return ctx.TogglePause(); });
|
|
482
|
+
i0.ɵɵconditionalCreate(4, EventMonitorComponent_Conditional_4_Template, 2, 0)(5, EventMonitorComponent_Conditional_5_Template, 2, 0);
|
|
484
483
|
i0.ɵɵelementEnd();
|
|
485
|
-
i0.ɵɵelementStart(
|
|
486
|
-
i0.ɵɵ
|
|
487
|
-
i0.ɵɵ
|
|
488
|
-
i0.ɵɵ
|
|
489
|
-
i0.ɵɵelementStart(10, "div", 7)(11, "button", 8);
|
|
490
|
-
i0.ɵɵlistener("click", function EventMonitorComponent_Template_button_click_11_listener() { return ctx.TogglePause(); });
|
|
491
|
-
i0.ɵɵconditionalCreate(12, EventMonitorComponent_Conditional_12_Template, 2, 0)(13, EventMonitorComponent_Conditional_13_Template, 2, 0);
|
|
492
|
-
i0.ɵɵelementEnd();
|
|
493
|
-
i0.ɵɵelementStart(14, "button", 9);
|
|
494
|
-
i0.ɵɵlistener("click", function EventMonitorComponent_Template_button_click_14_listener() { return ctx.Clear(); });
|
|
495
|
-
i0.ɵɵelement(15, "i", 10);
|
|
496
|
-
i0.ɵɵtext(16, " Clear ");
|
|
484
|
+
i0.ɵɵelementStart(6, "button", 4);
|
|
485
|
+
i0.ɵɵlistener("click", function EventMonitorComponent_Template_button_click_6_listener() { return ctx.Clear(); });
|
|
486
|
+
i0.ɵɵelement(7, "i", 5);
|
|
487
|
+
i0.ɵɵtext(8, " Clear ");
|
|
497
488
|
i0.ɵɵelementEnd()()();
|
|
498
|
-
i0.ɵɵelementStart(
|
|
499
|
-
i0.ɵɵelement(
|
|
500
|
-
i0.ɵɵelementStart(
|
|
501
|
-
i0.ɵɵtext(
|
|
489
|
+
i0.ɵɵelementStart(9, "div", 6)(10, "div", 7);
|
|
490
|
+
i0.ɵɵelement(11, "i", 8);
|
|
491
|
+
i0.ɵɵelementStart(12, "div")(13, "div", 9);
|
|
492
|
+
i0.ɵɵtext(14);
|
|
502
493
|
i0.ɵɵelementEnd();
|
|
503
|
-
i0.ɵɵelementStart(
|
|
504
|
-
i0.ɵɵtext(
|
|
494
|
+
i0.ɵɵelementStart(15, "div", 10);
|
|
495
|
+
i0.ɵɵtext(16);
|
|
505
496
|
i0.ɵɵelementEnd()()();
|
|
506
|
-
i0.ɵɵelementStart(
|
|
507
|
-
i0.ɵɵtext(
|
|
497
|
+
i0.ɵɵelementStart(17, "div", 7)(18, "div")(19, "div", 9);
|
|
498
|
+
i0.ɵɵtext(20);
|
|
508
499
|
i0.ɵɵelementEnd();
|
|
509
|
-
i0.ɵɵelementStart(
|
|
510
|
-
i0.ɵɵtext(
|
|
500
|
+
i0.ɵɵelementStart(21, "div", 10);
|
|
501
|
+
i0.ɵɵtext(22, "Total captured");
|
|
511
502
|
i0.ɵɵelementEnd()()();
|
|
512
|
-
i0.ɵɵelementStart(
|
|
513
|
-
i0.ɵɵtext(
|
|
503
|
+
i0.ɵɵelementStart(23, "div", 7)(24, "div")(25, "div", 9);
|
|
504
|
+
i0.ɵɵtext(26);
|
|
514
505
|
i0.ɵɵelementEnd();
|
|
515
|
-
i0.ɵɵelementStart(
|
|
516
|
-
i0.ɵɵtext(
|
|
506
|
+
i0.ɵɵelementStart(27, "div", 10);
|
|
507
|
+
i0.ɵɵtext(28, "In buffer");
|
|
517
508
|
i0.ɵɵelementEnd()()();
|
|
518
|
-
i0.ɵɵelementStart(
|
|
519
|
-
i0.ɵɵtext(
|
|
509
|
+
i0.ɵɵelementStart(29, "div", 7)(30, "div")(31, "div", 9);
|
|
510
|
+
i0.ɵɵtext(32);
|
|
520
511
|
i0.ɵɵelementEnd();
|
|
521
|
-
i0.ɵɵelementStart(
|
|
522
|
-
i0.ɵɵtext(
|
|
512
|
+
i0.ɵɵelementStart(33, "div", 10);
|
|
513
|
+
i0.ɵɵtext(34, "Last second");
|
|
523
514
|
i0.ɵɵelementEnd()()();
|
|
524
|
-
i0.ɵɵelementStart(
|
|
525
|
-
i0.ɵɵtext(
|
|
515
|
+
i0.ɵɵelementStart(35, "div", 11)(36, "div")(37, "div", 12);
|
|
516
|
+
i0.ɵɵtext(38);
|
|
526
517
|
i0.ɵɵelementEnd();
|
|
527
|
-
i0.ɵɵelementStart(
|
|
528
|
-
i0.ɵɵtext(
|
|
518
|
+
i0.ɵɵelementStart(39, "div", 10);
|
|
519
|
+
i0.ɵɵtext(40, "Watching for");
|
|
529
520
|
i0.ɵɵelementEnd()()()();
|
|
530
|
-
i0.ɵɵelementStart(
|
|
531
|
-
i0.ɵɵelement(
|
|
532
|
-
i0.ɵɵelementStart(
|
|
533
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
534
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
521
|
+
i0.ɵɵelementStart(41, "div", 13)(42, "div", 14);
|
|
522
|
+
i0.ɵɵelement(43, "i", 15);
|
|
523
|
+
i0.ɵɵelementStart(44, "input", 16);
|
|
524
|
+
i0.ɵɵtwoWayListener("ngModelChange", function EventMonitorComponent_Template_input_ngModelChange_44_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.Filter, $event) || (ctx.Filter = $event); return $event; });
|
|
525
|
+
i0.ɵɵlistener("ngModelChange", function EventMonitorComponent_Template_input_ngModelChange_44_listener() { return ctx.PersistPrefs(); });
|
|
535
526
|
i0.ɵɵelementEnd();
|
|
536
|
-
i0.ɵɵconditionalCreate(
|
|
527
|
+
i0.ɵɵconditionalCreate(45, EventMonitorComponent_Conditional_45_Template, 2, 0, "button", 17);
|
|
537
528
|
i0.ɵɵelementEnd();
|
|
538
|
-
i0.ɵɵelementStart(
|
|
539
|
-
i0.ɵɵtext(
|
|
529
|
+
i0.ɵɵelementStart(46, "div", 18)(47, "label", 19);
|
|
530
|
+
i0.ɵɵtext(48, "Type");
|
|
540
531
|
i0.ɵɵelementEnd();
|
|
541
|
-
i0.ɵɵelementStart(
|
|
542
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
543
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
544
|
-
i0.ɵɵelementStart(
|
|
545
|
-
i0.ɵɵtext(
|
|
532
|
+
i0.ɵɵelementStart(49, "select", 20);
|
|
533
|
+
i0.ɵɵtwoWayListener("ngModelChange", function EventMonitorComponent_Template_select_ngModelChange_49_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.TypeFilter, $event) || (ctx.TypeFilter = $event); return $event; });
|
|
534
|
+
i0.ɵɵlistener("ngModelChange", function EventMonitorComponent_Template_select_ngModelChange_49_listener() { return ctx.PersistPrefs(); });
|
|
535
|
+
i0.ɵɵelementStart(50, "option", 21);
|
|
536
|
+
i0.ɵɵtext(51);
|
|
546
537
|
i0.ɵɵelementEnd();
|
|
547
|
-
i0.ɵɵrepeaterCreate(
|
|
538
|
+
i0.ɵɵrepeaterCreate(52, EventMonitorComponent_For_53_Template, 2, 2, "option", 22, i0.ɵɵrepeaterTrackByIdentity);
|
|
548
539
|
i0.ɵɵelementEnd()();
|
|
549
|
-
i0.ɵɵelementStart(
|
|
550
|
-
i0.ɵɵtext(
|
|
540
|
+
i0.ɵɵelementStart(54, "div", 18)(55, "label", 19);
|
|
541
|
+
i0.ɵɵtext(56, "Component");
|
|
551
542
|
i0.ɵɵelementEnd();
|
|
552
|
-
i0.ɵɵelementStart(
|
|
553
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
554
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
555
|
-
i0.ɵɵelementStart(
|
|
556
|
-
i0.ɵɵtext(
|
|
543
|
+
i0.ɵɵelementStart(57, "select", 20);
|
|
544
|
+
i0.ɵɵtwoWayListener("ngModelChange", function EventMonitorComponent_Template_select_ngModelChange_57_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.ComponentFilter, $event) || (ctx.ComponentFilter = $event); return $event; });
|
|
545
|
+
i0.ɵɵlistener("ngModelChange", function EventMonitorComponent_Template_select_ngModelChange_57_listener() { return ctx.PersistPrefs(); });
|
|
546
|
+
i0.ɵɵelementStart(58, "option", 21);
|
|
547
|
+
i0.ɵɵtext(59);
|
|
557
548
|
i0.ɵɵelementEnd();
|
|
558
|
-
i0.ɵɵrepeaterCreate(
|
|
549
|
+
i0.ɵɵrepeaterCreate(60, EventMonitorComponent_For_61_Template, 2, 2, "option", 22, i0.ɵɵrepeaterTrackByIdentity);
|
|
559
550
|
i0.ɵɵelementEnd()();
|
|
560
|
-
i0.ɵɵconditionalCreate(
|
|
561
|
-
i0.ɵɵconditionalCreate(
|
|
551
|
+
i0.ɵɵconditionalCreate(62, EventMonitorComponent_Conditional_62_Template, 8, 2, "div", 18);
|
|
552
|
+
i0.ɵɵconditionalCreate(63, EventMonitorComponent_Conditional_63_Template, 3, 0, "button", 23);
|
|
562
553
|
i0.ɵɵelementEnd();
|
|
563
|
-
i0.ɵɵelementStart(
|
|
564
|
-
i0.ɵɵlistener("click", function
|
|
565
|
-
i0.ɵɵtext(
|
|
566
|
-
i0.ɵɵconditionalCreate(
|
|
554
|
+
i0.ɵɵelementStart(64, "div", 24)(65, "div", 25)(66, "button", 26);
|
|
555
|
+
i0.ɵɵlistener("click", function EventMonitorComponent_Template_button_click_66_listener() { return ctx.OnSortClick("time"); });
|
|
556
|
+
i0.ɵɵtext(67, " Time ");
|
|
557
|
+
i0.ɵɵconditionalCreate(68, EventMonitorComponent_Conditional_68_Template, 1, 4, "i", 27);
|
|
567
558
|
i0.ɵɵelementEnd();
|
|
568
|
-
i0.ɵɵelementStart(
|
|
569
|
-
i0.ɵɵlistener("click", function
|
|
570
|
-
i0.ɵɵtext(
|
|
571
|
-
i0.ɵɵconditionalCreate(
|
|
559
|
+
i0.ɵɵelementStart(69, "button", 28);
|
|
560
|
+
i0.ɵɵlistener("click", function EventMonitorComponent_Template_button_click_69_listener() { return ctx.OnSortClick("type"); });
|
|
561
|
+
i0.ɵɵtext(70, " Type ");
|
|
562
|
+
i0.ɵɵconditionalCreate(71, EventMonitorComponent_Conditional_71_Template, 1, 4, "i", 27);
|
|
572
563
|
i0.ɵɵelementEnd();
|
|
573
|
-
i0.ɵɵelementStart(
|
|
574
|
-
i0.ɵɵlistener("click", function
|
|
575
|
-
i0.ɵɵtext(
|
|
576
|
-
i0.ɵɵconditionalCreate(
|
|
564
|
+
i0.ɵɵelementStart(72, "button", 29);
|
|
565
|
+
i0.ɵɵlistener("click", function EventMonitorComponent_Template_button_click_72_listener() { return ctx.OnSortClick("eventCode"); });
|
|
566
|
+
i0.ɵɵtext(73, " Code ");
|
|
567
|
+
i0.ɵɵconditionalCreate(74, EventMonitorComponent_Conditional_74_Template, 1, 4, "i", 27);
|
|
577
568
|
i0.ɵɵelementEnd();
|
|
578
|
-
i0.ɵɵelementStart(
|
|
579
|
-
i0.ɵɵlistener("click", function
|
|
580
|
-
i0.ɵɵtext(
|
|
581
|
-
i0.ɵɵconditionalCreate(
|
|
569
|
+
i0.ɵɵelementStart(75, "button", 30);
|
|
570
|
+
i0.ɵɵlistener("click", function EventMonitorComponent_Template_button_click_75_listener() { return ctx.OnSortClick("component"); });
|
|
571
|
+
i0.ɵɵtext(76, " Component ");
|
|
572
|
+
i0.ɵɵconditionalCreate(77, EventMonitorComponent_Conditional_77_Template, 1, 4, "i", 27);
|
|
582
573
|
i0.ɵɵelementEnd();
|
|
583
|
-
i0.ɵɵelementStart(
|
|
584
|
-
i0.ɵɵtext(
|
|
574
|
+
i0.ɵɵelementStart(78, "span", 31);
|
|
575
|
+
i0.ɵɵtext(79, "Summary");
|
|
585
576
|
i0.ɵɵelementEnd();
|
|
586
|
-
i0.ɵɵelement(
|
|
577
|
+
i0.ɵɵelement(80, "span", 32);
|
|
587
578
|
i0.ɵɵelementEnd();
|
|
588
|
-
i0.ɵɵconditionalCreate(
|
|
579
|
+
i0.ɵɵconditionalCreate(81, EventMonitorComponent_Conditional_81_Template, 4, 1, "div", 33)(82, EventMonitorComponent_Conditional_82_Template, 2, 0);
|
|
589
580
|
i0.ɵɵelementEnd()();
|
|
590
581
|
} if (rf & 2) {
|
|
591
|
-
i0.ɵɵadvance(
|
|
592
|
-
i0.ɵɵclassProp("mj-inspector__btn--success", !ctx.Paused)("em-paused", ctx.Paused);
|
|
582
|
+
i0.ɵɵadvance(3);
|
|
593
583
|
i0.ɵɵproperty("title", ctx.Paused ? "Resume capture" : "Pause capture");
|
|
594
584
|
i0.ɵɵadvance();
|
|
595
|
-
i0.ɵɵconditional(ctx.Paused ?
|
|
585
|
+
i0.ɵɵconditional(ctx.Paused ? 4 : 5);
|
|
596
586
|
i0.ɵɵadvance(7);
|
|
597
587
|
i0.ɵɵclassProp("em-pulse--paused", ctx.Paused);
|
|
598
588
|
i0.ɵɵadvance(3);
|
|
@@ -610,7 +600,7 @@ let EventMonitorComponent = class EventMonitorComponent extends BaseResourceComp
|
|
|
610
600
|
i0.ɵɵadvance(6);
|
|
611
601
|
i0.ɵɵtwoWayProperty("ngModel", ctx.Filter);
|
|
612
602
|
i0.ɵɵadvance();
|
|
613
|
-
i0.ɵɵconditional(ctx.Filter ?
|
|
603
|
+
i0.ɵɵconditional(ctx.Filter ? 45 : -1);
|
|
614
604
|
i0.ɵɵadvance(4);
|
|
615
605
|
i0.ɵɵtwoWayProperty("ngModel", ctx.TypeFilter);
|
|
616
606
|
i0.ɵɵadvance(2);
|
|
@@ -624,28 +614,28 @@ let EventMonitorComponent = class EventMonitorComponent extends BaseResourceComp
|
|
|
624
614
|
i0.ɵɵadvance();
|
|
625
615
|
i0.ɵɵrepeater(ctx.KnownComponents);
|
|
626
616
|
i0.ɵɵadvance(2);
|
|
627
|
-
i0.ɵɵconditional(ctx.KnownCodes.length > 0 ?
|
|
617
|
+
i0.ɵɵconditional(ctx.KnownCodes.length > 0 ? 62 : -1);
|
|
628
618
|
i0.ɵɵadvance();
|
|
629
|
-
i0.ɵɵconditional(ctx.HasActiveFilters ?
|
|
619
|
+
i0.ɵɵconditional(ctx.HasActiveFilters ? 63 : -1);
|
|
630
620
|
i0.ɵɵadvance(3);
|
|
631
621
|
i0.ɵɵclassProp("em-th--sorted", ctx.SortField === "time");
|
|
632
622
|
i0.ɵɵadvance(2);
|
|
633
|
-
i0.ɵɵconditional(ctx.SortField === "time" ?
|
|
623
|
+
i0.ɵɵconditional(ctx.SortField === "time" ? 68 : -1);
|
|
634
624
|
i0.ɵɵadvance();
|
|
635
625
|
i0.ɵɵclassProp("em-th--sorted", ctx.SortField === "type");
|
|
636
626
|
i0.ɵɵadvance(2);
|
|
637
|
-
i0.ɵɵconditional(ctx.SortField === "type" ?
|
|
627
|
+
i0.ɵɵconditional(ctx.SortField === "type" ? 71 : -1);
|
|
638
628
|
i0.ɵɵadvance();
|
|
639
629
|
i0.ɵɵclassProp("em-th--sorted", ctx.SortField === "eventCode");
|
|
640
630
|
i0.ɵɵadvance(2);
|
|
641
|
-
i0.ɵɵconditional(ctx.SortField === "eventCode" ?
|
|
631
|
+
i0.ɵɵconditional(ctx.SortField === "eventCode" ? 74 : -1);
|
|
642
632
|
i0.ɵɵadvance();
|
|
643
633
|
i0.ɵɵclassProp("em-th--sorted", ctx.SortField === "component");
|
|
644
634
|
i0.ɵɵadvance(2);
|
|
645
|
-
i0.ɵɵconditional(ctx.SortField === "component" ?
|
|
635
|
+
i0.ɵɵconditional(ctx.SortField === "component" ? 77 : -1);
|
|
646
636
|
i0.ɵɵadvance(4);
|
|
647
|
-
i0.ɵɵconditional(ctx.FilteredEvents.length === 0 ?
|
|
648
|
-
} }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.NgModel, i2.JsonPipe, i2.DatePipe], styles: ["[_nghost-%COMP%] { display: block; height: 100%; }\n\n.mj-inspector[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n font-family: inherit;\n}\n\n\n\n.mj-inspector__header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 14px;\n padding: 14px 20px;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.mj-inspector__header-icon[_ngcontent-%COMP%] {\n width: 36px; height: 36px;\n border-radius: 9px;\n background: linear-gradient(135deg, #264FAF 0%, #0076b6 100%);\n color: white;\n display: flex; align-items: center; justify-content: center;\n font-size: 15px;\n flex-shrink: 0;\n}\n.mj-inspector__header-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n letter-spacing: -0.2px;\n}\n.mj-inspector__header-sub[_ngcontent-%COMP%] {\n font-size: 11.5px;\n color: var(--mj-text-muted);\n margin-top: 2px;\n}\n.mj-inspector__header-spacer[_ngcontent-%COMP%] { flex: 1; }\n.mj-inspector__header-actions[_ngcontent-%COMP%] {\n display: flex; gap: 6px;\n}\n.mj-inspector__btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 7px 12px;\n border-radius: 7px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.15s;\n}\n.mj-inspector__btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.mj-inspector__btn--success[_ngcontent-%COMP%] {\n color: var(--mj-status-success);\n border-color: color-mix(in srgb, var(--mj-status-success) 30%, var(--mj-border-default));\n}\n\n\n\n.mj-inspector__body[_ngcontent-%COMP%] {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n.mj-inspector__sidebar[_ngcontent-%COMP%] {\n width: 220px;\n border-right: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n overflow-y: auto;\n flex-shrink: 0;\n padding: 8px;\n}\n.mj-inspector__nav-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n padding: 10px 12px;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.12s;\n margin-bottom: 2px;\n font-family: inherit;\n border: none;\n background: transparent;\n color: var(--mj-text-secondary);\n text-align: left;\n width: 100%;\n}\n.mj-inspector__nav-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.mj-inspector__nav-item--active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n}\n.mj-inspector__nav-item--active[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 14%, transparent);\n}\n.mj-inspector__nav-icon[_ngcontent-%COMP%] {\n width: 18px;\n text-align: center;\n font-size: 13px;\n margin-top: 1px;\n flex-shrink: 0;\n color: inherit;\n}\n.mj-inspector__nav-text[_ngcontent-%COMP%] { flex: 1; min-width: 0; }\n.mj-inspector__nav-label[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n line-height: 1.2;\n}\n.mj-inspector__nav-desc[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 3px;\n line-height: 1.3;\n}\n.mj-inspector__nav-item--active[_ngcontent-%COMP%] .mj-inspector__nav-desc[_ngcontent-%COMP%] {\n color: color-mix(in srgb, var(--mj-brand-primary) 70%, var(--mj-text-muted));\n}\n\n\n\n.mj-inspector__content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-page);\n}\n.mj-inspector__content-head[_ngcontent-%COMP%] {\n padding: 12px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--mj-bg-surface-card);\n}\n.mj-inspector__content-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.mj-inspector__content-meta[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n}\n.mj-inspector__editor[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.mj-inspector__editor[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n display: block;\n}\n\n\n\n.mj-inspector__empty[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n@media (max-width: 700px) {\n .mj-inspector__body[_ngcontent-%COMP%] { flex-direction: column; }\n .mj-inspector__sidebar[_ngcontent-%COMP%] {\n width: 100%;\n height: auto;\n max-height: 200px;\n border-right: none;\n border-bottom: 1px solid var(--mj-border-default);\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n }\n .mj-inspector__nav-item[_ngcontent-%COMP%] { flex: 1 1 calc(50% - 8px); margin-bottom: 0; }\n .mj-inspector__nav-desc[_ngcontent-%COMP%] { display: none; }\n .mj-inspector__header[_ngcontent-%COMP%] { padding: 12px 14px; gap: 10px; }\n}", ".mj-inspector--solo[_ngcontent-%COMP%] { background: var(--mj-bg-page); }\n.em-paused[_ngcontent-%COMP%] {\n color: var(--mj-status-warning) !important;\n border-color: color-mix(in srgb, var(--mj-status-warning) 30%, var(--mj-border-default)) !important;\n}\n\n\n\n.em-stats[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n padding: 14px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n align-items: center;\n}\n.em-stat[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 14px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 10px;\n min-width: 130px;\n}\n.em-stat--right[_ngcontent-%COMP%] { margin-left: auto; }\n.em-stat-value[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 700;\n color: var(--mj-text-primary);\n letter-spacing: -0.3px;\n line-height: 1;\n}\n.em-stat-value--small[_ngcontent-%COMP%] { font-size: 13px; }\n.em-stat-label[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.5px;\n margin-top: 4px;\n}\n\n\n\n.em-pulse[_ngcontent-%COMP%] {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background: var(--mj-status-success);\n box-shadow: 0 0 0 0 var(--mj-status-success);\n animation: _ngcontent-%COMP%_em-pulse-anim 1.6s ease-out infinite;\n}\n.em-pulse--paused[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n box-shadow: none;\n animation: none;\n}\n@keyframes _ngcontent-%COMP%_em-pulse-anim {\n 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--mj-status-success) 70%, transparent); }\n 70% { box-shadow: 0 0 0 8px color-mix(in srgb, var(--mj-status-success) 0%, transparent); }\n 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--mj-status-success) 0%, transparent); }\n}\n@media (prefers-reduced-motion: reduce) { .em-pulse[_ngcontent-%COMP%] { animation: none; } }\n\n\n\n.em-toolbar[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-end;\n gap: 10px;\n padding: 10px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n flex-wrap: wrap;\n}\n.em-search-wrap[_ngcontent-%COMP%] {\n position: relative;\n width: 280px;\n flex-shrink: 0;\n}\n.em-select-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 3px;\n min-width: 0;\n}\n.em-select-label[_ngcontent-%COMP%] {\n font-size: 9.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n.em-select[_ngcontent-%COMP%] {\n padding: 6px 10px;\n border: 1px solid var(--mj-border-default);\n border-radius: 7px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n cursor: pointer;\n min-width: 160px;\n max-width: 240px;\n}\n.em-select[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.em-clear-filters[_ngcontent-%COMP%] {\n align-self: flex-end;\n padding: 6px 12px;\n background: transparent;\n border: 1px solid color-mix(in srgb, var(--mj-status-warning) 30%, var(--mj-border-default));\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n border-radius: 7px;\n font-size: 11.5px;\n font-weight: 500;\n cursor: pointer;\n font-family: inherit;\n margin-left: auto;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n}\n.em-clear-filters[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-warning) 8%, transparent);\n}\n.em-search-icon[_ngcontent-%COMP%] {\n position: absolute;\n left: 12px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 12px;\n pointer-events: none;\n}\n.em-search[_ngcontent-%COMP%] {\n width: 100%;\n padding: 7px 32px 7px 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12.5px;\n font-family: inherit;\n}\n.em-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.em-search-clear[_ngcontent-%COMP%] {\n position: absolute;\n right: 8px; top: 50%;\n transform: translateY(-50%);\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 22px; height: 22px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n}\n.em-search-clear[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n\n\n\n.em-table-head[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 110px 160px 140px 200px 1fr 32px;\n gap: 12px;\n padding: 8px 20px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-subtle);\n position: sticky;\n top: 0;\n z-index: 1;\n align-items: center;\n}\n.em-th[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: transparent;\n border: none;\n cursor: pointer;\n font-family: inherit;\n text-align: left;\n padding: 4px 0;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n transition: color 0.12s;\n}\n.em-th[_ngcontent-%COMP%]:hover { color: var(--mj-text-primary); }\n.em-th--sorted[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n.em-th--sorted[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 9px; }\n.em-th--summary[_ngcontent-%COMP%], \n.em-th--actions[_ngcontent-%COMP%] {\n cursor: default;\n}\n.em-th--summary[_ngcontent-%COMP%]:hover, \n.em-th--actions[_ngcontent-%COMP%]:hover { color: var(--mj-text-muted); }\n\n\n\n.em-list[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n background: var(--mj-bg-page);\n}\n.em-row[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n transition: background 0.1s;\n animation: _ngcontent-%COMP%_em-row-in 0.25s ease-out;\n}\n@keyframes _ngcontent-%COMP%_em-row-in {\n from { opacity: 0; transform: translateY(-3px); }\n to { opacity: 1; transform: translateY(0); }\n}\n@media (prefers-reduced-motion: reduce) { .em-row[_ngcontent-%COMP%] { animation: none; } }\n.em-row[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); }\n.em-row--expanded[_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-brand-primary) 4%, var(--mj-bg-surface)); }\n.em-row--expanded[_ngcontent-%COMP%]:hover { background: color-mix(in srgb, var(--mj-brand-primary) 6%, var(--mj-bg-surface)); }\n\n.em-row-head[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 12px 96px 160px 140px 200px 1fr 32px;\n gap: 12px;\n padding: 8px 20px;\n cursor: pointer;\n font-size: 12.5px;\n align-items: center;\n}\n.em-row-chev[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 10px;\n width: 12px;\n flex-shrink: 0;\n transition: transform 0.15s;\n justify-self: start;\n}\n.em-row-chev--down[_ngcontent-%COMP%] { transform: rotate(90deg); }\n.em-row-time[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.em-row-type[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-weight: 700;\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 4px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n justify-self: start;\n}\n.em-row-type[data-type=\"LoggedIn\"][_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-status-success) 14%, transparent); color: color-mix(in srgb, var(--mj-status-success) 70%, var(--mj-text-primary)); }\n.em-row-type[data-type=\"LoggedOut\"][_ngcontent-%COMP%], \n.em-row-type[data-type=\"LoginFailed\"][_ngcontent-%COMP%], \n.em-row-type[data-type=\"LogoutFailed\"][_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-status-error) 14%, transparent); color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary)); }\n.em-row-type[data-type=\"DisplaySimpleNotificationRequest\"][_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-status-warning) 14%, transparent); color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary)); }\n.em-row-type[data-type=\"ManualResizeRequest\"][_ngcontent-%COMP%] { background: color-mix(in srgb, #7c3aed 12%, transparent); color: #5b21b6; }\n\n.em-row-code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11px;\n color: var(--mj-text-secondary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.em-row-component[_ngcontent-%COMP%] {\n font-size: 11.5px;\n color: var(--mj-text-secondary);\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.em-row-summary[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11.5px;\n color: var(--mj-text-muted);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n}\n.em-row-summary--empty[_ngcontent-%COMP%] { font-style: italic; opacity: 0.6; }\n\n.em-row-no-payload[_ngcontent-%COMP%] {\n margin: 0 20px 12px 50px;\n background: var(--mj-bg-surface-sunken);\n border: 1px dashed var(--mj-border-default);\n border-radius: 8px;\n padding: 14px 18px;\n color: var(--mj-text-muted);\n font-size: 12px;\n display: flex;\n align-items: center;\n gap: 10px;\n}\n.em-row-no-payload[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 14px; }\n.em-row-copy[_ngcontent-%COMP%] {\n background: transparent;\n border: 1px solid transparent;\n color: var(--mj-text-muted);\n cursor: pointer;\n padding: 4px 8px;\n border-radius: 5px;\n font-size: 11px;\n opacity: 0;\n transition: all 0.12s;\n}\n.em-row[_ngcontent-%COMP%]:hover .em-row-copy[_ngcontent-%COMP%] { opacity: 1; }\n.em-row-copy[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-default);\n color: var(--mj-text-primary);\n}\n\n.em-row-payload[_ngcontent-%COMP%] {\n margin: 0 20px 12px 50px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 8px;\n padding: 12px 14px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11.5px;\n color: var(--mj-text-primary);\n overflow: auto;\n max-height: 280px;\n}\n.em-row-payload[_ngcontent-%COMP%] code[_ngcontent-%COMP%] { white-space: pre-wrap; word-break: break-word; }\n\n\n\n.em-empty[_ngcontent-%COMP%] {\n padding: 80px 40px;\n text-align: center;\n color: var(--mj-text-muted);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n}\n.em-empty-icon[_ngcontent-%COMP%] {\n font-size: 36px;\n opacity: 0.4;\n color: var(--mj-brand-primary);\n}\n.em-empty-title[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.em-empty-sub[_ngcontent-%COMP%] {\n font-size: 12.5px;\n max-width: 380px;\n line-height: 1.5;\n}\n\n@media (max-width: 800px) {\n .em-stats[_ngcontent-%COMP%] { flex-wrap: wrap; }\n .em-stat--right[_ngcontent-%COMP%] { margin-left: 0; }\n .em-row-component[_ngcontent-%COMP%] { display: none; }\n .em-row-time[_ngcontent-%COMP%] { min-width: 70px; }\n .em-row-payload[_ngcontent-%COMP%] { margin-left: 20px; }\n}"] });
|
|
637
|
+
i0.ɵɵconditional(ctx.FilteredEvents.length === 0 ? 81 : 82);
|
|
638
|
+
} }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.NgModel, i2.MJButtonDirective, i2.MJPageHeaderInteriorComponent, i3.JsonPipe, i3.DatePipe], styles: ["[_nghost-%COMP%] { display: block; height: 100%; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.mj-inspector[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n font-family: inherit;\n}\n\n\n\n.mj-inspector__content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-page);\n}\n.mj-inspector__content-head[_ngcontent-%COMP%] {\n padding: 12px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--mj-bg-surface-card);\n}\n.mj-inspector__content-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.mj-inspector__content-meta[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n}\n.mj-inspector__editor[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.mj-inspector__editor[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n display: block;\n}\n\n\n\n.mj-inspector__empty[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-muted);\n font-size: 13px;\n}", ".mj-inspector--solo[_ngcontent-%COMP%] { background: var(--mj-bg-page); }\n\n\n\n.em-stats[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n padding: 14px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n align-items: center;\n}\n.em-stat[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 14px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 10px;\n min-width: 130px;\n}\n.em-stat--right[_ngcontent-%COMP%] { margin-left: auto; }\n.em-stat-value[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 700;\n color: var(--mj-text-primary);\n letter-spacing: -0.3px;\n line-height: 1;\n}\n.em-stat-value--small[_ngcontent-%COMP%] { font-size: 13px; }\n.em-stat-label[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.5px;\n margin-top: 4px;\n}\n\n\n\n.em-pulse[_ngcontent-%COMP%] {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background: var(--mj-status-success);\n box-shadow: 0 0 0 0 var(--mj-status-success);\n animation: _ngcontent-%COMP%_em-pulse-anim 1.6s ease-out infinite;\n}\n.em-pulse--paused[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n box-shadow: none;\n animation: none;\n}\n@keyframes _ngcontent-%COMP%_em-pulse-anim {\n 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--mj-status-success) 70%, transparent); }\n 70% { box-shadow: 0 0 0 8px color-mix(in srgb, var(--mj-status-success) 0%, transparent); }\n 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--mj-status-success) 0%, transparent); }\n}\n@media (prefers-reduced-motion: reduce) { .em-pulse[_ngcontent-%COMP%] { animation: none; } }\n\n\n\n.em-toolbar[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-end;\n gap: 10px;\n padding: 10px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n flex-wrap: wrap;\n}\n.em-search-wrap[_ngcontent-%COMP%] {\n position: relative;\n width: 280px;\n flex-shrink: 0;\n}\n.em-select-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 3px;\n min-width: 0;\n}\n.em-select-label[_ngcontent-%COMP%] {\n font-size: 9.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n.em-select[_ngcontent-%COMP%] {\n padding: 6px 10px;\n border: 1px solid var(--mj-border-default);\n border-radius: 7px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n cursor: pointer;\n min-width: 160px;\n max-width: 240px;\n}\n.em-select[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.em-clear-filters[_ngcontent-%COMP%] {\n align-self: flex-end;\n padding: 6px 12px;\n background: transparent;\n border: 1px solid color-mix(in srgb, var(--mj-status-warning) 30%, var(--mj-border-default));\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n border-radius: 7px;\n font-size: 11.5px;\n font-weight: 500;\n cursor: pointer;\n font-family: inherit;\n margin-left: auto;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n}\n.em-clear-filters[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-warning) 8%, transparent);\n}\n.em-search-icon[_ngcontent-%COMP%] {\n position: absolute;\n left: 12px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 12px;\n pointer-events: none;\n}\n.em-search[_ngcontent-%COMP%] {\n width: 100%;\n padding: 7px 32px 7px 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12.5px;\n font-family: inherit;\n}\n.em-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.em-search-clear[_ngcontent-%COMP%] {\n position: absolute;\n right: 8px; top: 50%;\n transform: translateY(-50%);\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 22px; height: 22px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n}\n.em-search-clear[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n\n\n\n.em-table-head[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 110px 160px 140px 200px 1fr 32px;\n gap: 12px;\n padding: 8px 20px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-subtle);\n position: sticky;\n top: 0;\n z-index: 1;\n align-items: center;\n}\n.em-th[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: transparent;\n border: none;\n cursor: pointer;\n font-family: inherit;\n text-align: left;\n padding: 4px 0;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n transition: color 0.12s;\n}\n.em-th[_ngcontent-%COMP%]:hover { color: var(--mj-text-primary); }\n.em-th--sorted[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n.em-th--sorted[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 9px; }\n.em-th--summary[_ngcontent-%COMP%], \n.em-th--actions[_ngcontent-%COMP%] {\n cursor: default;\n}\n.em-th--summary[_ngcontent-%COMP%]:hover, \n.em-th--actions[_ngcontent-%COMP%]:hover { color: var(--mj-text-muted); }\n\n\n\n.em-list[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n background: var(--mj-bg-page);\n}\n.em-row[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n transition: background 0.1s;\n animation: _ngcontent-%COMP%_em-row-in 0.25s ease-out;\n}\n@keyframes _ngcontent-%COMP%_em-row-in {\n from { opacity: 0; transform: translateY(-3px); }\n to { opacity: 1; transform: translateY(0); }\n}\n@media (prefers-reduced-motion: reduce) { .em-row[_ngcontent-%COMP%] { animation: none; } }\n.em-row[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); }\n.em-row--expanded[_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-brand-primary) 4%, var(--mj-bg-surface)); }\n.em-row--expanded[_ngcontent-%COMP%]:hover { background: color-mix(in srgb, var(--mj-brand-primary) 6%, var(--mj-bg-surface)); }\n\n.em-row-head[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 12px 96px 160px 140px 200px 1fr 32px;\n gap: 12px;\n padding: 8px 20px;\n cursor: pointer;\n font-size: 12.5px;\n align-items: center;\n}\n.em-row-chev[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 10px;\n width: 12px;\n flex-shrink: 0;\n transition: transform 0.15s;\n justify-self: start;\n}\n.em-row-chev--down[_ngcontent-%COMP%] { transform: rotate(90deg); }\n.em-row-time[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.em-row-type[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-weight: 700;\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 4px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n justify-self: start;\n}\n.em-row-type[data-type=\"LoggedIn\"][_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-status-success) 14%, transparent); color: color-mix(in srgb, var(--mj-status-success) 70%, var(--mj-text-primary)); }\n.em-row-type[data-type=\"LoggedOut\"][_ngcontent-%COMP%], \n.em-row-type[data-type=\"LoginFailed\"][_ngcontent-%COMP%], \n.em-row-type[data-type=\"LogoutFailed\"][_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-status-error) 14%, transparent); color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary)); }\n.em-row-type[data-type=\"DisplaySimpleNotificationRequest\"][_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-status-warning) 14%, transparent); color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary)); }\n.em-row-type[data-type=\"ManualResizeRequest\"][_ngcontent-%COMP%] { background: color-mix(in srgb, #7c3aed 12%, transparent); color: #5b21b6; }\n\n.em-row-code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11px;\n color: var(--mj-text-secondary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.em-row-component[_ngcontent-%COMP%] {\n font-size: 11.5px;\n color: var(--mj-text-secondary);\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.em-row-summary[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11.5px;\n color: var(--mj-text-muted);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n}\n.em-row-summary--empty[_ngcontent-%COMP%] { font-style: italic; opacity: 0.6; }\n\n.em-row-no-payload[_ngcontent-%COMP%] {\n margin: 0 20px 12px 50px;\n background: var(--mj-bg-surface-sunken);\n border: 1px dashed var(--mj-border-default);\n border-radius: 8px;\n padding: 14px 18px;\n color: var(--mj-text-muted);\n font-size: 12px;\n display: flex;\n align-items: center;\n gap: 10px;\n}\n.em-row-no-payload[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 14px; }\n.em-row-copy[_ngcontent-%COMP%] {\n background: transparent;\n border: 1px solid transparent;\n color: var(--mj-text-muted);\n cursor: pointer;\n padding: 4px 8px;\n border-radius: 5px;\n font-size: 11px;\n opacity: 0;\n transition: all 0.12s;\n}\n.em-row[_ngcontent-%COMP%]:hover .em-row-copy[_ngcontent-%COMP%] { opacity: 1; }\n.em-row-copy[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-default);\n color: var(--mj-text-primary);\n}\n\n.em-row-payload[_ngcontent-%COMP%] {\n margin: 0 20px 12px 50px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 8px;\n padding: 12px 14px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11.5px;\n color: var(--mj-text-primary);\n overflow: auto;\n max-height: 280px;\n}\n.em-row-payload[_ngcontent-%COMP%] code[_ngcontent-%COMP%] { white-space: pre-wrap; word-break: break-word; }\n\n\n\n.em-empty[_ngcontent-%COMP%] {\n padding: 80px 40px;\n text-align: center;\n color: var(--mj-text-muted);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n}\n.em-empty-icon[_ngcontent-%COMP%] {\n font-size: 36px;\n opacity: 0.4;\n color: var(--mj-brand-primary);\n}\n.em-empty-title[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.em-empty-sub[_ngcontent-%COMP%] {\n font-size: 12.5px;\n max-width: 380px;\n line-height: 1.5;\n}\n\n@media (max-width: 800px) {\n .em-stats[_ngcontent-%COMP%] { flex-wrap: wrap; }\n .em-stat--right[_ngcontent-%COMP%] { margin-left: 0; }\n .em-row-component[_ngcontent-%COMP%] { display: none; }\n .em-row-time[_ngcontent-%COMP%] { min-width: 70px; }\n .em-row-payload[_ngcontent-%COMP%] { margin-left: 20px; }\n}"] });
|
|
649
639
|
};
|
|
650
640
|
EventMonitorComponent = __decorate([
|
|
651
641
|
RegisterClass(BaseResourceComponent, 'EventMonitorInspector')
|
|
@@ -653,7 +643,7 @@ EventMonitorComponent = __decorate([
|
|
|
653
643
|
export { EventMonitorComponent };
|
|
654
644
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventMonitorComponent, [{
|
|
655
645
|
type: Component,
|
|
656
|
-
args: [{ standalone: false, selector: 'mj-event-monitor', template: "<div class=\"mj-inspector mj-inspector--solo\">\n <div class=\"mj-inspector__header\">\n <div class=\"mj-inspector__header-icon\"><i class=\"fa-solid fa-bolt\"></i></div>\n <div>\n <h3 class=\"mj-inspector__header-title\">Event Monitor</h3>\n <div class=\"mj-inspector__header-sub\">Live tail of MJGlobal events with filter and pause</div>\n </div>\n <span class=\"mj-inspector__header-spacer\"></span>\n <div class=\"mj-inspector__header-actions\">\n <button class=\"mj-inspector__btn\"\n [class.mj-inspector__btn--success]=\"!Paused\"\n [class.em-paused]=\"Paused\"\n type=\"button\" (click)=\"TogglePause()\"\n [title]=\"Paused ? 'Resume capture' : 'Pause capture'\">\n @if (Paused) {\n <i class=\"fa-solid fa-play\"></i> Resume\n } @else {\n <i class=\"fa-solid fa-pause\"></i> Pause\n }\n </button>\n <button class=\"mj-inspector__btn\" type=\"button\" (click)=\"Clear()\" title=\"Clear all captured events\">\n <i class=\"fa-solid fa-broom\"></i> Clear\n </button>\n </div>\n </div>\n\n <div class=\"em-stats\">\n <div class=\"em-stat\">\n <i class=\"em-pulse\" [class.em-pulse--paused]=\"Paused\"></i>\n <div>\n <div class=\"em-stat-value\">{{ Paused ? 'PAUSED' : 'LIVE' }}</div>\n <div class=\"em-stat-label\">{{ Paused ? 'Capture suspended' : 'Capturing events' }}</div>\n </div>\n </div>\n <div class=\"em-stat\">\n <div>\n <div class=\"em-stat-value\">{{ Stats.captured }}</div>\n <div class=\"em-stat-label\">Total captured</div>\n </div>\n </div>\n <div class=\"em-stat\">\n <div>\n <div class=\"em-stat-value\">{{ Stats.kept }} / {{ MaxEvents }}</div>\n <div class=\"em-stat-label\">In buffer</div>\n </div>\n </div>\n <div class=\"em-stat\">\n <div>\n <div class=\"em-stat-value\">{{ Stats.perSecond }}/s</div>\n <div class=\"em-stat-label\">Last second</div>\n </div>\n </div>\n <div class=\"em-stat em-stat--right\">\n <div>\n <div class=\"em-stat-value em-stat-value--small\">{{ UptimeLabel }}</div>\n <div class=\"em-stat-label\">Watching for</div>\n </div>\n </div>\n </div>\n\n <div class=\"em-toolbar\">\n <div class=\"em-search-wrap\">\n <i class=\"fa-solid fa-search em-search-icon\"></i>\n <input type=\"search\"\n class=\"em-search\"\n placeholder=\"Filter by type, component, payload\u2026\"\n [(ngModel)]=\"Filter\"\n (ngModelChange)=\"PersistPrefs()\" />\n @if (Filter) {\n <button class=\"em-search-clear\" (click)=\"Filter = ''\" title=\"Clear\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n }\n </div>\n\n <div class=\"em-select-wrap\">\n <label class=\"em-select-label\">Type</label>\n <select class=\"em-select\" [(ngModel)]=\"TypeFilter\" (ngModelChange)=\"PersistPrefs()\">\n <option value=\"\">All types ({{ KnownTypes.length }})</option>\n @for (t of KnownTypes; track t) {\n <option [value]=\"t\">{{ t }}</option>\n }\n </select>\n </div>\n\n <div class=\"em-select-wrap\">\n <label class=\"em-select-label\">Component</label>\n <select class=\"em-select\" [(ngModel)]=\"ComponentFilter\" (ngModelChange)=\"PersistPrefs()\">\n <option value=\"\">All components ({{ KnownComponents.length }})</option>\n @for (c of KnownComponents; track c) {\n <option [value]=\"c\">{{ c }}</option>\n }\n </select>\n </div>\n\n @if (KnownCodes.length > 0) {\n <div class=\"em-select-wrap\">\n <label class=\"em-select-label\">Code</label>\n <select class=\"em-select\" [(ngModel)]=\"CodeFilter\" (ngModelChange)=\"PersistPrefs()\">\n <option value=\"\">All codes ({{ KnownCodes.length }})</option>\n @for (c of KnownCodes; track c) {\n <option [value]=\"c\">{{ c }}</option>\n }\n </select>\n </div>\n }\n\n @if (HasActiveFilters) {\n <button class=\"em-clear-filters\" type=\"button\" (click)=\"ClearFilters()\" title=\"Clear all filters\">\n <i class=\"fa-solid fa-xmark\"></i> Clear filters\n </button>\n }\n </div>\n\n <div class=\"em-list\">\n <div class=\"em-table-head\">\n <button type=\"button\"\n class=\"em-th em-th--time\"\n [class.em-th--sorted]=\"SortField === 'time'\"\n (click)=\"OnSortClick('time')\">\n Time\n @if (SortField === 'time') {\n <i class=\"fa-solid\" [class.fa-arrow-down]=\"SortDir === 'desc'\" [class.fa-arrow-up]=\"SortDir === 'asc'\"></i>\n }\n </button>\n <button type=\"button\"\n class=\"em-th em-th--type\"\n [class.em-th--sorted]=\"SortField === 'type'\"\n (click)=\"OnSortClick('type')\">\n Type\n @if (SortField === 'type') {\n <i class=\"fa-solid\" [class.fa-arrow-down]=\"SortDir === 'desc'\" [class.fa-arrow-up]=\"SortDir === 'asc'\"></i>\n }\n </button>\n <button type=\"button\"\n class=\"em-th em-th--code\"\n [class.em-th--sorted]=\"SortField === 'eventCode'\"\n (click)=\"OnSortClick('eventCode')\">\n Code\n @if (SortField === 'eventCode') {\n <i class=\"fa-solid\" [class.fa-arrow-down]=\"SortDir === 'desc'\" [class.fa-arrow-up]=\"SortDir === 'asc'\"></i>\n }\n </button>\n <button type=\"button\"\n class=\"em-th em-th--component\"\n [class.em-th--sorted]=\"SortField === 'component'\"\n (click)=\"OnSortClick('component')\">\n Component\n @if (SortField === 'component') {\n <i class=\"fa-solid\" [class.fa-arrow-down]=\"SortDir === 'desc'\" [class.fa-arrow-up]=\"SortDir === 'asc'\"></i>\n }\n </button>\n <span class=\"em-th em-th--summary\">Summary</span>\n <span class=\"em-th em-th--actions\"></span>\n </div>\n\n @if (FilteredEvents.length === 0) {\n <div class=\"em-empty\">\n @if (Stats.captured === 0) {\n <i class=\"fa-solid fa-radio em-empty-icon\"></i>\n <div class=\"em-empty-title\">Listening for events\u2026</div>\n <div class=\"em-empty-sub\">Trigger an action \u2014 saves, navigation, AI events all show up here.</div>\n } @else if (Paused) {\n <i class=\"fa-solid fa-pause em-empty-icon\"></i>\n <div class=\"em-empty-title\">Capture is paused</div>\n <div class=\"em-empty-sub\">{{ Stats.captured }} events fired since you paused. Click Resume to start collecting again.</div>\n } @else {\n <i class=\"fa-solid fa-filter em-empty-icon\"></i>\n <div class=\"em-empty-title\">No events match your filter</div>\n <div class=\"em-empty-sub\">{{ Stats.kept }} events in buffer \u00B7 clear filters to see them.</div>\n }\n </div>\n } @else {\n @for (evt of FilteredEvents; track TrackBySeq($index, evt)) {\n <div class=\"em-row\" [class.em-row--expanded]=\"evt.expanded\">\n <div class=\"em-row-head\" (click)=\"ToggleRow(evt)\">\n <i class=\"em-row-chev fa-solid fa-chevron-right\"\n [class.em-row-chev--down]=\"evt.expanded\"></i>\n <span class=\"em-row-time\">{{ evt.timestamp | date:'HH:mm:ss.SSS' }}</span>\n <span class=\"em-row-type\" [attr.data-type]=\"evt.type\">{{ evt.type }}</span>\n <span class=\"em-row-code\">{{ evt.eventCode || '\u2014' }}</span>\n <span class=\"em-row-component\" [title]=\"evt.componentName\">{{ evt.componentName }}</span>\n <span class=\"em-row-summary\" [class.em-row-summary--empty]=\"!evt.hasPayload\">{{ evt.summary }}</span>\n <button class=\"em-row-copy\"\n type=\"button\"\n (click)=\"$event.stopPropagation(); OnCopyRow(evt)\"\n title=\"Copy as JSON\">\n <i class=\"fa-solid fa-clipboard\"></i>\n </button>\n </div>\n @if (evt.expanded) {\n @if (evt.hasPayload) {\n <pre class=\"em-row-payload\"><code>{{ evt.args | json }}</code></pre>\n } @else {\n <div class=\"em-row-no-payload\">\n <i class=\"fa-regular fa-circle\"></i>\n <span>This event has no payload.</span>\n </div>\n }\n }\n </div>\n }\n }\n </div>\n</div>\n", styles: [":host { display: block; height: 100%; }\n\n.mj-inspector {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n font-family: inherit;\n}\n\n/* Header */\n.mj-inspector__header {\n display: flex;\n align-items: center;\n gap: 14px;\n padding: 14px 20px;\n border-bottom: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.mj-inspector__header-icon {\n width: 36px; height: 36px;\n border-radius: 9px;\n background: linear-gradient(135deg, #264FAF 0%, #0076b6 100%);\n color: white;\n display: flex; align-items: center; justify-content: center;\n font-size: 15px;\n flex-shrink: 0;\n}\n.mj-inspector__header-title {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n letter-spacing: -0.2px;\n}\n.mj-inspector__header-sub {\n font-size: 11.5px;\n color: var(--mj-text-muted);\n margin-top: 2px;\n}\n.mj-inspector__header-spacer { flex: 1; }\n.mj-inspector__header-actions {\n display: flex; gap: 6px;\n}\n.mj-inspector__btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 7px 12px;\n border-radius: 7px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.15s;\n}\n.mj-inspector__btn:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.mj-inspector__btn--success {\n color: var(--mj-status-success);\n border-color: color-mix(in srgb, var(--mj-status-success) 30%, var(--mj-border-default));\n}\n\n/* Layout: sidebar + content */\n.mj-inspector__body {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n.mj-inspector__sidebar {\n width: 220px;\n border-right: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n overflow-y: auto;\n flex-shrink: 0;\n padding: 8px;\n}\n.mj-inspector__nav-item {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n padding: 10px 12px;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.12s;\n margin-bottom: 2px;\n font-family: inherit;\n border: none;\n background: transparent;\n color: var(--mj-text-secondary);\n text-align: left;\n width: 100%;\n}\n.mj-inspector__nav-item:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.mj-inspector__nav-item--active {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n}\n.mj-inspector__nav-item--active:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 14%, transparent);\n}\n.mj-inspector__nav-icon {\n width: 18px;\n text-align: center;\n font-size: 13px;\n margin-top: 1px;\n flex-shrink: 0;\n color: inherit;\n}\n.mj-inspector__nav-text { flex: 1; min-width: 0; }\n.mj-inspector__nav-label {\n font-size: 13px;\n font-weight: 500;\n line-height: 1.2;\n}\n.mj-inspector__nav-desc {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 3px;\n line-height: 1.3;\n}\n.mj-inspector__nav-item--active .mj-inspector__nav-desc {\n color: color-mix(in srgb, var(--mj-brand-primary) 70%, var(--mj-text-muted));\n}\n\n/* Content area */\n.mj-inspector__content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-page);\n}\n.mj-inspector__content-head {\n padding: 12px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--mj-bg-surface-card);\n}\n.mj-inspector__content-title {\n margin: 0;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.mj-inspector__content-meta {\n font-size: 11px;\n color: var(--mj-text-muted);\n}\n.mj-inspector__editor {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.mj-inspector__editor mj-code-editor {\n flex: 1;\n min-height: 0;\n display: block;\n}\n\n/* Empty state */\n.mj-inspector__empty {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n@media (max-width: 700px) {\n .mj-inspector__body { flex-direction: column; }\n .mj-inspector__sidebar {\n width: 100%;\n height: auto;\n max-height: 200px;\n border-right: none;\n border-bottom: 1px solid var(--mj-border-default);\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n }\n .mj-inspector__nav-item { flex: 1 1 calc(50% - 8px); margin-bottom: 0; }\n .mj-inspector__nav-desc { display: none; }\n .mj-inspector__header { padding: 12px 14px; gap: 10px; }\n}\n", ".mj-inspector--solo { background: var(--mj-bg-page); }\n.em-paused {\n color: var(--mj-status-warning) !important;\n border-color: color-mix(in srgb, var(--mj-status-warning) 30%, var(--mj-border-default)) !important;\n}\n\n/* Stats row */\n.em-stats {\n display: flex;\n gap: 16px;\n padding: 14px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n align-items: center;\n}\n.em-stat {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 14px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 10px;\n min-width: 130px;\n}\n.em-stat--right { margin-left: auto; }\n.em-stat-value {\n font-size: 16px;\n font-weight: 700;\n color: var(--mj-text-primary);\n letter-spacing: -0.3px;\n line-height: 1;\n}\n.em-stat-value--small { font-size: 13px; }\n.em-stat-label {\n font-size: 10px;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.5px;\n margin-top: 4px;\n}\n\n/* Live pulse */\n.em-pulse {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background: var(--mj-status-success);\n box-shadow: 0 0 0 0 var(--mj-status-success);\n animation: em-pulse-anim 1.6s ease-out infinite;\n}\n.em-pulse--paused {\n background: var(--mj-status-warning);\n box-shadow: none;\n animation: none;\n}\n@keyframes em-pulse-anim {\n 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--mj-status-success) 70%, transparent); }\n 70% { box-shadow: 0 0 0 8px color-mix(in srgb, var(--mj-status-success) 0%, transparent); }\n 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--mj-status-success) 0%, transparent); }\n}\n@media (prefers-reduced-motion: reduce) { .em-pulse { animation: none; } }\n\n/* Toolbar */\n.em-toolbar {\n display: flex;\n align-items: flex-end;\n gap: 10px;\n padding: 10px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n flex-wrap: wrap;\n}\n.em-search-wrap {\n position: relative;\n width: 280px;\n flex-shrink: 0;\n}\n.em-select-wrap {\n display: flex;\n flex-direction: column;\n gap: 3px;\n min-width: 0;\n}\n.em-select-label {\n font-size: 9.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n.em-select {\n padding: 6px 10px;\n border: 1px solid var(--mj-border-default);\n border-radius: 7px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n cursor: pointer;\n min-width: 160px;\n max-width: 240px;\n}\n.em-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.em-clear-filters {\n align-self: flex-end;\n padding: 6px 12px;\n background: transparent;\n border: 1px solid color-mix(in srgb, var(--mj-status-warning) 30%, var(--mj-border-default));\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n border-radius: 7px;\n font-size: 11.5px;\n font-weight: 500;\n cursor: pointer;\n font-family: inherit;\n margin-left: auto;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n}\n.em-clear-filters:hover {\n background: color-mix(in srgb, var(--mj-status-warning) 8%, transparent);\n}\n.em-search-icon {\n position: absolute;\n left: 12px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 12px;\n pointer-events: none;\n}\n.em-search {\n width: 100%;\n padding: 7px 32px 7px 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12.5px;\n font-family: inherit;\n}\n.em-search:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.em-search-clear {\n position: absolute;\n right: 8px; top: 50%;\n transform: translateY(-50%);\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 22px; height: 22px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n}\n.em-search-clear:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n\n/* Table head with sortable columns */\n.em-table-head {\n display: grid;\n grid-template-columns: 110px 160px 140px 200px 1fr 32px;\n gap: 12px;\n padding: 8px 20px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-subtle);\n position: sticky;\n top: 0;\n z-index: 1;\n align-items: center;\n}\n.em-th {\n font-size: 10px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: transparent;\n border: none;\n cursor: pointer;\n font-family: inherit;\n text-align: left;\n padding: 4px 0;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n transition: color 0.12s;\n}\n.em-th:hover { color: var(--mj-text-primary); }\n.em-th--sorted {\n color: var(--mj-brand-primary);\n}\n.em-th--sorted i { font-size: 9px; }\n.em-th--summary,\n.em-th--actions {\n cursor: default;\n}\n.em-th--summary:hover,\n.em-th--actions:hover { color: var(--mj-text-muted); }\n\n/* List */\n.em-list {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n background: var(--mj-bg-page);\n}\n.em-row {\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n transition: background 0.1s;\n animation: em-row-in 0.25s ease-out;\n}\n@keyframes em-row-in {\n from { opacity: 0; transform: translateY(-3px); }\n to { opacity: 1; transform: translateY(0); }\n}\n@media (prefers-reduced-motion: reduce) { .em-row { animation: none; } }\n.em-row:hover { background: var(--mj-bg-surface-hover); }\n.em-row--expanded { background: color-mix(in srgb, var(--mj-brand-primary) 4%, var(--mj-bg-surface)); }\n.em-row--expanded:hover { background: color-mix(in srgb, var(--mj-brand-primary) 6%, var(--mj-bg-surface)); }\n\n.em-row-head {\n display: grid;\n grid-template-columns: 12px 96px 160px 140px 200px 1fr 32px;\n gap: 12px;\n padding: 8px 20px;\n cursor: pointer;\n font-size: 12.5px;\n align-items: center;\n}\n.em-row-chev {\n color: var(--mj-text-muted);\n font-size: 10px;\n width: 12px;\n flex-shrink: 0;\n transition: transform 0.15s;\n justify-self: start;\n}\n.em-row-chev--down { transform: rotate(90deg); }\n.em-row-time {\n color: var(--mj-text-muted);\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.em-row-type {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-weight: 700;\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 4px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n justify-self: start;\n}\n.em-row-type[data-type=\"LoggedIn\"] { background: color-mix(in srgb, var(--mj-status-success) 14%, transparent); color: color-mix(in srgb, var(--mj-status-success) 70%, var(--mj-text-primary)); }\n.em-row-type[data-type=\"LoggedOut\"],\n.em-row-type[data-type=\"LoginFailed\"],\n.em-row-type[data-type=\"LogoutFailed\"] { background: color-mix(in srgb, var(--mj-status-error) 14%, transparent); color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary)); }\n.em-row-type[data-type=\"DisplaySimpleNotificationRequest\"] { background: color-mix(in srgb, var(--mj-status-warning) 14%, transparent); color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary)); }\n.em-row-type[data-type=\"ManualResizeRequest\"] { background: color-mix(in srgb, #7c3aed 12%, transparent); color: #5b21b6; }\n\n.em-row-code {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11px;\n color: var(--mj-text-secondary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.em-row-component {\n font-size: 11.5px;\n color: var(--mj-text-secondary);\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.em-row-summary {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11.5px;\n color: var(--mj-text-muted);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n}\n.em-row-summary--empty { font-style: italic; opacity: 0.6; }\n\n.em-row-no-payload {\n margin: 0 20px 12px 50px;\n background: var(--mj-bg-surface-sunken);\n border: 1px dashed var(--mj-border-default);\n border-radius: 8px;\n padding: 14px 18px;\n color: var(--mj-text-muted);\n font-size: 12px;\n display: flex;\n align-items: center;\n gap: 10px;\n}\n.em-row-no-payload i { font-size: 14px; }\n.em-row-copy {\n background: transparent;\n border: 1px solid transparent;\n color: var(--mj-text-muted);\n cursor: pointer;\n padding: 4px 8px;\n border-radius: 5px;\n font-size: 11px;\n opacity: 0;\n transition: all 0.12s;\n}\n.em-row:hover .em-row-copy { opacity: 1; }\n.em-row-copy:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-default);\n color: var(--mj-text-primary);\n}\n\n.em-row-payload {\n margin: 0 20px 12px 50px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 8px;\n padding: 12px 14px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11.5px;\n color: var(--mj-text-primary);\n overflow: auto;\n max-height: 280px;\n}\n.em-row-payload code { white-space: pre-wrap; word-break: break-word; }\n\n/* Empty state */\n.em-empty {\n padding: 80px 40px;\n text-align: center;\n color: var(--mj-text-muted);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n}\n.em-empty-icon {\n font-size: 36px;\n opacity: 0.4;\n color: var(--mj-brand-primary);\n}\n.em-empty-title {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.em-empty-sub {\n font-size: 12.5px;\n max-width: 380px;\n line-height: 1.5;\n}\n\n@media (max-width: 800px) {\n .em-stats { flex-wrap: wrap; }\n .em-stat--right { margin-left: 0; }\n .em-row-component { display: none; }\n .em-row-time { min-width: 70px; }\n .em-row-payload { margin-left: 20px; }\n}\n"] }]
|
|
646
|
+
args: [{ standalone: false, selector: 'mj-event-monitor', template: "<div class=\"mj-inspector mj-inspector--solo\">\n <mj-page-header-interior\n Role=\"region\"\n AriaLabel=\"Event monitor\"\n Title=\"Event Monitor\"\n Subtitle=\"Live tail of MJGlobal events with filter and pause\">\n <div actions>\n <button mjButton\n variant=\"secondary\"\n size=\"sm\"\n (click)=\"TogglePause()\"\n [title]=\"Paused ? 'Resume capture' : 'Pause capture'\">\n @if (Paused) {\n <i class=\"fa-solid fa-play\" aria-hidden=\"true\"></i> Resume\n } @else {\n <i class=\"fa-solid fa-pause\" aria-hidden=\"true\"></i> Pause\n }\n </button>\n <button mjButton variant=\"secondary\" size=\"sm\" (click)=\"Clear()\" title=\"Clear all captured events\">\n <i class=\"fa-solid fa-broom\" aria-hidden=\"true\"></i> Clear\n </button>\n </div>\n </mj-page-header-interior>\n\n <div class=\"em-stats\">\n <div class=\"em-stat\">\n <i class=\"em-pulse\" [class.em-pulse--paused]=\"Paused\"></i>\n <div>\n <div class=\"em-stat-value\">{{ Paused ? 'PAUSED' : 'LIVE' }}</div>\n <div class=\"em-stat-label\">{{ Paused ? 'Capture suspended' : 'Capturing events' }}</div>\n </div>\n </div>\n <div class=\"em-stat\">\n <div>\n <div class=\"em-stat-value\">{{ Stats.captured }}</div>\n <div class=\"em-stat-label\">Total captured</div>\n </div>\n </div>\n <div class=\"em-stat\">\n <div>\n <div class=\"em-stat-value\">{{ Stats.kept }} / {{ MaxEvents }}</div>\n <div class=\"em-stat-label\">In buffer</div>\n </div>\n </div>\n <div class=\"em-stat\">\n <div>\n <div class=\"em-stat-value\">{{ Stats.perSecond }}/s</div>\n <div class=\"em-stat-label\">Last second</div>\n </div>\n </div>\n <div class=\"em-stat em-stat--right\">\n <div>\n <div class=\"em-stat-value em-stat-value--small\">{{ UptimeLabel }}</div>\n <div class=\"em-stat-label\">Watching for</div>\n </div>\n </div>\n </div>\n\n <div class=\"em-toolbar\">\n <div class=\"em-search-wrap\">\n <i class=\"fa-solid fa-search em-search-icon\"></i>\n <input type=\"search\"\n class=\"em-search\"\n placeholder=\"Filter by type, component, payload\u2026\"\n [(ngModel)]=\"Filter\"\n (ngModelChange)=\"PersistPrefs()\" />\n @if (Filter) {\n <button class=\"em-search-clear\" (click)=\"Filter = ''\" title=\"Clear\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n }\n </div>\n\n <div class=\"em-select-wrap\">\n <label class=\"em-select-label\">Type</label>\n <select class=\"em-select\" [(ngModel)]=\"TypeFilter\" (ngModelChange)=\"PersistPrefs()\">\n <option value=\"\">All types ({{ KnownTypes.length }})</option>\n @for (t of KnownTypes; track t) {\n <option [value]=\"t\">{{ t }}</option>\n }\n </select>\n </div>\n\n <div class=\"em-select-wrap\">\n <label class=\"em-select-label\">Component</label>\n <select class=\"em-select\" [(ngModel)]=\"ComponentFilter\" (ngModelChange)=\"PersistPrefs()\">\n <option value=\"\">All components ({{ KnownComponents.length }})</option>\n @for (c of KnownComponents; track c) {\n <option [value]=\"c\">{{ c }}</option>\n }\n </select>\n </div>\n\n @if (KnownCodes.length > 0) {\n <div class=\"em-select-wrap\">\n <label class=\"em-select-label\">Code</label>\n <select class=\"em-select\" [(ngModel)]=\"CodeFilter\" (ngModelChange)=\"PersistPrefs()\">\n <option value=\"\">All codes ({{ KnownCodes.length }})</option>\n @for (c of KnownCodes; track c) {\n <option [value]=\"c\">{{ c }}</option>\n }\n </select>\n </div>\n }\n\n @if (HasActiveFilters) {\n <button class=\"em-clear-filters\" type=\"button\" (click)=\"ClearFilters()\" title=\"Clear all filters\">\n <i class=\"fa-solid fa-xmark\"></i> Clear filters\n </button>\n }\n </div>\n\n <div class=\"em-list\">\n <div class=\"em-table-head\">\n <button type=\"button\"\n class=\"em-th em-th--time\"\n [class.em-th--sorted]=\"SortField === 'time'\"\n (click)=\"OnSortClick('time')\">\n Time\n @if (SortField === 'time') {\n <i class=\"fa-solid\" [class.fa-arrow-down]=\"SortDir === 'desc'\" [class.fa-arrow-up]=\"SortDir === 'asc'\"></i>\n }\n </button>\n <button type=\"button\"\n class=\"em-th em-th--type\"\n [class.em-th--sorted]=\"SortField === 'type'\"\n (click)=\"OnSortClick('type')\">\n Type\n @if (SortField === 'type') {\n <i class=\"fa-solid\" [class.fa-arrow-down]=\"SortDir === 'desc'\" [class.fa-arrow-up]=\"SortDir === 'asc'\"></i>\n }\n </button>\n <button type=\"button\"\n class=\"em-th em-th--code\"\n [class.em-th--sorted]=\"SortField === 'eventCode'\"\n (click)=\"OnSortClick('eventCode')\">\n Code\n @if (SortField === 'eventCode') {\n <i class=\"fa-solid\" [class.fa-arrow-down]=\"SortDir === 'desc'\" [class.fa-arrow-up]=\"SortDir === 'asc'\"></i>\n }\n </button>\n <button type=\"button\"\n class=\"em-th em-th--component\"\n [class.em-th--sorted]=\"SortField === 'component'\"\n (click)=\"OnSortClick('component')\">\n Component\n @if (SortField === 'component') {\n <i class=\"fa-solid\" [class.fa-arrow-down]=\"SortDir === 'desc'\" [class.fa-arrow-up]=\"SortDir === 'asc'\"></i>\n }\n </button>\n <span class=\"em-th em-th--summary\">Summary</span>\n <span class=\"em-th em-th--actions\"></span>\n </div>\n\n @if (FilteredEvents.length === 0) {\n <div class=\"em-empty\">\n @if (Stats.captured === 0) {\n <i class=\"fa-solid fa-radio em-empty-icon\"></i>\n <div class=\"em-empty-title\">Listening for events\u2026</div>\n <div class=\"em-empty-sub\">Trigger an action \u2014 saves, navigation, AI events all show up here.</div>\n } @else if (Paused) {\n <i class=\"fa-solid fa-pause em-empty-icon\"></i>\n <div class=\"em-empty-title\">Capture is paused</div>\n <div class=\"em-empty-sub\">{{ Stats.captured }} events fired since you paused. Click Resume to start collecting again.</div>\n } @else {\n <i class=\"fa-solid fa-filter em-empty-icon\"></i>\n <div class=\"em-empty-title\">No events match your filter</div>\n <div class=\"em-empty-sub\">{{ Stats.kept }} events in buffer \u00B7 clear filters to see them.</div>\n }\n </div>\n } @else {\n @for (evt of FilteredEvents; track TrackBySeq($index, evt)) {\n <div class=\"em-row\" [class.em-row--expanded]=\"evt.expanded\">\n <div class=\"em-row-head\" (click)=\"ToggleRow(evt)\">\n <i class=\"em-row-chev fa-solid fa-chevron-right\"\n [class.em-row-chev--down]=\"evt.expanded\"></i>\n <span class=\"em-row-time\">{{ evt.timestamp | date:'HH:mm:ss.SSS' }}</span>\n <span class=\"em-row-type\" [attr.data-type]=\"evt.type\">{{ evt.type }}</span>\n <span class=\"em-row-code\">{{ evt.eventCode || '\u2014' }}</span>\n <span class=\"em-row-component\" [title]=\"evt.componentName\">{{ evt.componentName }}</span>\n <span class=\"em-row-summary\" [class.em-row-summary--empty]=\"!evt.hasPayload\">{{ evt.summary }}</span>\n <button class=\"em-row-copy\"\n type=\"button\"\n (click)=\"$event.stopPropagation(); OnCopyRow(evt)\"\n title=\"Copy as JSON\">\n <i class=\"fa-solid fa-clipboard\"></i>\n </button>\n </div>\n @if (evt.expanded) {\n @if (evt.hasPayload) {\n <pre class=\"em-row-payload\"><code>{{ evt.args | json }}</code></pre>\n } @else {\n <div class=\"em-row-no-payload\">\n <i class=\"fa-regular fa-circle\"></i>\n <span>This event has no payload.</span>\n </div>\n }\n }\n </div>\n }\n }\n </div>\n</div>\n", styles: [":host { display: block; height: 100%; }\n\n/*\n Inspector shell \u2014 each Dev Tools sub-page wraps its body in .mj-inspector. The\n chrome (title icon, title, subtitle, action buttons) was previously rendered\n via .mj-inspector__header*, but that's been replaced by <mj-page-header-interior>\n in every inspector template. Action buttons now use the mjButton directive\n (variant=\"secondary\" / \"success\") so they inherit global button styling. App\n State + Layout inspectors used to carry an inner left rail (.mj-inspector__body\n + __sidebar + __nav-item) for L2 sections; that rail was retired 2026-05-19 in\n favor of <mj-tab-nav> projected into the chrome's [toolbar] slot, matching\n SystemDiagnostics and the API Keys tab strip. All inspectors are now \"solo\"\n mode (no sidebar).\n*/\n.mj-inspector {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n font-family: inherit;\n}\n\n/* Content area */\n.mj-inspector__content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-page);\n}\n.mj-inspector__content-head {\n padding: 12px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--mj-bg-surface-card);\n}\n.mj-inspector__content-title {\n margin: 0;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.mj-inspector__content-meta {\n font-size: 11px;\n color: var(--mj-text-muted);\n}\n.mj-inspector__editor {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.mj-inspector__editor mj-code-editor {\n flex: 1;\n min-height: 0;\n display: block;\n}\n\n/* Empty state */\n.mj-inspector__empty {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n", ".mj-inspector--solo { background: var(--mj-bg-page); }\n\n/* Stats row */\n.em-stats {\n display: flex;\n gap: 16px;\n padding: 14px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n align-items: center;\n}\n.em-stat {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 14px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 10px;\n min-width: 130px;\n}\n.em-stat--right { margin-left: auto; }\n.em-stat-value {\n font-size: 16px;\n font-weight: 700;\n color: var(--mj-text-primary);\n letter-spacing: -0.3px;\n line-height: 1;\n}\n.em-stat-value--small { font-size: 13px; }\n.em-stat-label {\n font-size: 10px;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.5px;\n margin-top: 4px;\n}\n\n/* Live pulse */\n.em-pulse {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background: var(--mj-status-success);\n box-shadow: 0 0 0 0 var(--mj-status-success);\n animation: em-pulse-anim 1.6s ease-out infinite;\n}\n.em-pulse--paused {\n background: var(--mj-status-warning);\n box-shadow: none;\n animation: none;\n}\n@keyframes em-pulse-anim {\n 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--mj-status-success) 70%, transparent); }\n 70% { box-shadow: 0 0 0 8px color-mix(in srgb, var(--mj-status-success) 0%, transparent); }\n 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--mj-status-success) 0%, transparent); }\n}\n@media (prefers-reduced-motion: reduce) { .em-pulse { animation: none; } }\n\n/* Toolbar */\n.em-toolbar {\n display: flex;\n align-items: flex-end;\n gap: 10px;\n padding: 10px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n flex-wrap: wrap;\n}\n.em-search-wrap {\n position: relative;\n width: 280px;\n flex-shrink: 0;\n}\n.em-select-wrap {\n display: flex;\n flex-direction: column;\n gap: 3px;\n min-width: 0;\n}\n.em-select-label {\n font-size: 9.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n.em-select {\n padding: 6px 10px;\n border: 1px solid var(--mj-border-default);\n border-radius: 7px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n cursor: pointer;\n min-width: 160px;\n max-width: 240px;\n}\n.em-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.em-clear-filters {\n align-self: flex-end;\n padding: 6px 12px;\n background: transparent;\n border: 1px solid color-mix(in srgb, var(--mj-status-warning) 30%, var(--mj-border-default));\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n border-radius: 7px;\n font-size: 11.5px;\n font-weight: 500;\n cursor: pointer;\n font-family: inherit;\n margin-left: auto;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n}\n.em-clear-filters:hover {\n background: color-mix(in srgb, var(--mj-status-warning) 8%, transparent);\n}\n.em-search-icon {\n position: absolute;\n left: 12px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 12px;\n pointer-events: none;\n}\n.em-search {\n width: 100%;\n padding: 7px 32px 7px 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12.5px;\n font-family: inherit;\n}\n.em-search:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.em-search-clear {\n position: absolute;\n right: 8px; top: 50%;\n transform: translateY(-50%);\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 22px; height: 22px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n}\n.em-search-clear:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n\n/* Table head with sortable columns */\n.em-table-head {\n display: grid;\n grid-template-columns: 110px 160px 140px 200px 1fr 32px;\n gap: 12px;\n padding: 8px 20px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-subtle);\n position: sticky;\n top: 0;\n z-index: 1;\n align-items: center;\n}\n.em-th {\n font-size: 10px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: transparent;\n border: none;\n cursor: pointer;\n font-family: inherit;\n text-align: left;\n padding: 4px 0;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n transition: color 0.12s;\n}\n.em-th:hover { color: var(--mj-text-primary); }\n.em-th--sorted {\n color: var(--mj-brand-primary);\n}\n.em-th--sorted i { font-size: 9px; }\n.em-th--summary,\n.em-th--actions {\n cursor: default;\n}\n.em-th--summary:hover,\n.em-th--actions:hover { color: var(--mj-text-muted); }\n\n/* List */\n.em-list {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n background: var(--mj-bg-page);\n}\n.em-row {\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n transition: background 0.1s;\n animation: em-row-in 0.25s ease-out;\n}\n@keyframes em-row-in {\n from { opacity: 0; transform: translateY(-3px); }\n to { opacity: 1; transform: translateY(0); }\n}\n@media (prefers-reduced-motion: reduce) { .em-row { animation: none; } }\n.em-row:hover { background: var(--mj-bg-surface-hover); }\n.em-row--expanded { background: color-mix(in srgb, var(--mj-brand-primary) 4%, var(--mj-bg-surface)); }\n.em-row--expanded:hover { background: color-mix(in srgb, var(--mj-brand-primary) 6%, var(--mj-bg-surface)); }\n\n.em-row-head {\n display: grid;\n grid-template-columns: 12px 96px 160px 140px 200px 1fr 32px;\n gap: 12px;\n padding: 8px 20px;\n cursor: pointer;\n font-size: 12.5px;\n align-items: center;\n}\n.em-row-chev {\n color: var(--mj-text-muted);\n font-size: 10px;\n width: 12px;\n flex-shrink: 0;\n transition: transform 0.15s;\n justify-self: start;\n}\n.em-row-chev--down { transform: rotate(90deg); }\n.em-row-time {\n color: var(--mj-text-muted);\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.em-row-type {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-weight: 700;\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 4px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n justify-self: start;\n}\n.em-row-type[data-type=\"LoggedIn\"] { background: color-mix(in srgb, var(--mj-status-success) 14%, transparent); color: color-mix(in srgb, var(--mj-status-success) 70%, var(--mj-text-primary)); }\n.em-row-type[data-type=\"LoggedOut\"],\n.em-row-type[data-type=\"LoginFailed\"],\n.em-row-type[data-type=\"LogoutFailed\"] { background: color-mix(in srgb, var(--mj-status-error) 14%, transparent); color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary)); }\n.em-row-type[data-type=\"DisplaySimpleNotificationRequest\"] { background: color-mix(in srgb, var(--mj-status-warning) 14%, transparent); color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary)); }\n.em-row-type[data-type=\"ManualResizeRequest\"] { background: color-mix(in srgb, #7c3aed 12%, transparent); color: #5b21b6; }\n\n.em-row-code {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11px;\n color: var(--mj-text-secondary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.em-row-component {\n font-size: 11.5px;\n color: var(--mj-text-secondary);\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.em-row-summary {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11.5px;\n color: var(--mj-text-muted);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n}\n.em-row-summary--empty { font-style: italic; opacity: 0.6; }\n\n.em-row-no-payload {\n margin: 0 20px 12px 50px;\n background: var(--mj-bg-surface-sunken);\n border: 1px dashed var(--mj-border-default);\n border-radius: 8px;\n padding: 14px 18px;\n color: var(--mj-text-muted);\n font-size: 12px;\n display: flex;\n align-items: center;\n gap: 10px;\n}\n.em-row-no-payload i { font-size: 14px; }\n.em-row-copy {\n background: transparent;\n border: 1px solid transparent;\n color: var(--mj-text-muted);\n cursor: pointer;\n padding: 4px 8px;\n border-radius: 5px;\n font-size: 11px;\n opacity: 0;\n transition: all 0.12s;\n}\n.em-row:hover .em-row-copy { opacity: 1; }\n.em-row-copy:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-default);\n color: var(--mj-text-primary);\n}\n\n.em-row-payload {\n margin: 0 20px 12px 50px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 8px;\n padding: 12px 14px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11.5px;\n color: var(--mj-text-primary);\n overflow: auto;\n max-height: 280px;\n}\n.em-row-payload code { white-space: pre-wrap; word-break: break-word; }\n\n/* Empty state */\n.em-empty {\n padding: 80px 40px;\n text-align: center;\n color: var(--mj-text-muted);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n}\n.em-empty-icon {\n font-size: 36px;\n opacity: 0.4;\n color: var(--mj-brand-primary);\n}\n.em-empty-title {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.em-empty-sub {\n font-size: 12.5px;\n max-width: 380px;\n line-height: 1.5;\n}\n\n@media (max-width: 800px) {\n .em-stats { flex-wrap: wrap; }\n .em-stat--right { margin-left: 0; }\n .em-row-component { display: none; }\n .em-row-time { min-width: 70px; }\n .em-row-payload { margin-left: 20px; }\n}\n"] }]
|
|
657
647
|
}], () => [{ type: i0.ChangeDetectorRef }], null); })();
|
|
658
648
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventMonitorComponent, { className: "EventMonitorComponent", filePath: "src/DevTools/event-monitor.component.ts", lineNumber: 44 }); })();
|
|
659
649
|
//# sourceMappingURL=event-monitor.component.js.map
|