@memberjunction/ng-dashboards 5.20.0 → 5.22.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/autotagging/autotagging-pipeline-resource.component.d.ts +102 -0
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +583 -0
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -0
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +148 -0
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -0
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +773 -0
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -0
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts +241 -0
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -0
- package/dist/AI/components/vectors/vector-management-resource.component.js +1782 -0
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -0
- package/dist/AI/index.d.ts +3 -0
- package/dist/AI/index.d.ts.map +1 -1
- package/dist/AI/index.js +6 -0
- package/dist/AI/index.js.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.d.ts +50 -7
- package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.js +161 -193
- package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
- package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts +11 -0
- package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts.map +1 -1
- package/dist/DashboardBrowser/dashboard-browser-resource.component.js +57 -0
- package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -1
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +10 -2
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.js +35 -11
- package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.d.ts +1 -0
- package/dist/DataExplorer/data-explorer-resource.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.js +8 -4
- package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
- package/dist/Home/home-dashboard.component.d.ts +181 -1
- package/dist/Home/home-dashboard.component.d.ts.map +1 -1
- package/dist/Home/home-dashboard.component.js +1704 -182
- package/dist/Home/home-dashboard.component.js.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts +121 -0
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +1058 -0
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -0
- package/dist/KnowledgeHub/components/results-detail/search-result-detail.component.d.ts +56 -0
- package/dist/KnowledgeHub/components/results-detail/search-result-detail.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/results-detail/search-result-detail.component.js +291 -0
- package/dist/KnowledgeHub/components/results-detail/search-result-detail.component.js.map +1 -0
- package/dist/KnowledgeHub/components/search/knowledge-search-resource.component.d.ts +85 -0
- package/dist/KnowledgeHub/components/search/knowledge-search-resource.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/search/knowledge-search-resource.component.js +461 -0
- package/dist/KnowledgeHub/components/search/knowledge-search-resource.component.js.map +1 -0
- package/dist/KnowledgeHub/index.d.ts +4 -0
- package/dist/KnowledgeHub/index.d.ts.map +1 -0
- package/dist/KnowledgeHub/index.js +5 -0
- package/dist/KnowledgeHub/index.js.map +1 -0
- package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +5 -1
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.js +1 -0
- package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +7 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +63 -8
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts +9 -1
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.js +109 -62
- package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer.component.d.ts +2 -1
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer.component.js +241 -200
- package/dist/Testing/components/testing-explorer.component.js.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.d.ts +7 -1
- package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.js +63 -8
- package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs.component.js +7 -5
- package/dist/Testing/components/testing-runs.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.d.ts +9 -1
- package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +128 -59
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/ai-dashboards.module.d.ts +26 -19
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +40 -5
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/core-dashboards.module.d.ts +1 -0
- package/dist/core-dashboards.module.d.ts.map +1 -1
- package/dist/core-dashboards.module.js +3 -0
- package/dist/core-dashboards.module.js.map +1 -1
- package/dist/public-api.d.ts +4 -1
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +5 -1
- package/dist/public-api.js.map +1 -1
- package/dist/testing-dashboards.module.d.ts +5 -4
- package/dist/testing-dashboards.module.d.ts.map +1 -1
- package/dist/testing-dashboards.module.js +4 -0
- package/dist/testing-dashboards.module.js.map +1 -1
- package/package.json +44 -42
|
@@ -11,22 +11,23 @@ import * as i1 from "@memberjunction/ng-testing";
|
|
|
11
11
|
import * as i2 from "../services/testing-instrumentation.service";
|
|
12
12
|
import * as i3 from "@angular/common";
|
|
13
13
|
import * as i4 from "@angular/forms";
|
|
14
|
-
import * as i5 from "@memberjunction/ng-
|
|
15
|
-
import * as i6 from "
|
|
14
|
+
import * as i5 from "@memberjunction/ng-versions";
|
|
15
|
+
import * as i6 from "@memberjunction/ng-shared-generic";
|
|
16
|
+
import * as i7 from "../../shared/pipes/highlight-search.pipe";
|
|
16
17
|
const _c0 = a0 => ({ node: a0, depth: 0 });
|
|
17
18
|
const _c1 = (a0, a1) => ({ node: a0, depth: a1 });
|
|
18
19
|
const _forTrack0 = ($index, $item) => $item.ID;
|
|
19
20
|
const _forTrack1 = ($index, $item) => $item.TestID;
|
|
20
21
|
function TestingExplorerComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
21
22
|
i0.ɵɵelementStart(0, "div", 1);
|
|
22
|
-
i0.ɵɵelement(1, "mj-loading",
|
|
23
|
+
i0.ɵɵelement(1, "mj-loading", 8);
|
|
23
24
|
i0.ɵɵelementEnd();
|
|
24
25
|
} }
|
|
25
26
|
function TestingExplorerComponent_Conditional_1_Conditional_7_For_20_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
26
27
|
i0.ɵɵelementContainer(0);
|
|
27
28
|
} }
|
|
28
29
|
function TestingExplorerComponent_Conditional_1_Conditional_7_For_20_Template(rf, ctx) { if (rf & 1) {
|
|
29
|
-
i0.ɵɵtemplate(0, TestingExplorerComponent_Conditional_1_Conditional_7_For_20_ng_container_0_Template, 1, 0, "ng-container",
|
|
30
|
+
i0.ɵɵtemplate(0, TestingExplorerComponent_Conditional_1_Conditional_7_For_20_ng_container_0_Template, 1, 0, "ng-container", 50);
|
|
30
31
|
} if (rf & 2) {
|
|
31
32
|
const node_r5 = ctx.$implicit;
|
|
32
33
|
i0.ɵɵnextContext(3);
|
|
@@ -34,19 +35,19 @@ function TestingExplorerComponent_Conditional_1_Conditional_7_For_20_Template(rf
|
|
|
34
35
|
i0.ɵɵproperty("ngTemplateOutlet", suiteTreeTpl_r6)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, node_r5));
|
|
35
36
|
} }
|
|
36
37
|
function TestingExplorerComponent_Conditional_1_Conditional_7_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
37
|
-
i0.ɵɵelementStart(0, "div",
|
|
38
|
+
i0.ɵɵelementStart(0, "div", 48);
|
|
38
39
|
i0.ɵɵtext(1, "No suites found");
|
|
39
40
|
i0.ɵɵelementEnd();
|
|
40
41
|
} }
|
|
41
42
|
function TestingExplorerComponent_Conditional_1_Conditional_7_For_26_Template(rf, ctx) { if (rf & 1) {
|
|
42
43
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
43
|
-
i0.ɵɵelementStart(0, "div",
|
|
44
|
+
i0.ɵɵelementStart(0, "div", 44);
|
|
44
45
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Conditional_7_For_26_Template_div_click_0_listener() { const tt_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.SelectSidebarItem({ Type: "testType", ID: tt_r8.ID })); });
|
|
45
|
-
i0.ɵɵelement(1, "i",
|
|
46
|
+
i0.ɵɵelement(1, "i", 51);
|
|
46
47
|
i0.ɵɵelementStart(2, "span");
|
|
47
48
|
i0.ɵɵtext(3);
|
|
48
49
|
i0.ɵɵelementEnd();
|
|
49
|
-
i0.ɵɵelementStart(4, "span",
|
|
50
|
+
i0.ɵɵelementStart(4, "span", 46);
|
|
50
51
|
i0.ɵɵtext(5);
|
|
51
52
|
i0.ɵɵelementEnd()();
|
|
52
53
|
} if (rf & 2) {
|
|
@@ -60,37 +61,37 @@ function TestingExplorerComponent_Conditional_1_Conditional_7_For_26_Template(rf
|
|
|
60
61
|
} }
|
|
61
62
|
function TestingExplorerComponent_Conditional_1_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
62
63
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
63
|
-
i0.ɵɵelementStart(0, "div",
|
|
64
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "div", 42)(2, "div", 43);
|
|
64
65
|
i0.ɵɵtext(3, "Browse");
|
|
65
66
|
i0.ɵɵelementEnd();
|
|
66
|
-
i0.ɵɵelementStart(4, "div",
|
|
67
|
+
i0.ɵɵelementStart(4, "div", 44);
|
|
67
68
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Conditional_7_Template_div_click_4_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.SelectSidebarItem({ Type: "all", ID: null })); });
|
|
68
|
-
i0.ɵɵelement(5, "i",
|
|
69
|
+
i0.ɵɵelement(5, "i", 45);
|
|
69
70
|
i0.ɵɵelementStart(6, "span");
|
|
70
71
|
i0.ɵɵtext(7, "All Items");
|
|
71
72
|
i0.ɵɵelementEnd();
|
|
72
|
-
i0.ɵɵelementStart(8, "span",
|
|
73
|
+
i0.ɵɵelementStart(8, "span", 46);
|
|
73
74
|
i0.ɵɵtext(9);
|
|
74
75
|
i0.ɵɵelementEnd()();
|
|
75
|
-
i0.ɵɵelementStart(10, "div",
|
|
76
|
+
i0.ɵɵelementStart(10, "div", 44);
|
|
76
77
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Conditional_7_Template_div_click_10_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.SelectSidebarItem({ Type: "standalone", ID: null })); });
|
|
77
|
-
i0.ɵɵelement(11, "i",
|
|
78
|
+
i0.ɵɵelement(11, "i", 47);
|
|
78
79
|
i0.ɵɵelementStart(12, "span");
|
|
79
80
|
i0.ɵɵtext(13, "Standalone Tests");
|
|
80
81
|
i0.ɵɵelementEnd();
|
|
81
|
-
i0.ɵɵelementStart(14, "span",
|
|
82
|
+
i0.ɵɵelementStart(14, "span", 46);
|
|
82
83
|
i0.ɵɵtext(15);
|
|
83
84
|
i0.ɵɵelementEnd()()();
|
|
84
|
-
i0.ɵɵelementStart(16, "div",
|
|
85
|
+
i0.ɵɵelementStart(16, "div", 42)(17, "div", 43);
|
|
85
86
|
i0.ɵɵtext(18, "Test Suites");
|
|
86
87
|
i0.ɵɵelementEnd();
|
|
87
88
|
i0.ɵɵrepeaterCreate(19, TestingExplorerComponent_Conditional_1_Conditional_7_For_20_Template, 1, 4, "ng-container", null, _forTrack0);
|
|
88
|
-
i0.ɵɵconditionalCreate(21, TestingExplorerComponent_Conditional_1_Conditional_7_Conditional_21_Template, 2, 0, "div",
|
|
89
|
+
i0.ɵɵconditionalCreate(21, TestingExplorerComponent_Conditional_1_Conditional_7_Conditional_21_Template, 2, 0, "div", 48);
|
|
89
90
|
i0.ɵɵelementEnd();
|
|
90
|
-
i0.ɵɵelementStart(22, "div",
|
|
91
|
+
i0.ɵɵelementStart(22, "div", 42)(23, "div", 43);
|
|
91
92
|
i0.ɵɵtext(24, "Test Types");
|
|
92
93
|
i0.ɵɵelementEnd();
|
|
93
|
-
i0.ɵɵrepeaterCreate(25, TestingExplorerComponent_Conditional_1_Conditional_7_For_26_Template, 6, 4, "div",
|
|
94
|
+
i0.ɵɵrepeaterCreate(25, TestingExplorerComponent_Conditional_1_Conditional_7_For_26_Template, 6, 4, "div", 49, _forTrack0);
|
|
94
95
|
i0.ɵɵelementEnd()();
|
|
95
96
|
} if (rf & 2) {
|
|
96
97
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
@@ -111,14 +112,14 @@ function TestingExplorerComponent_Conditional_1_Conditional_7_Template(rf, ctx)
|
|
|
111
112
|
} }
|
|
112
113
|
function TestingExplorerComponent_Conditional_1_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
113
114
|
const _r9 = i0.ɵɵgetCurrentView();
|
|
114
|
-
i0.ɵɵelementStart(0, "button",
|
|
115
|
+
i0.ɵɵelementStart(0, "button", 52);
|
|
115
116
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Conditional_14_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.ClearSearch()); });
|
|
116
|
-
i0.ɵɵelement(1, "i",
|
|
117
|
+
i0.ɵɵelement(1, "i", 53);
|
|
117
118
|
i0.ɵɵelementEnd();
|
|
118
119
|
} }
|
|
119
120
|
function TestingExplorerComponent_Conditional_1_For_17_Template(rf, ctx) { if (rf & 1) {
|
|
120
121
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
121
|
-
i0.ɵɵelementStart(0, "button",
|
|
122
|
+
i0.ɵɵelementStart(0, "button", 54);
|
|
122
123
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_For_17_Template_button_click_0_listener() { const status_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.ToggleStatus(status_r11)); });
|
|
123
124
|
i0.ɵɵtext(1);
|
|
124
125
|
i0.ɵɵelementEnd();
|
|
@@ -131,7 +132,7 @@ function TestingExplorerComponent_Conditional_1_For_17_Template(rf, ctx) { if (r
|
|
|
131
132
|
i0.ɵɵtextInterpolate1(" ", status_r11, " ");
|
|
132
133
|
} }
|
|
133
134
|
function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
134
|
-
i0.ɵɵelement(0, "span",
|
|
135
|
+
i0.ɵɵelement(0, "span", 79);
|
|
135
136
|
i0.ɵɵtext(1);
|
|
136
137
|
} if (rf & 2) {
|
|
137
138
|
const suite_r13 = i0.ɵɵnextContext().$implicit;
|
|
@@ -140,7 +141,7 @@ function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For
|
|
|
140
141
|
i0.ɵɵtextInterpolate1(" Last run ", ctx_r2.FormatRelativeTime(suite_r13.LastRunDate), " ");
|
|
141
142
|
} }
|
|
142
143
|
function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
143
|
-
i0.ɵɵelement(0, "p",
|
|
144
|
+
i0.ɵɵelement(0, "p", 67);
|
|
144
145
|
i0.ɵɵpipe(1, "highlightSearch");
|
|
145
146
|
} if (rf & 2) {
|
|
146
147
|
const suite_r13 = i0.ɵɵnextContext().$implicit;
|
|
@@ -148,18 +149,18 @@ function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For
|
|
|
148
149
|
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(1, 1, suite_r13.Description, ctx_r2.SearchTerm), i0.ɵɵsanitizeHtml);
|
|
149
150
|
} }
|
|
150
151
|
function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_33_For_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
151
|
-
i0.ɵɵelementStart(0, "div",
|
|
152
|
-
i0.ɵɵelement(1, "span",
|
|
153
|
-
i0.ɵɵelementStart(2, "span",
|
|
152
|
+
i0.ɵɵelementStart(0, "div", 81);
|
|
153
|
+
i0.ɵɵelement(1, "span", 82);
|
|
154
|
+
i0.ɵɵelementStart(2, "span", 83);
|
|
154
155
|
i0.ɵɵtext(3);
|
|
155
156
|
i0.ɵɵelementEnd();
|
|
156
|
-
i0.ɵɵelementStart(4, "span",
|
|
157
|
+
i0.ɵɵelementStart(4, "span", 84);
|
|
157
158
|
i0.ɵɵtext(5);
|
|
158
159
|
i0.ɵɵelementEnd();
|
|
159
|
-
i0.ɵɵelementStart(6, "span",
|
|
160
|
-
i0.ɵɵelement(7, "span",
|
|
160
|
+
i0.ɵɵelementStart(6, "span", 85);
|
|
161
|
+
i0.ɵɵelement(7, "span", 86);
|
|
161
162
|
i0.ɵɵelementEnd();
|
|
162
|
-
i0.ɵɵelementStart(8, "span",
|
|
163
|
+
i0.ɵɵelementStart(8, "span", 87);
|
|
163
164
|
i0.ɵɵtext(9);
|
|
164
165
|
i0.ɵɵelementEnd()();
|
|
165
166
|
} if (rf & 2) {
|
|
@@ -182,13 +183,13 @@ function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For
|
|
|
182
183
|
i0.ɵɵtextInterpolate(t_r14.LastStatus);
|
|
183
184
|
} }
|
|
184
185
|
function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_33_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
185
|
-
i0.ɵɵconditionalCreate(0, TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_33_For_2_Conditional_0_Template, 10, 11, "div",
|
|
186
|
+
i0.ɵɵconditionalCreate(0, TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_33_For_2_Conditional_0_Template, 10, 11, "div", 81);
|
|
186
187
|
} if (rf & 2) {
|
|
187
188
|
const ɵ$index_227_r15 = ctx.$index;
|
|
188
189
|
i0.ɵɵconditional(ɵ$index_227_r15 < 4 ? 0 : -1);
|
|
189
190
|
} }
|
|
190
191
|
function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_33_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
191
|
-
i0.ɵɵelementStart(0, "div",
|
|
192
|
+
i0.ɵɵelementStart(0, "div", 80);
|
|
192
193
|
i0.ɵɵtext(1);
|
|
193
194
|
i0.ɵɵelementEnd();
|
|
194
195
|
} if (rf & 2) {
|
|
@@ -197,9 +198,9 @@ function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For
|
|
|
197
198
|
i0.ɵɵtextInterpolate1("+", suite_r13.TotalTestsInSuite - 4, " more tests");
|
|
198
199
|
} }
|
|
199
200
|
function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_33_Template(rf, ctx) { if (rf & 1) {
|
|
200
|
-
i0.ɵɵelementStart(0, "div",
|
|
201
|
+
i0.ɵɵelementStart(0, "div", 72);
|
|
201
202
|
i0.ɵɵrepeaterCreate(1, TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_33_For_2_Template, 1, 1, null, null, _forTrack1);
|
|
202
|
-
i0.ɵɵconditionalCreate(3, TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_33_Conditional_3_Template, 2, 1, "div",
|
|
203
|
+
i0.ɵɵconditionalCreate(3, TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_33_Conditional_3_Template, 2, 1, "div", 80);
|
|
203
204
|
i0.ɵɵelementEnd();
|
|
204
205
|
} if (rf & 2) {
|
|
205
206
|
const suite_r13 = i0.ɵɵnextContext().$implicit;
|
|
@@ -210,56 +211,56 @@ function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For
|
|
|
210
211
|
} }
|
|
211
212
|
function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
212
213
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
213
|
-
i0.ɵɵelementStart(0, "div",
|
|
214
|
-
i0.ɵɵelement(3, "i",
|
|
214
|
+
i0.ɵɵelementStart(0, "div", 60)(1, "div", 61)(2, "div", 62);
|
|
215
|
+
i0.ɵɵelement(3, "i", 63)(4, "span", 64);
|
|
215
216
|
i0.ɵɵpipe(5, "highlightSearch");
|
|
216
|
-
i0.ɵɵelementStart(6, "span",
|
|
217
|
+
i0.ɵɵelementStart(6, "span", 65);
|
|
217
218
|
i0.ɵɵtext(7);
|
|
218
219
|
i0.ɵɵelementEnd()();
|
|
219
|
-
i0.ɵɵelementStart(8, "div",
|
|
220
|
+
i0.ɵɵelementStart(8, "div", 66);
|
|
220
221
|
i0.ɵɵtext(9);
|
|
221
222
|
i0.ɵɵconditionalCreate(10, TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_10_Template, 2, 1);
|
|
222
223
|
i0.ɵɵelementEnd();
|
|
223
|
-
i0.ɵɵconditionalCreate(11, TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_11_Template, 2, 4, "p",
|
|
224
|
+
i0.ɵɵconditionalCreate(11, TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_11_Template, 2, 4, "p", 67);
|
|
224
225
|
i0.ɵɵelementEnd();
|
|
225
|
-
i0.ɵɵelementStart(12, "div",
|
|
226
|
+
i0.ɵɵelementStart(12, "div", 68)(13, "div", 69)(14, "span", 70);
|
|
226
227
|
i0.ɵɵtext(15, "Pass Rate");
|
|
227
228
|
i0.ɵɵelementEnd();
|
|
228
|
-
i0.ɵɵelementStart(16, "span",
|
|
229
|
+
i0.ɵɵelementStart(16, "span", 71);
|
|
229
230
|
i0.ɵɵtext(17);
|
|
230
231
|
i0.ɵɵelementEnd()();
|
|
231
|
-
i0.ɵɵelementStart(18, "div",
|
|
232
|
+
i0.ɵɵelementStart(18, "div", 69)(19, "span", 70);
|
|
232
233
|
i0.ɵɵtext(20, "Tests");
|
|
233
234
|
i0.ɵɵelementEnd();
|
|
234
|
-
i0.ɵɵelementStart(21, "span",
|
|
235
|
+
i0.ɵɵelementStart(21, "span", 71);
|
|
235
236
|
i0.ɵɵtext(22);
|
|
236
237
|
i0.ɵɵelementEnd()();
|
|
237
|
-
i0.ɵɵelementStart(23, "div",
|
|
238
|
+
i0.ɵɵelementStart(23, "div", 69)(24, "span", 70);
|
|
238
239
|
i0.ɵɵtext(25, "Avg Score");
|
|
239
240
|
i0.ɵɵelementEnd();
|
|
240
|
-
i0.ɵɵelementStart(26, "span",
|
|
241
|
+
i0.ɵɵelementStart(26, "span", 71);
|
|
241
242
|
i0.ɵɵtext(27);
|
|
242
243
|
i0.ɵɵelementEnd()();
|
|
243
|
-
i0.ɵɵelementStart(28, "div",
|
|
244
|
+
i0.ɵɵelementStart(28, "div", 69)(29, "span", 70);
|
|
244
245
|
i0.ɵɵtext(30, "Avg Duration");
|
|
245
246
|
i0.ɵɵelementEnd();
|
|
246
|
-
i0.ɵɵelementStart(31, "span",
|
|
247
|
+
i0.ɵɵelementStart(31, "span", 71);
|
|
247
248
|
i0.ɵɵtext(32);
|
|
248
249
|
i0.ɵɵelementEnd()()();
|
|
249
|
-
i0.ɵɵconditionalCreate(33, TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_33_Template, 4, 1, "div",
|
|
250
|
-
i0.ɵɵelementStart(34, "div",
|
|
250
|
+
i0.ɵɵconditionalCreate(33, TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_33_Template, 4, 1, "div", 72);
|
|
251
|
+
i0.ɵɵelementStart(34, "div", 73)(35, "button", 74);
|
|
251
252
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Template_button_click_35_listener() { const suite_r13 = i0.ɵɵrestoreView(_r12).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.RunSuite(suite_r13.ID)); });
|
|
252
|
-
i0.ɵɵelement(36, "i",
|
|
253
|
+
i0.ɵɵelement(36, "i", 75);
|
|
253
254
|
i0.ɵɵtext(37, " Run Suite ");
|
|
254
255
|
i0.ɵɵelementEnd();
|
|
255
|
-
i0.ɵɵelementStart(38, "button",
|
|
256
|
+
i0.ɵɵelementStart(38, "button", 76);
|
|
256
257
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Template_button_click_38_listener() { const suite_r13 = i0.ɵɵrestoreView(_r12).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.ViewSuiteResults(suite_r13.ID)); });
|
|
257
|
-
i0.ɵɵelement(39, "i",
|
|
258
|
+
i0.ɵɵelement(39, "i", 77);
|
|
258
259
|
i0.ɵɵtext(40, " Results ");
|
|
259
260
|
i0.ɵɵelementEnd();
|
|
260
|
-
i0.ɵɵelementStart(41, "button",
|
|
261
|
+
i0.ɵɵelementStart(41, "button", 76);
|
|
261
262
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Template_button_click_41_listener() { const suite_r13 = i0.ɵɵrestoreView(_r12).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.EditItem("MJ: Test Suites", suite_r13.ID)); });
|
|
262
|
-
i0.ɵɵelement(42, "i",
|
|
263
|
+
i0.ɵɵelement(42, "i", 78);
|
|
263
264
|
i0.ɵɵtext(43, " Edit ");
|
|
264
265
|
i0.ɵɵelementEnd()()();
|
|
265
266
|
} if (rf & 2) {
|
|
@@ -293,14 +294,14 @@ function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For
|
|
|
293
294
|
i0.ɵɵconditional(suite_r13.Tests.length > 0 ? 33 : -1);
|
|
294
295
|
} }
|
|
295
296
|
function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
296
|
-
i0.ɵɵelementStart(0, "div",
|
|
297
|
-
i0.ɵɵelement(2, "i",
|
|
297
|
+
i0.ɵɵelementStart(0, "div", 55)(1, "h3", 56);
|
|
298
|
+
i0.ɵɵelement(2, "i", 57);
|
|
298
299
|
i0.ɵɵtext(3, " Test Suites ");
|
|
299
|
-
i0.ɵɵelementStart(4, "span",
|
|
300
|
+
i0.ɵɵelementStart(4, "span", 58);
|
|
300
301
|
i0.ɵɵtext(5);
|
|
301
302
|
i0.ɵɵelementEnd()();
|
|
302
|
-
i0.ɵɵelementStart(6, "div",
|
|
303
|
-
i0.ɵɵrepeaterCreate(7, TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Template, 44, 18, "div",
|
|
303
|
+
i0.ɵɵelementStart(6, "div", 59);
|
|
304
|
+
i0.ɵɵrepeaterCreate(7, TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Template, 44, 18, "div", 60, _forTrack0);
|
|
304
305
|
i0.ɵɵelementEnd()();
|
|
305
306
|
} if (rf & 2) {
|
|
306
307
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
@@ -310,13 +311,13 @@ function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_Tem
|
|
|
310
311
|
i0.ɵɵrepeater(ctx_r2.FilteredSuites);
|
|
311
312
|
} }
|
|
312
313
|
function TestingExplorerComponent_Conditional_1_Conditional_46_Template(rf, ctx) { if (rf & 1) {
|
|
313
|
-
i0.ɵɵconditionalCreate(0, TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_Template, 9, 1, "div",
|
|
314
|
+
i0.ɵɵconditionalCreate(0, TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_Template, 9, 1, "div", 55);
|
|
314
315
|
} if (rf & 2) {
|
|
315
316
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
316
317
|
i0.ɵɵconditional(ctx_r2.FilteredSuites.length > 0 ? 0 : -1);
|
|
317
318
|
} }
|
|
318
319
|
function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
319
|
-
i0.ɵɵelement(0, "span",
|
|
320
|
+
i0.ɵɵelement(0, "span", 79);
|
|
320
321
|
i0.ɵɵtext(1);
|
|
321
322
|
} if (rf & 2) {
|
|
322
323
|
const test_r17 = i0.ɵɵnextContext().$implicit;
|
|
@@ -324,7 +325,7 @@ function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For
|
|
|
324
325
|
i0.ɵɵtextInterpolate1(" ", test_r17.SuiteName, " ");
|
|
325
326
|
} }
|
|
326
327
|
function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
327
|
-
i0.ɵɵelement(0, "p",
|
|
328
|
+
i0.ɵɵelement(0, "p", 67);
|
|
328
329
|
i0.ɵɵpipe(1, "highlightSearch");
|
|
329
330
|
} if (rf & 2) {
|
|
330
331
|
const test_r17 = i0.ɵɵnextContext().$implicit;
|
|
@@ -332,8 +333,8 @@ function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For
|
|
|
332
333
|
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(1, 1, test_r17.Description, ctx_r2.SearchTerm), i0.ɵɵsanitizeHtml);
|
|
333
334
|
} }
|
|
334
335
|
function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
335
|
-
i0.ɵɵelementStart(0, "span",
|
|
336
|
-
i0.ɵɵelement(1, "i",
|
|
336
|
+
i0.ɵɵelementStart(0, "span", 91);
|
|
337
|
+
i0.ɵɵelement(1, "i", 96);
|
|
337
338
|
i0.ɵɵtext(2);
|
|
338
339
|
i0.ɵɵelementEnd();
|
|
339
340
|
} if (rf & 2) {
|
|
@@ -342,8 +343,8 @@ function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For
|
|
|
342
343
|
i0.ɵɵtextInterpolate1(" ", test_r17.TypeName);
|
|
343
344
|
} }
|
|
344
345
|
function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
345
|
-
i0.ɵɵelementStart(0, "span",
|
|
346
|
-
i0.ɵɵelement(1, "i",
|
|
346
|
+
i0.ɵɵelementStart(0, "span", 91);
|
|
347
|
+
i0.ɵɵelement(1, "i", 97);
|
|
347
348
|
i0.ɵɵtext(2);
|
|
348
349
|
i0.ɵɵelementEnd();
|
|
349
350
|
} if (rf & 2) {
|
|
@@ -353,8 +354,8 @@ function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For
|
|
|
353
354
|
i0.ɵɵtextInterpolate1(" ~", ctx_r2.FormatDurationSeconds(test_r17.EstDuration));
|
|
354
355
|
} }
|
|
355
356
|
function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
356
|
-
i0.ɵɵelementStart(0, "span",
|
|
357
|
-
i0.ɵɵelement(1, "i",
|
|
357
|
+
i0.ɵɵelementStart(0, "span", 91);
|
|
358
|
+
i0.ɵɵelement(1, "i", 98);
|
|
358
359
|
i0.ɵɵtext(2);
|
|
359
360
|
i0.ɵɵelementEnd();
|
|
360
361
|
} if (rf & 2) {
|
|
@@ -364,7 +365,7 @@ function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For
|
|
|
364
365
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.FormatCost(test_r17.EstCost));
|
|
365
366
|
} }
|
|
366
367
|
function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_19_For_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
367
|
-
i0.ɵɵelementStart(0, "span",
|
|
368
|
+
i0.ɵɵelementStart(0, "span", 100);
|
|
368
369
|
i0.ɵɵtext(1);
|
|
369
370
|
i0.ɵɵelementEnd();
|
|
370
371
|
} if (rf & 2) {
|
|
@@ -373,13 +374,13 @@ function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For
|
|
|
373
374
|
i0.ɵɵtextInterpolate(tag_r18);
|
|
374
375
|
} }
|
|
375
376
|
function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_19_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
376
|
-
i0.ɵɵconditionalCreate(0, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_19_For_2_Conditional_0_Template, 2, 1, "span",
|
|
377
|
+
i0.ɵɵconditionalCreate(0, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_19_For_2_Conditional_0_Template, 2, 1, "span", 100);
|
|
377
378
|
} if (rf & 2) {
|
|
378
379
|
const ɵ$index_335_r19 = ctx.$index;
|
|
379
380
|
i0.ɵɵconditional(ɵ$index_335_r19 < 4 ? 0 : -1);
|
|
380
381
|
} }
|
|
381
382
|
function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_19_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
382
|
-
i0.ɵɵelementStart(0, "span",
|
|
383
|
+
i0.ɵɵelementStart(0, "span", 99);
|
|
383
384
|
i0.ɵɵtext(1);
|
|
384
385
|
i0.ɵɵelementEnd();
|
|
385
386
|
} if (rf & 2) {
|
|
@@ -388,9 +389,9 @@ function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For
|
|
|
388
389
|
i0.ɵɵtextInterpolate1("+", test_r17.Tags.length - 4);
|
|
389
390
|
} }
|
|
390
391
|
function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
391
|
-
i0.ɵɵelementStart(0, "div",
|
|
392
|
+
i0.ɵɵelementStart(0, "div", 93);
|
|
392
393
|
i0.ɵɵrepeaterCreate(1, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_19_For_2_Template, 1, 1, null, null, i0.ɵɵrepeaterTrackByIdentity);
|
|
393
|
-
i0.ɵɵconditionalCreate(3, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_19_Conditional_3_Template, 2, 1, "span",
|
|
394
|
+
i0.ɵɵconditionalCreate(3, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_19_Conditional_3_Template, 2, 1, "span", 99);
|
|
394
395
|
i0.ɵɵelementEnd();
|
|
395
396
|
} if (rf & 2) {
|
|
396
397
|
const test_r17 = i0.ɵɵnextContext().$implicit;
|
|
@@ -401,64 +402,64 @@ function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For
|
|
|
401
402
|
} }
|
|
402
403
|
function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
403
404
|
const _r16 = i0.ɵɵgetCurrentView();
|
|
404
|
-
i0.ɵɵelementStart(0, "div",
|
|
405
|
-
i0.ɵɵelement(3, "i",
|
|
405
|
+
i0.ɵɵelementStart(0, "div", 88)(1, "div", 61)(2, "div", 62);
|
|
406
|
+
i0.ɵɵelement(3, "i", 89)(4, "span", 64);
|
|
406
407
|
i0.ɵɵpipe(5, "highlightSearch");
|
|
407
|
-
i0.ɵɵelementStart(6, "span",
|
|
408
|
+
i0.ɵɵelementStart(6, "span", 65);
|
|
408
409
|
i0.ɵɵtext(7);
|
|
409
410
|
i0.ɵɵelementEnd()();
|
|
410
|
-
i0.ɵɵelementStart(8, "div",
|
|
411
|
+
i0.ɵɵelementStart(8, "div", 66);
|
|
411
412
|
i0.ɵɵtext(9);
|
|
412
413
|
i0.ɵɵconditionalCreate(10, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_10_Template, 2, 1);
|
|
413
414
|
i0.ɵɵelementEnd();
|
|
414
|
-
i0.ɵɵconditionalCreate(11, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_11_Template, 2, 4, "p",
|
|
415
|
-
i0.ɵɵelementStart(12, "div",
|
|
416
|
-
i0.ɵɵconditionalCreate(13, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_13_Template, 3, 1, "span",
|
|
417
|
-
i0.ɵɵconditionalCreate(14, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_14_Template, 3, 1, "span",
|
|
418
|
-
i0.ɵɵconditionalCreate(15, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_15_Template, 3, 1, "span",
|
|
419
|
-
i0.ɵɵelementStart(16, "span",
|
|
420
|
-
i0.ɵɵelement(17, "i",
|
|
415
|
+
i0.ɵɵconditionalCreate(11, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_11_Template, 2, 4, "p", 67);
|
|
416
|
+
i0.ɵɵelementStart(12, "div", 90);
|
|
417
|
+
i0.ɵɵconditionalCreate(13, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_13_Template, 3, 1, "span", 91);
|
|
418
|
+
i0.ɵɵconditionalCreate(14, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_14_Template, 3, 1, "span", 91);
|
|
419
|
+
i0.ɵɵconditionalCreate(15, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_15_Template, 3, 1, "span", 91);
|
|
420
|
+
i0.ɵɵelementStart(16, "span", 91);
|
|
421
|
+
i0.ɵɵelement(17, "i", 92);
|
|
421
422
|
i0.ɵɵtext(18);
|
|
422
423
|
i0.ɵɵelementEnd()();
|
|
423
|
-
i0.ɵɵconditionalCreate(19, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_19_Template, 4, 1, "div",
|
|
424
|
+
i0.ɵɵconditionalCreate(19, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Conditional_19_Template, 4, 1, "div", 93);
|
|
424
425
|
i0.ɵɵelementEnd();
|
|
425
|
-
i0.ɵɵelementStart(20, "div",
|
|
426
|
+
i0.ɵɵelementStart(20, "div", 68)(21, "div", 69)(22, "span", 70);
|
|
426
427
|
i0.ɵɵtext(23, "Last Status");
|
|
427
428
|
i0.ɵɵelementEnd();
|
|
428
|
-
i0.ɵɵelementStart(24, "span",
|
|
429
|
+
i0.ɵɵelementStart(24, "span", 94);
|
|
429
430
|
i0.ɵɵtext(25);
|
|
430
431
|
i0.ɵɵelementEnd()();
|
|
431
|
-
i0.ɵɵelementStart(26, "div",
|
|
432
|
+
i0.ɵɵelementStart(26, "div", 69)(27, "span", 70);
|
|
432
433
|
i0.ɵɵtext(28, "Score");
|
|
433
434
|
i0.ɵɵelementEnd();
|
|
434
|
-
i0.ɵɵelementStart(29, "span",
|
|
435
|
+
i0.ɵɵelementStart(29, "span", 71);
|
|
435
436
|
i0.ɵɵtext(30);
|
|
436
437
|
i0.ɵɵelementEnd()();
|
|
437
|
-
i0.ɵɵelementStart(31, "div",
|
|
438
|
+
i0.ɵɵelementStart(31, "div", 69)(32, "span", 70);
|
|
438
439
|
i0.ɵɵtext(33, "Total Runs");
|
|
439
440
|
i0.ɵɵelementEnd();
|
|
440
|
-
i0.ɵɵelementStart(34, "span",
|
|
441
|
+
i0.ɵɵelementStart(34, "span", 71);
|
|
441
442
|
i0.ɵɵtext(35);
|
|
442
443
|
i0.ɵɵelementEnd()();
|
|
443
|
-
i0.ɵɵelementStart(36, "div",
|
|
444
|
+
i0.ɵɵelementStart(36, "div", 69)(37, "span", 70);
|
|
444
445
|
i0.ɵɵtext(38, "Pass Rate");
|
|
445
446
|
i0.ɵɵelementEnd();
|
|
446
|
-
i0.ɵɵelementStart(39, "span",
|
|
447
|
+
i0.ɵɵelementStart(39, "span", 71);
|
|
447
448
|
i0.ɵɵtext(40);
|
|
448
449
|
i0.ɵɵelementEnd()()();
|
|
449
|
-
i0.ɵɵelementStart(41, "div",
|
|
450
|
+
i0.ɵɵelementStart(41, "div", 73)(42, "button", 74);
|
|
450
451
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Template_button_click_42_listener() { const test_r17 = i0.ɵɵrestoreView(_r16).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.RunTest(test_r17.ID)); });
|
|
451
|
-
i0.ɵɵelement(43, "i",
|
|
452
|
+
i0.ɵɵelement(43, "i", 75);
|
|
452
453
|
i0.ɵɵtext(44, " Run ");
|
|
453
454
|
i0.ɵɵelementEnd();
|
|
454
|
-
i0.ɵɵelementStart(45, "button",
|
|
455
|
+
i0.ɵɵelementStart(45, "button", 76);
|
|
455
456
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Template_button_click_45_listener() { const test_r17 = i0.ɵɵrestoreView(_r16).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.ViewTestHistory(test_r17.ID)); });
|
|
456
|
-
i0.ɵɵelement(46, "i",
|
|
457
|
+
i0.ɵɵelement(46, "i", 95);
|
|
457
458
|
i0.ɵɵtext(47, " History ");
|
|
458
459
|
i0.ɵɵelementEnd();
|
|
459
|
-
i0.ɵɵelementStart(48, "button",
|
|
460
|
+
i0.ɵɵelementStart(48, "button", 76);
|
|
460
461
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Template_button_click_48_listener() { const test_r17 = i0.ɵɵrestoreView(_r16).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.EditItem("MJ: Tests", test_r17.ID)); });
|
|
461
|
-
i0.ɵɵelement(49, "i",
|
|
462
|
+
i0.ɵɵelement(49, "i", 78);
|
|
462
463
|
i0.ɵɵtext(50, " Edit ");
|
|
463
464
|
i0.ɵɵelementEnd()()();
|
|
464
465
|
} if (rf & 2) {
|
|
@@ -502,14 +503,14 @@ function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For
|
|
|
502
503
|
i0.ɵɵtextInterpolate(test_r17.TotalRuns > 0 ? ctx_r2.FormatPercent(test_r17.PassRate) : "N/A");
|
|
503
504
|
} }
|
|
504
505
|
function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
505
|
-
i0.ɵɵelementStart(0, "div",
|
|
506
|
-
i0.ɵɵelement(2, "i",
|
|
506
|
+
i0.ɵɵelementStart(0, "div", 55)(1, "h3", 56);
|
|
507
|
+
i0.ɵɵelement(2, "i", 47);
|
|
507
508
|
i0.ɵɵtext(3, " Tests ");
|
|
508
|
-
i0.ɵɵelementStart(4, "span",
|
|
509
|
+
i0.ɵɵelementStart(4, "span", 58);
|
|
509
510
|
i0.ɵɵtext(5);
|
|
510
511
|
i0.ɵɵelementEnd()();
|
|
511
|
-
i0.ɵɵelementStart(6, "div",
|
|
512
|
-
i0.ɵɵrepeaterCreate(7, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Template, 51, 23, "div",
|
|
512
|
+
i0.ɵɵelementStart(6, "div", 59);
|
|
513
|
+
i0.ɵɵrepeaterCreate(7, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_For_8_Template, 51, 23, "div", 88, _forTrack0);
|
|
513
514
|
i0.ɵɵelementEnd()();
|
|
514
515
|
} if (rf & 2) {
|
|
515
516
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
@@ -519,85 +520,85 @@ function TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_Tem
|
|
|
519
520
|
i0.ɵɵrepeater(ctx_r2.FilteredTests);
|
|
520
521
|
} }
|
|
521
522
|
function TestingExplorerComponent_Conditional_1_Conditional_47_Template(rf, ctx) { if (rf & 1) {
|
|
522
|
-
i0.ɵɵconditionalCreate(0, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_Template, 9, 1, "div",
|
|
523
|
+
i0.ɵɵconditionalCreate(0, TestingExplorerComponent_Conditional_1_Conditional_47_Conditional_0_Template, 9, 1, "div", 55);
|
|
523
524
|
} if (rf & 2) {
|
|
524
525
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
525
526
|
i0.ɵɵconditional(ctx_r2.FilteredTests.length > 0 ? 0 : -1);
|
|
526
527
|
} }
|
|
527
528
|
function TestingExplorerComponent_Conditional_1_Conditional_48_Template(rf, ctx) { if (rf & 1) {
|
|
528
|
-
i0.ɵɵelementStart(0, "div",
|
|
529
|
-
i0.ɵɵelement(1, "i",
|
|
529
|
+
i0.ɵɵelementStart(0, "div", 41);
|
|
530
|
+
i0.ɵɵelement(1, "i", 101);
|
|
530
531
|
i0.ɵɵelementStart(2, "p");
|
|
531
532
|
i0.ɵɵtext(3, "No tests or suites found");
|
|
532
533
|
i0.ɵɵelementEnd();
|
|
533
|
-
i0.ɵɵelementStart(4, "span",
|
|
534
|
+
i0.ɵɵelementStart(4, "span", 102);
|
|
534
535
|
i0.ɵɵtext(5, "Try adjusting your search or filters.");
|
|
535
536
|
i0.ɵɵelementEnd()();
|
|
536
537
|
} }
|
|
537
538
|
function TestingExplorerComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
538
539
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
539
|
-
i0.ɵɵelementStart(0, "div", 2)(1, "aside",
|
|
540
|
+
i0.ɵɵelementStart(0, "div", 2)(1, "aside", 9)(2, "div", 10)(3, "h3");
|
|
540
541
|
i0.ɵɵtext(4, "Explorer");
|
|
541
542
|
i0.ɵɵelementEnd();
|
|
542
|
-
i0.ɵɵelementStart(5, "button",
|
|
543
|
+
i0.ɵɵelementStart(5, "button", 11);
|
|
543
544
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.ToggleSidebar()); });
|
|
544
|
-
i0.ɵɵelement(6, "i",
|
|
545
|
+
i0.ɵɵelement(6, "i", 12);
|
|
545
546
|
i0.ɵɵelementEnd()();
|
|
546
|
-
i0.ɵɵconditionalCreate(7, TestingExplorerComponent_Conditional_1_Conditional_7_Template, 27, 7, "div",
|
|
547
|
+
i0.ɵɵconditionalCreate(7, TestingExplorerComponent_Conditional_1_Conditional_7_Template, 27, 7, "div", 13);
|
|
547
548
|
i0.ɵɵelementEnd();
|
|
548
|
-
i0.ɵɵelementStart(8, "main",
|
|
549
|
-
i0.ɵɵelement(12, "i",
|
|
550
|
-
i0.ɵɵelementStart(13, "input",
|
|
549
|
+
i0.ɵɵelementStart(8, "main", 14)(9, "div", 15)(10, "div", 16)(11, "div", 17);
|
|
550
|
+
i0.ɵɵelement(12, "i", 18);
|
|
551
|
+
i0.ɵɵelementStart(13, "input", 19);
|
|
551
552
|
i0.ɵɵlistener("input", function TestingExplorerComponent_Conditional_1_Template_input_input_13_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnSearchInput($event)); });
|
|
552
553
|
i0.ɵɵelementEnd();
|
|
553
|
-
i0.ɵɵconditionalCreate(14, TestingExplorerComponent_Conditional_1_Conditional_14_Template, 2, 0, "button",
|
|
554
|
+
i0.ɵɵconditionalCreate(14, TestingExplorerComponent_Conditional_1_Conditional_14_Template, 2, 0, "button", 20);
|
|
554
555
|
i0.ɵɵelementEnd();
|
|
555
|
-
i0.ɵɵelementStart(15, "div",
|
|
556
|
-
i0.ɵɵrepeaterCreate(16, TestingExplorerComponent_Conditional_1_For_17_Template, 2, 4, "button",
|
|
556
|
+
i0.ɵɵelementStart(15, "div", 21);
|
|
557
|
+
i0.ɵɵrepeaterCreate(16, TestingExplorerComponent_Conditional_1_For_17_Template, 2, 4, "button", 22, i0.ɵɵrepeaterTrackByIdentity);
|
|
557
558
|
i0.ɵɵelementEnd()();
|
|
558
|
-
i0.ɵɵelementStart(18, "div",
|
|
559
|
+
i0.ɵɵelementStart(18, "div", 23)(19, "span", 24);
|
|
559
560
|
i0.ɵɵtext(20);
|
|
560
561
|
i0.ɵɵelementEnd();
|
|
561
|
-
i0.ɵɵelementStart(21, "div",
|
|
562
|
+
i0.ɵɵelementStart(21, "div", 25)(22, "button", 26);
|
|
562
563
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_22_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SetViewMode("card")); });
|
|
563
|
-
i0.ɵɵelement(23, "i",
|
|
564
|
+
i0.ɵɵelement(23, "i", 27);
|
|
564
565
|
i0.ɵɵelementEnd();
|
|
565
|
-
i0.ɵɵelementStart(24, "button",
|
|
566
|
+
i0.ɵɵelementStart(24, "button", 28);
|
|
566
567
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_24_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SetViewMode("list")); });
|
|
567
|
-
i0.ɵɵelement(25, "i",
|
|
568
|
+
i0.ɵɵelement(25, "i", 29);
|
|
568
569
|
i0.ɵɵelementEnd()();
|
|
569
|
-
i0.ɵɵelementStart(26, "button",
|
|
570
|
+
i0.ɵɵelementStart(26, "button", 30);
|
|
570
571
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_26_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnNewSuite()); });
|
|
571
|
-
i0.ɵɵelement(27, "i",
|
|
572
|
+
i0.ɵɵelement(27, "i", 31);
|
|
572
573
|
i0.ɵɵtext(28, " New Suite ");
|
|
573
574
|
i0.ɵɵelementEnd();
|
|
574
|
-
i0.ɵɵelementStart(29, "button",
|
|
575
|
+
i0.ɵɵelementStart(29, "button", 32);
|
|
575
576
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_29_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnNewTest()); });
|
|
576
|
-
i0.ɵɵelement(30, "i",
|
|
577
|
+
i0.ɵɵelement(30, "i", 33);
|
|
577
578
|
i0.ɵɵtext(31, " New Test ");
|
|
578
579
|
i0.ɵɵelementEnd()()();
|
|
579
|
-
i0.ɵɵelementStart(32, "div",
|
|
580
|
+
i0.ɵɵelementStart(32, "div", 34)(33, "div", 35)(34, "button", 36);
|
|
580
581
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_34_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SetDisplayMode("all")); });
|
|
581
582
|
i0.ɵɵtext(35, "All");
|
|
582
583
|
i0.ɵɵelementEnd();
|
|
583
|
-
i0.ɵɵelementStart(36, "button",
|
|
584
|
+
i0.ɵɵelementStart(36, "button", 36);
|
|
584
585
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_36_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SetDisplayMode("suites")); });
|
|
585
586
|
i0.ɵɵtext(37, "Suites Only");
|
|
586
587
|
i0.ɵɵelementEnd();
|
|
587
|
-
i0.ɵɵelementStart(38, "button",
|
|
588
|
+
i0.ɵɵelementStart(38, "button", 36);
|
|
588
589
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_38_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SetDisplayMode("tests")); });
|
|
589
590
|
i0.ɵɵtext(39, "Tests Only");
|
|
590
591
|
i0.ɵɵelementEnd()();
|
|
591
|
-
i0.ɵɵelementStart(40, "div",
|
|
592
|
+
i0.ɵɵelementStart(40, "div", 37)(41, "button", 38);
|
|
592
593
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_41_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.ToggleSortDirection()); });
|
|
593
|
-
i0.ɵɵelement(42, "i",
|
|
594
|
+
i0.ɵɵelement(42, "i", 39);
|
|
594
595
|
i0.ɵɵtext(43);
|
|
595
|
-
i0.ɵɵelement(44, "i",
|
|
596
|
+
i0.ɵɵelement(44, "i", 12);
|
|
596
597
|
i0.ɵɵelementEnd()()();
|
|
597
|
-
i0.ɵɵelementStart(45, "div",
|
|
598
|
+
i0.ɵɵelementStart(45, "div", 40);
|
|
598
599
|
i0.ɵɵconditionalCreate(46, TestingExplorerComponent_Conditional_1_Conditional_46_Template, 1, 1);
|
|
599
600
|
i0.ɵɵconditionalCreate(47, TestingExplorerComponent_Conditional_1_Conditional_47_Template, 1, 1);
|
|
600
|
-
i0.ɵɵconditionalCreate(48, TestingExplorerComponent_Conditional_1_Conditional_48_Template, 6, 0, "div",
|
|
601
|
+
i0.ɵɵconditionalCreate(48, TestingExplorerComponent_Conditional_1_Conditional_48_Template, 6, 0, "div", 41);
|
|
601
602
|
i0.ɵɵelementEnd()()();
|
|
602
603
|
} if (rf & 2) {
|
|
603
604
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -638,9 +639,9 @@ function TestingExplorerComponent_Conditional_1_Template(rf, ctx) { if (rf & 1)
|
|
|
638
639
|
} }
|
|
639
640
|
function TestingExplorerComponent_ng_template_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
640
641
|
const _r22 = i0.ɵɵgetCurrentView();
|
|
641
|
-
i0.ɵɵelementStart(0, "button",
|
|
642
|
+
i0.ɵɵelementStart(0, "button", 106);
|
|
642
643
|
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_1_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r22); const node_r21 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.ToggleSuiteExpand(node_r21, $event)); });
|
|
643
|
-
i0.ɵɵelement(1, "i",
|
|
644
|
+
i0.ɵɵelement(1, "i", 12);
|
|
644
645
|
i0.ɵɵelementEnd();
|
|
645
646
|
} if (rf & 2) {
|
|
646
647
|
const node_r21 = i0.ɵɵnextContext().node;
|
|
@@ -651,7 +652,7 @@ function TestingExplorerComponent_ng_template_2_Conditional_7_For_1_ng_container
|
|
|
651
652
|
i0.ɵɵelementContainer(0);
|
|
652
653
|
} }
|
|
653
654
|
function TestingExplorerComponent_ng_template_2_Conditional_7_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
654
|
-
i0.ɵɵtemplate(0, TestingExplorerComponent_ng_template_2_Conditional_7_For_1_ng_container_0_Template, 1, 0, "ng-container",
|
|
655
|
+
i0.ɵɵtemplate(0, TestingExplorerComponent_ng_template_2_Conditional_7_For_1_ng_container_0_Template, 1, 0, "ng-container", 50);
|
|
655
656
|
} if (rf & 2) {
|
|
656
657
|
const child_r23 = ctx.$implicit;
|
|
657
658
|
const depth_r24 = i0.ɵɵnextContext(2).depth;
|
|
@@ -667,14 +668,14 @@ function TestingExplorerComponent_ng_template_2_Conditional_7_Template(rf, ctx)
|
|
|
667
668
|
} }
|
|
668
669
|
function TestingExplorerComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
669
670
|
const _r20 = i0.ɵɵgetCurrentView();
|
|
670
|
-
i0.ɵɵelementStart(0, "div",
|
|
671
|
+
i0.ɵɵelementStart(0, "div", 103);
|
|
671
672
|
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Template_div_click_0_listener() { const node_r21 = i0.ɵɵrestoreView(_r20).node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SelectSidebarItem({ Type: "suite", ID: node_r21.ID })); });
|
|
672
|
-
i0.ɵɵconditionalCreate(1, TestingExplorerComponent_ng_template_2_Conditional_1_Template, 2, 4, "button",
|
|
673
|
-
i0.ɵɵelement(2, "i",
|
|
674
|
-
i0.ɵɵelementStart(3, "span",
|
|
673
|
+
i0.ɵɵconditionalCreate(1, TestingExplorerComponent_ng_template_2_Conditional_1_Template, 2, 4, "button", 104);
|
|
674
|
+
i0.ɵɵelement(2, "i", 57);
|
|
675
|
+
i0.ɵɵelementStart(3, "span", 105);
|
|
675
676
|
i0.ɵɵtext(4);
|
|
676
677
|
i0.ɵɵelementEnd();
|
|
677
|
-
i0.ɵɵelementStart(5, "span",
|
|
678
|
+
i0.ɵɵelementStart(5, "span", 46);
|
|
678
679
|
i0.ɵɵtext(6);
|
|
679
680
|
i0.ɵɵelementEnd()();
|
|
680
681
|
i0.ɵɵconditionalCreate(7, TestingExplorerComponent_ng_template_2_Conditional_7_Template, 2, 0);
|
|
@@ -695,13 +696,13 @@ function TestingExplorerComponent_ng_template_2_Template(rf, ctx) { if (rf & 1)
|
|
|
695
696
|
} }
|
|
696
697
|
function TestingExplorerComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
697
698
|
const _r25 = i0.ɵɵgetCurrentView();
|
|
698
|
-
i0.ɵɵelementStart(0, "div",
|
|
699
|
+
i0.ɵɵelementStart(0, "div", 107);
|
|
699
700
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_4_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r25); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.CloseSlideout()); });
|
|
700
701
|
i0.ɵɵelementEnd();
|
|
701
702
|
} }
|
|
702
703
|
function TestingExplorerComponent_Conditional_7_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
703
|
-
i0.ɵɵelementStart(0, "div",
|
|
704
|
-
i0.ɵɵelement(1, "i",
|
|
704
|
+
i0.ɵɵelementStart(0, "div", 116);
|
|
705
|
+
i0.ɵɵelement(1, "i", 134);
|
|
705
706
|
i0.ɵɵelementStart(2, "span");
|
|
706
707
|
i0.ɵɵtext(3);
|
|
707
708
|
i0.ɵɵelementEnd()();
|
|
@@ -711,7 +712,7 @@ function TestingExplorerComponent_Conditional_7_Conditional_15_Template(rf, ctx)
|
|
|
711
712
|
i0.ɵɵtextInterpolate(ctx_r2.FormErrorMessage);
|
|
712
713
|
} }
|
|
713
714
|
function TestingExplorerComponent_Conditional_7_Conditional_31_For_9_Template(rf, ctx) { if (rf & 1) {
|
|
714
|
-
i0.ɵɵelementStart(0, "option",
|
|
715
|
+
i0.ɵɵelementStart(0, "option", 127);
|
|
715
716
|
i0.ɵɵtext(1);
|
|
716
717
|
i0.ɵɵelementEnd();
|
|
717
718
|
} if (rf & 2) {
|
|
@@ -722,17 +723,17 @@ function TestingExplorerComponent_Conditional_7_Conditional_31_For_9_Template(rf
|
|
|
722
723
|
} }
|
|
723
724
|
function TestingExplorerComponent_Conditional_7_Conditional_31_Template(rf, ctx) { if (rf & 1) {
|
|
724
725
|
const _r27 = i0.ɵɵgetCurrentView();
|
|
725
|
-
i0.ɵɵelementStart(0, "div",
|
|
726
|
+
i0.ɵɵelementStart(0, "div", 120)(1, "label", 121);
|
|
726
727
|
i0.ɵɵtext(2, "Test Type ");
|
|
727
|
-
i0.ɵɵelementStart(3, "span",
|
|
728
|
+
i0.ɵɵelementStart(3, "span", 122);
|
|
728
729
|
i0.ɵɵtext(4, "*");
|
|
729
730
|
i0.ɵɵelementEnd()();
|
|
730
|
-
i0.ɵɵelementStart(5, "select",
|
|
731
|
+
i0.ɵɵelementStart(5, "select", 126);
|
|
731
732
|
i0.ɵɵtwoWayListener("ngModelChange", function TestingExplorerComponent_Conditional_7_Conditional_31_Template_select_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.FormTypeID, $event) || (ctx_r2.FormTypeID = $event); return i0.ɵɵresetView($event); });
|
|
732
|
-
i0.ɵɵelementStart(6, "option",
|
|
733
|
+
i0.ɵɵelementStart(6, "option", 135);
|
|
733
734
|
i0.ɵɵtext(7, "Select type...");
|
|
734
735
|
i0.ɵɵelementEnd();
|
|
735
|
-
i0.ɵɵrepeaterCreate(8, TestingExplorerComponent_Conditional_7_Conditional_31_For_9_Template, 2, 2, "option",
|
|
736
|
+
i0.ɵɵrepeaterCreate(8, TestingExplorerComponent_Conditional_7_Conditional_31_For_9_Template, 2, 2, "option", 127, _forTrack0);
|
|
736
737
|
i0.ɵɵelementEnd()();
|
|
737
738
|
} if (rf & 2) {
|
|
738
739
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
@@ -742,7 +743,7 @@ function TestingExplorerComponent_Conditional_7_Conditional_31_Template(rf, ctx)
|
|
|
742
743
|
i0.ɵɵrepeater(ctx_r2.AllTestTypes);
|
|
743
744
|
} }
|
|
744
745
|
function TestingExplorerComponent_Conditional_7_Conditional_32_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
745
|
-
i0.ɵɵelementStart(0, "option",
|
|
746
|
+
i0.ɵɵelementStart(0, "option", 127);
|
|
746
747
|
i0.ɵɵtext(1);
|
|
747
748
|
i0.ɵɵelementEnd();
|
|
748
749
|
} if (rf & 2) {
|
|
@@ -753,15 +754,15 @@ function TestingExplorerComponent_Conditional_7_Conditional_32_For_7_Template(rf
|
|
|
753
754
|
} }
|
|
754
755
|
function TestingExplorerComponent_Conditional_7_Conditional_32_Template(rf, ctx) { if (rf & 1) {
|
|
755
756
|
const _r29 = i0.ɵɵgetCurrentView();
|
|
756
|
-
i0.ɵɵelementStart(0, "div",
|
|
757
|
+
i0.ɵɵelementStart(0, "div", 120)(1, "label", 121);
|
|
757
758
|
i0.ɵɵtext(2, "Parent Suite");
|
|
758
759
|
i0.ɵɵelementEnd();
|
|
759
|
-
i0.ɵɵelementStart(3, "select",
|
|
760
|
+
i0.ɵɵelementStart(3, "select", 126);
|
|
760
761
|
i0.ɵɵtwoWayListener("ngModelChange", function TestingExplorerComponent_Conditional_7_Conditional_32_Template_select_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r29); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.FormParentSuiteID, $event) || (ctx_r2.FormParentSuiteID = $event); return i0.ɵɵresetView($event); });
|
|
761
|
-
i0.ɵɵelementStart(4, "option",
|
|
762
|
+
i0.ɵɵelementStart(4, "option", 136);
|
|
762
763
|
i0.ɵɵtext(5, "None (top-level)");
|
|
763
764
|
i0.ɵɵelementEnd();
|
|
764
|
-
i0.ɵɵrepeaterCreate(6, TestingExplorerComponent_Conditional_7_Conditional_32_For_7_Template, 2, 2, "option",
|
|
765
|
+
i0.ɵɵrepeaterCreate(6, TestingExplorerComponent_Conditional_7_Conditional_32_For_7_Template, 2, 2, "option", 127, _forTrack0);
|
|
765
766
|
i0.ɵɵelementEnd()();
|
|
766
767
|
} if (rf & 2) {
|
|
767
768
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
@@ -771,7 +772,7 @@ function TestingExplorerComponent_Conditional_7_Conditional_32_Template(rf, ctx)
|
|
|
771
772
|
i0.ɵɵrepeater(ctx_r2.AllSuites);
|
|
772
773
|
} }
|
|
773
774
|
function TestingExplorerComponent_Conditional_7_For_38_Template(rf, ctx) { if (rf & 1) {
|
|
774
|
-
i0.ɵɵelementStart(0, "option",
|
|
775
|
+
i0.ɵɵelementStart(0, "option", 127);
|
|
775
776
|
i0.ɵɵtext(1);
|
|
776
777
|
i0.ɵɵelementEnd();
|
|
777
778
|
} if (rf & 2) {
|
|
@@ -782,19 +783,19 @@ function TestingExplorerComponent_Conditional_7_For_38_Template(rf, ctx) { if (r
|
|
|
782
783
|
} }
|
|
783
784
|
function TestingExplorerComponent_Conditional_7_Conditional_39_Template(rf, ctx) { if (rf & 1) {
|
|
784
785
|
const _r32 = i0.ɵɵgetCurrentView();
|
|
785
|
-
i0.ɵɵelementStart(0, "div",
|
|
786
|
+
i0.ɵɵelementStart(0, "div", 118)(1, "div", 119);
|
|
786
787
|
i0.ɵɵtext(2, "Estimates");
|
|
787
788
|
i0.ɵɵelementEnd();
|
|
788
|
-
i0.ɵɵelementStart(3, "div",
|
|
789
|
+
i0.ɵɵelementStart(3, "div", 125)(4, "div", 120)(5, "label", 121);
|
|
789
790
|
i0.ɵɵtext(6, "Duration (seconds)");
|
|
790
791
|
i0.ɵɵelementEnd();
|
|
791
|
-
i0.ɵɵelementStart(7, "input",
|
|
792
|
+
i0.ɵɵelementStart(7, "input", 137);
|
|
792
793
|
i0.ɵɵtwoWayListener("ngModelChange", function TestingExplorerComponent_Conditional_7_Conditional_39_Template_input_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.FormEstDuration, $event) || (ctx_r2.FormEstDuration = $event); return i0.ɵɵresetView($event); });
|
|
793
794
|
i0.ɵɵelementEnd()();
|
|
794
|
-
i0.ɵɵelementStart(8, "div",
|
|
795
|
+
i0.ɵɵelementStart(8, "div", 120)(9, "label", 121);
|
|
795
796
|
i0.ɵɵtext(10, "Cost (USD)");
|
|
796
797
|
i0.ɵɵelementEnd();
|
|
797
|
-
i0.ɵɵelementStart(11, "input",
|
|
798
|
+
i0.ɵɵelementStart(11, "input", 138);
|
|
798
799
|
i0.ɵɵtwoWayListener("ngModelChange", function TestingExplorerComponent_Conditional_7_Conditional_39_Template_input_ngModelChange_11_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.FormEstCost, $event) || (ctx_r2.FormEstCost = $event); return i0.ɵɵresetView($event); });
|
|
799
800
|
i0.ɵɵelementEnd()()()();
|
|
800
801
|
} if (rf & 2) {
|
|
@@ -805,77 +806,77 @@ function TestingExplorerComponent_Conditional_7_Conditional_39_Template(rf, ctx)
|
|
|
805
806
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.FormEstCost);
|
|
806
807
|
} }
|
|
807
808
|
function TestingExplorerComponent_Conditional_7_Conditional_51_Template(rf, ctx) { if (rf & 1) {
|
|
808
|
-
i0.ɵɵelement(0, "i",
|
|
809
|
+
i0.ɵɵelement(0, "i", 132);
|
|
809
810
|
} }
|
|
810
811
|
function TestingExplorerComponent_Conditional_7_Conditional_52_Template(rf, ctx) { if (rf & 1) {
|
|
811
|
-
i0.ɵɵelement(0, "i",
|
|
812
|
+
i0.ɵɵelement(0, "i", 133);
|
|
812
813
|
} }
|
|
813
814
|
function TestingExplorerComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
814
815
|
const _r26 = i0.ɵɵgetCurrentView();
|
|
815
|
-
i0.ɵɵelementStart(0, "div", 6)(1, "div",
|
|
816
|
-
i0.ɵɵelement(3, "i",
|
|
817
|
-
i0.ɵɵelementStart(4, "span",
|
|
816
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "div", 108)(2, "div", 109);
|
|
817
|
+
i0.ɵɵelement(3, "i", 110);
|
|
818
|
+
i0.ɵɵelementStart(4, "span", 111);
|
|
818
819
|
i0.ɵɵtext(5);
|
|
819
820
|
i0.ɵɵelementEnd()();
|
|
820
|
-
i0.ɵɵelementStart(6, "button",
|
|
821
|
+
i0.ɵɵelementStart(6, "button", 112);
|
|
821
822
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_7_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.CloseSlideout()); });
|
|
822
|
-
i0.ɵɵelement(7, "i",
|
|
823
|
+
i0.ɵɵelement(7, "i", 113);
|
|
823
824
|
i0.ɵɵelementEnd()();
|
|
824
|
-
i0.ɵɵelementStart(8, "div",
|
|
825
|
+
i0.ɵɵelementStart(8, "div", 114)(9, "button", 115);
|
|
825
826
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_7_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SetSlideoutCreateType("test")); });
|
|
826
|
-
i0.ɵɵelement(10, "i",
|
|
827
|
+
i0.ɵɵelement(10, "i", 47);
|
|
827
828
|
i0.ɵɵtext(11, " Test ");
|
|
828
829
|
i0.ɵɵelementEnd();
|
|
829
|
-
i0.ɵɵelementStart(12, "button",
|
|
830
|
+
i0.ɵɵelementStart(12, "button", 115);
|
|
830
831
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_7_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SetSlideoutCreateType("suite")); });
|
|
831
|
-
i0.ɵɵelement(13, "i",
|
|
832
|
+
i0.ɵɵelement(13, "i", 57);
|
|
832
833
|
i0.ɵɵtext(14, " Suite ");
|
|
833
834
|
i0.ɵɵelementEnd()();
|
|
834
|
-
i0.ɵɵconditionalCreate(15, TestingExplorerComponent_Conditional_7_Conditional_15_Template, 4, 1, "div",
|
|
835
|
-
i0.ɵɵelementStart(16, "div",
|
|
835
|
+
i0.ɵɵconditionalCreate(15, TestingExplorerComponent_Conditional_7_Conditional_15_Template, 4, 1, "div", 116);
|
|
836
|
+
i0.ɵɵelementStart(16, "div", 117)(17, "div", 118)(18, "div", 119);
|
|
836
837
|
i0.ɵɵtext(19, "General");
|
|
837
838
|
i0.ɵɵelementEnd();
|
|
838
|
-
i0.ɵɵelementStart(20, "div",
|
|
839
|
+
i0.ɵɵelementStart(20, "div", 120)(21, "label", 121);
|
|
839
840
|
i0.ɵɵtext(22, "Name ");
|
|
840
|
-
i0.ɵɵelementStart(23, "span",
|
|
841
|
+
i0.ɵɵelementStart(23, "span", 122);
|
|
841
842
|
i0.ɵɵtext(24, "*");
|
|
842
843
|
i0.ɵɵelementEnd()();
|
|
843
|
-
i0.ɵɵelementStart(25, "input",
|
|
844
|
+
i0.ɵɵelementStart(25, "input", 123);
|
|
844
845
|
i0.ɵɵtwoWayListener("ngModelChange", function TestingExplorerComponent_Conditional_7_Template_input_ngModelChange_25_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.FormName, $event) || (ctx_r2.FormName = $event); return i0.ɵɵresetView($event); });
|
|
845
846
|
i0.ɵɵelementEnd()();
|
|
846
|
-
i0.ɵɵelementStart(26, "div",
|
|
847
|
+
i0.ɵɵelementStart(26, "div", 120)(27, "label", 121);
|
|
847
848
|
i0.ɵɵtext(28, "Description");
|
|
848
849
|
i0.ɵɵelementEnd();
|
|
849
|
-
i0.ɵɵelementStart(29, "textarea",
|
|
850
|
+
i0.ɵɵelementStart(29, "textarea", 124);
|
|
850
851
|
i0.ɵɵtwoWayListener("ngModelChange", function TestingExplorerComponent_Conditional_7_Template_textarea_ngModelChange_29_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.FormDescription, $event) || (ctx_r2.FormDescription = $event); return i0.ɵɵresetView($event); });
|
|
851
852
|
i0.ɵɵelementEnd()();
|
|
852
|
-
i0.ɵɵelementStart(30, "div",
|
|
853
|
-
i0.ɵɵconditionalCreate(31, TestingExplorerComponent_Conditional_7_Conditional_31_Template, 10, 1, "div",
|
|
854
|
-
i0.ɵɵconditionalCreate(32, TestingExplorerComponent_Conditional_7_Conditional_32_Template, 8, 1, "div",
|
|
855
|
-
i0.ɵɵelementStart(33, "div",
|
|
853
|
+
i0.ɵɵelementStart(30, "div", 125);
|
|
854
|
+
i0.ɵɵconditionalCreate(31, TestingExplorerComponent_Conditional_7_Conditional_31_Template, 10, 1, "div", 120);
|
|
855
|
+
i0.ɵɵconditionalCreate(32, TestingExplorerComponent_Conditional_7_Conditional_32_Template, 8, 1, "div", 120);
|
|
856
|
+
i0.ɵɵelementStart(33, "div", 120)(34, "label", 121);
|
|
856
857
|
i0.ɵɵtext(35, "Status");
|
|
857
858
|
i0.ɵɵelementEnd();
|
|
858
|
-
i0.ɵɵelementStart(36, "select",
|
|
859
|
+
i0.ɵɵelementStart(36, "select", 126);
|
|
859
860
|
i0.ɵɵtwoWayListener("ngModelChange", function TestingExplorerComponent_Conditional_7_Template_select_ngModelChange_36_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.FormStatus, $event) || (ctx_r2.FormStatus = $event); return i0.ɵɵresetView($event); });
|
|
860
|
-
i0.ɵɵrepeaterCreate(37, TestingExplorerComponent_Conditional_7_For_38_Template, 2, 2, "option",
|
|
861
|
+
i0.ɵɵrepeaterCreate(37, TestingExplorerComponent_Conditional_7_For_38_Template, 2, 2, "option", 127, i0.ɵɵrepeaterTrackByIdentity);
|
|
861
862
|
i0.ɵɵelementEnd()()()();
|
|
862
|
-
i0.ɵɵconditionalCreate(39, TestingExplorerComponent_Conditional_7_Conditional_39_Template, 12, 2, "div",
|
|
863
|
-
i0.ɵɵelementStart(40, "div",
|
|
863
|
+
i0.ɵɵconditionalCreate(39, TestingExplorerComponent_Conditional_7_Conditional_39_Template, 12, 2, "div", 118);
|
|
864
|
+
i0.ɵɵelementStart(40, "div", 118)(41, "div", 119);
|
|
864
865
|
i0.ɵɵtext(42, "Tags");
|
|
865
866
|
i0.ɵɵelementEnd();
|
|
866
|
-
i0.ɵɵelementStart(43, "div",
|
|
867
|
+
i0.ɵɵelementStart(43, "div", 120)(44, "input", 128);
|
|
867
868
|
i0.ɵɵtwoWayListener("ngModelChange", function TestingExplorerComponent_Conditional_7_Template_input_ngModelChange_44_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.FormTags, $event) || (ctx_r2.FormTags = $event); return i0.ɵɵresetView($event); });
|
|
868
869
|
i0.ɵɵelementEnd();
|
|
869
|
-
i0.ɵɵelementStart(45, "span",
|
|
870
|
+
i0.ɵɵelementStart(45, "span", 129);
|
|
870
871
|
i0.ɵɵtext(46, "Separate multiple tags with commas");
|
|
871
872
|
i0.ɵɵelementEnd()()()();
|
|
872
|
-
i0.ɵɵelementStart(47, "div",
|
|
873
|
+
i0.ɵɵelementStart(47, "div", 130)(48, "button", 30);
|
|
873
874
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_7_Template_button_click_48_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.CloseSlideout()); });
|
|
874
875
|
i0.ɵɵtext(49, "Cancel");
|
|
875
876
|
i0.ɵɵelementEnd();
|
|
876
|
-
i0.ɵɵelementStart(50, "button",
|
|
877
|
+
i0.ɵɵelementStart(50, "button", 131);
|
|
877
878
|
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_7_Template_button_click_50_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SaveForm()); });
|
|
878
|
-
i0.ɵɵconditionalCreate(51, TestingExplorerComponent_Conditional_7_Conditional_51_Template, 1, 0, "i",
|
|
879
|
+
i0.ɵɵconditionalCreate(51, TestingExplorerComponent_Conditional_7_Conditional_51_Template, 1, 0, "i", 132)(52, TestingExplorerComponent_Conditional_7_Conditional_52_Template, 1, 0, "i", 133);
|
|
879
880
|
i0.ɵɵtext(53);
|
|
880
881
|
i0.ɵɵelementEnd()()();
|
|
881
882
|
} if (rf & 2) {
|
|
@@ -913,6 +914,19 @@ function TestingExplorerComponent_Conditional_7_Template(rf, ctx) { if (rf & 1)
|
|
|
913
914
|
i0.ɵɵadvance(2);
|
|
914
915
|
i0.ɵɵtextInterpolate1(" Create ", ctx_r2.SlideoutCreateType === "test" ? "Test" : "Suite", " ");
|
|
915
916
|
} }
|
|
917
|
+
function TestingExplorerComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
918
|
+
const _r33 = i0.ɵɵgetCurrentView();
|
|
919
|
+
i0.ɵɵelementStart(0, "mj-slide-panel", 139);
|
|
920
|
+
i0.ɵɵlistener("Closed", function TestingExplorerComponent_Conditional_8_Template_mj_slide_panel_Closed_0_listener() { i0.ɵɵrestoreView(_r33); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnPanelClosed()); });
|
|
921
|
+
i0.ɵɵelementStart(1, "app-test-run-dialog", 140);
|
|
922
|
+
i0.ɵɵlistener("PanelClose", function TestingExplorerComponent_Conditional_8_Template_app_test_run_dialog_PanelClose_1_listener() { i0.ɵɵrestoreView(_r33); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnPanelClosed()); });
|
|
923
|
+
i0.ɵɵelementEnd()();
|
|
924
|
+
} if (rf & 2) {
|
|
925
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
926
|
+
i0.ɵɵproperty("Resizable", true);
|
|
927
|
+
i0.ɵɵadvance();
|
|
928
|
+
i0.ɵɵproperty("PanelMode", true)("selectedTestId", (ctx_r2.testingDialogService.PanelOptions == null ? null : ctx_r2.testingDialogService.PanelOptions.testId) ?? null)("selectedSuiteId", (ctx_r2.testingDialogService.PanelOptions == null ? null : ctx_r2.testingDialogService.PanelOptions.suiteId) ?? null)("runMode", (ctx_r2.testingDialogService.PanelOptions == null ? null : ctx_r2.testingDialogService.PanelOptions.mode) ?? "test");
|
|
929
|
+
} }
|
|
916
930
|
export class TestingExplorerComponent {
|
|
917
931
|
cdr;
|
|
918
932
|
viewContainerRef;
|
|
@@ -1021,6 +1035,9 @@ export class TestingExplorerComponent {
|
|
|
1021
1035
|
this.cdr.markForCheck();
|
|
1022
1036
|
}
|
|
1023
1037
|
this.subscribeToStateChanges();
|
|
1038
|
+
this.testingDialogService.PanelStateChanged$.pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
1039
|
+
this.cdr.detectChanges();
|
|
1040
|
+
});
|
|
1024
1041
|
}
|
|
1025
1042
|
ngOnDestroy() {
|
|
1026
1043
|
this.destroy$.next();
|
|
@@ -1087,10 +1104,14 @@ export class TestingExplorerComponent {
|
|
|
1087
1104
|
this._sortDirection$.next(newDir);
|
|
1088
1105
|
}
|
|
1089
1106
|
RunTest(testId) {
|
|
1090
|
-
this.testingDialogService.
|
|
1107
|
+
this.testingDialogService.OpenTestPanel(testId);
|
|
1091
1108
|
}
|
|
1092
1109
|
RunSuite(suiteId) {
|
|
1093
|
-
this.testingDialogService.
|
|
1110
|
+
this.testingDialogService.OpenSuitePanel(suiteId);
|
|
1111
|
+
}
|
|
1112
|
+
OnPanelClosed() {
|
|
1113
|
+
this.testingDialogService.ClosePanel();
|
|
1114
|
+
this.cdr.detectChanges();
|
|
1094
1115
|
}
|
|
1095
1116
|
EditItem(entityName, id) {
|
|
1096
1117
|
SharedService.Instance.OpenEntityRecord(entityName, CompositeKey.FromID(id));
|
|
@@ -1643,7 +1664,7 @@ export class TestingExplorerComponent {
|
|
|
1643
1664
|
throw new Error('Failed to save test suite. Please check your input and try again.');
|
|
1644
1665
|
}
|
|
1645
1666
|
static ɵfac = function TestingExplorerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TestingExplorerComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i1.TestingDialogService), i0.ɵɵdirectiveInject(i2.TestingInstrumentationService)); };
|
|
1646
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TestingExplorerComponent, selectors: [["app-testing-explorer"]], standalone: false, decls:
|
|
1667
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TestingExplorerComponent, selectors: [["app-testing-explorer"]], standalone: false, decls: 9, vars: 8, consts: [["suiteTreeTpl", ""], [1, "explorer-loading"], [1, "explorer-layout"], [1, "slideout-backdrop"], [1, "slideout-panel"], [1, "slideout-resize-handle", 3, "mousedown"], [1, "slideout-container"], ["Mode", "slide", "Title", "Run Test", 3, "Resizable"], ["text", "Loading test explorer..."], [1, "sidebar"], [1, "sidebar-header"], [1, "sidebar-toggle", 3, "click"], [1, "fa-solid"], [1, "sidebar-content"], [1, "main-content"], [1, "toolbar"], [1, "toolbar-left"], [1, "toolbar-search-box"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search tests and suites...", 3, "input", "value"], [1, "clear-search"], [1, "status-chips"], [1, "chip", 3, "active"], [1, "toolbar-right"], [1, "result-count"], [1, "view-toggle"], ["title", "Card View", 1, "view-btn", 3, "click"], [1, "fa-solid", "fa-grip"], ["title", "List View", 1, "view-btn", 3, "click"], [1, "fa-solid", "fa-list"], [1, "btn", "btn-secondary", 3, "click"], [1, "fa-solid", "fa-folder-plus"], [1, "btn", "btn-primary", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "toggle-bar"], [1, "toggle-group"], [1, "toggle-btn", 3, "click"], [1, "sort-indicator"], [1, "sort-btn", 3, "click"], [1, "fa-solid", "fa-arrow-down-short-wide"], [1, "content-area"], [1, "empty-state"], [1, "sidebar-section"], [1, "sidebar-section-title"], [1, "sidebar-item", 3, "click"], [1, "fa-solid", "fa-layer-group"], [1, "sidebar-count"], [1, "fa-solid", "fa-vial"], [1, "sidebar-empty"], [1, "sidebar-item", 3, "active"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "fa-solid", "fa-tag"], [1, "clear-search", 3, "click"], [1, "fa-solid", "fa-times"], [1, "chip", 3, "click"], [1, "content-section"], [1, "section-title"], [1, "fa-solid", "fa-folder"], [1, "section-count"], [1, "card-grid"], [1, "suite-card"], [1, "card-header"], [1, "card-title-row"], [1, "fa-solid", "fa-folder-open", "card-icon", "suite-icon"], [1, "card-name", 3, "innerHTML"], [1, "status-badge"], [1, "card-subtitle"], [1, "card-description", 3, "innerHTML"], [1, "card-stats"], [1, "stat"], [1, "stat-label"], [1, "stat-value"], [1, "card-tests-preview"], [1, "card-actions"], [1, "btn", "btn-sm", "btn-primary", 3, "click"], [1, "fa-solid", "fa-play"], [1, "btn", "btn-sm", "btn-secondary", 3, "click"], [1, "fa-solid", "fa-chart-bar"], [1, "fa-solid", "fa-pen"], [1, "dot-sep"], [1, "preview-more"], [1, "preview-test-row"], [1, "preview-dot"], [1, "preview-test-name"], [1, "preview-score"], [1, "preview-bar"], [1, "preview-bar-fill"], [1, "preview-status"], [1, "test-card"], [1, "fa-solid", "fa-vial", "card-icon", "test-icon"], [1, "card-meta-row"], [1, "meta-item"], [1, "fa-solid", "fa-calendar"], [1, "card-tags"], [1, "stat-value", "status-text"], [1, "fa-solid", "fa-history"], [1, "fa-solid", "fa-robot"], [1, "fa-solid", "fa-clock"], [1, "fa-solid", "fa-dollar-sign"], [1, "tag", "tag-more"], [1, "tag"], [1, "fa-solid", "fa-inbox"], [1, "empty-hint"], [1, "sidebar-item", "suite-tree-item", 3, "click"], [1, "tree-toggle"], [1, "tree-name"], [1, "tree-toggle", 3, "click"], [1, "slideout-backdrop", 3, "click"], [1, "slideout-header"], [1, "slideout-title-row"], [1, "fa-solid", "fa-plus-circle", "slideout-title-icon"], [1, "slideout-title-text"], [1, "slideout-close-btn", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "slideout-type-toggle"], [1, "type-toggle-btn", 3, "click"], [1, "slideout-error"], [1, "slideout-body"], [1, "form-section"], [1, "form-section-title"], [1, "form-group"], [1, "form-label"], [1, "form-required"], ["type", "text", 1, "form-input", 3, "ngModelChange", "ngModel", "placeholder"], ["rows", "3", 1, "form-textarea", 3, "ngModelChange", "ngModel", "placeholder"], [1, "form-row"], [1, "form-input", 3, "ngModelChange", "ngModel"], [3, "value"], ["type", "text", "placeholder", "Comma-separated tags, e.g., agent, quality, v2", 1, "form-input", 3, "ngModelChange", "ngModel"], [1, "form-hint"], [1, "slideout-footer"], [1, "btn", "btn-primary", 3, "click", "disabled"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "fa-solid", "fa-check"], [1, "fa-solid", "fa-circle-exclamation"], ["value", "", "disabled", ""], ["value", ""], ["type", "number", "min", "0", "placeholder", "0", 1, "form-input", 3, "ngModelChange", "ngModel"], ["type", "number", "min", "0", "step", "0.01", "placeholder", "0.00", 1, "form-input", 3, "ngModelChange", "ngModel"], ["Mode", "slide", "Title", "Run Test", 3, "Closed", "Resizable"], [3, "PanelClose", "PanelMode", "selectedTestId", "selectedSuiteId", "runMode"]], template: function TestingExplorerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1647
1668
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
1648
1669
|
i0.ɵɵconditionalCreate(0, TestingExplorerComponent_Conditional_0_Template, 2, 0, "div", 1)(1, TestingExplorerComponent_Conditional_1_Template, 49, 28, "div", 2);
|
|
1649
1670
|
i0.ɵɵtemplate(2, TestingExplorerComponent_ng_template_2_Template, 8, 8, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
@@ -1653,6 +1674,7 @@ export class TestingExplorerComponent {
|
|
|
1653
1674
|
i0.ɵɵelementEnd();
|
|
1654
1675
|
i0.ɵɵconditionalCreate(7, TestingExplorerComponent_Conditional_7_Template, 54, 18, "div", 6);
|
|
1655
1676
|
i0.ɵɵelementEnd();
|
|
1677
|
+
i0.ɵɵconditionalCreate(8, TestingExplorerComponent_Conditional_8_Template, 2, 5, "mj-slide-panel", 7);
|
|
1656
1678
|
} if (rf & 2) {
|
|
1657
1679
|
i0.ɵɵconditional(ctx.IsLoading ? 0 : 1);
|
|
1658
1680
|
i0.ɵɵadvance(4);
|
|
@@ -1662,7 +1684,9 @@ export class TestingExplorerComponent {
|
|
|
1662
1684
|
i0.ɵɵclassProp("open", ctx.SlideoutOpen);
|
|
1663
1685
|
i0.ɵɵadvance(2);
|
|
1664
1686
|
i0.ɵɵconditional(ctx.SlideoutOpen ? 7 : -1);
|
|
1665
|
-
} }, dependencies: [i3.NgTemplateOutlet, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.DefaultValueAccessor, i4.NumberValueAccessor, i4.SelectControlValueAccessor, i4.NgControlStatus, i4.MinValidator, i4.NgModel, i5.LoadingComponent, i6.HighlightSearchPipe], styles: ["\n\n\n\n\n [_nghost-%COMP%] {\n display: block;\n height: 100%;\n width: 100%;\n }\n\n \n\n .explorer-loading[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n min-height: 400px;\n background: var(--mj-bg-surface-sunken);\n }\n\n \n\n .explorer-layout[_ngcontent-%COMP%] {\n display: flex;\n height: 100%;\n background: var(--mj-bg-surface-sunken);\n overflow: hidden;\n }\n\n \n\n\n\n .sidebar[_ngcontent-%COMP%] {\n width: 280px;\n min-width: 280px;\n background: var(--mj-bg-surface);\n border-right: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n transition: width 0.2s ease, min-width 0.2s ease;\n }\n\n .sidebar.collapsed[_ngcontent-%COMP%] {\n width: 48px;\n min-width: 48px;\n }\n\n .sidebar-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .sidebar-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 15px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .sidebar.collapsed[_ngcontent-%COMP%] .sidebar-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n display: none;\n }\n\n .sidebar-toggle[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-muted);\n cursor: pointer;\n font-size: 11px;\n transition: all 0.15s ease;\n }\n\n .sidebar-toggle[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .sidebar-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .sidebar-section[_ngcontent-%COMP%] {\n margin-bottom: 8px;\n }\n\n .sidebar-section-title[_ngcontent-%COMP%] {\n padding: 8px 16px 4px;\n font-size: 10px;\n font-weight: 700;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.8px;\n }\n\n .sidebar-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n font-size: 13px;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n overflow: hidden;\n }\n\n .sidebar-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .sidebar-item.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-weight: 600;\n }\n\n .sidebar-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n width: 16px;\n text-align: center;\n flex-shrink: 0;\n }\n\n .sidebar-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:not(.sidebar-count) {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .sidebar-count[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-disabled);\n font-weight: 500;\n flex-shrink: 0;\n }\n\n .sidebar-item.active[_ngcontent-%COMP%] .sidebar-count[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .sidebar-empty[_ngcontent-%COMP%] {\n padding: 8px 16px;\n font-size: 12px;\n color: var(--mj-text-disabled);\n font-style: italic;\n }\n\n \n\n .suite-tree-item[_ngcontent-%COMP%] {\n gap: 6px;\n }\n\n .tree-toggle[_ngcontent-%COMP%] {\n width: 18px;\n height: 18px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: none;\n color: var(--mj-text-disabled);\n cursor: pointer;\n font-size: 9px;\n flex-shrink: 0;\n border-radius: 4px;\n padding: 0;\n }\n\n .tree-toggle[_ngcontent-%COMP%]:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-muted);\n }\n\n .tree-name[_ngcontent-%COMP%] {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n \n\n\n\n .main-content[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n \n\n .toolbar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n padding: 16px 24px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .toolbar-left[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n min-width: 0;\n }\n\n .toolbar-search-box[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 14px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n min-width: 240px;\n max-width: 360px;\n flex: 1;\n transition: border-color 0.2s ease;\n }\n\n .toolbar-search-box[_ngcontent-%COMP%]:focus-within {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface);\n }\n\n .toolbar-search-box[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-disabled);\n font-size: 13px;\n }\n\n .toolbar-search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n flex: 1;\n border: none;\n background: transparent;\n outline: none;\n font-size: 13px;\n color: var(--mj-text-primary);\n }\n\n .toolbar-search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-disabled);\n }\n\n .clear-search[_ngcontent-%COMP%] {\n border: none;\n background: transparent;\n color: var(--mj-text-disabled);\n cursor: pointer;\n padding: 2px 4px;\n border-radius: 4px;\n }\n\n .clear-search[_ngcontent-%COMP%]:hover {\n color: var(--mj-text-muted);\n background: var(--mj-border-default);\n }\n\n .status-chips[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n }\n\n .chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 6px 14px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid transparent;\n border-radius: 16px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .chip[_ngcontent-%COMP%]:hover {\n background: var(--mj-border-default);\n }\n\n .chip.active[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n }\n\n .chip.active[data-status=\"active\"][_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n border-color: var(--mj-status-success);\n }\n\n .chip.active[data-status=\"pending\"][_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n border-color: var(--mj-status-warning);\n }\n\n .chip.active[data-status=\"disabled\"][_ngcontent-%COMP%] {\n background: var(--mj-text-muted);\n border-color: var(--mj-text-muted);\n }\n\n .toolbar-right[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-shrink: 0;\n }\n\n .result-count[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-disabled);\n font-weight: 500;\n white-space: nowrap;\n }\n\n .view-toggle[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-btn[_ngcontent-%COMP%] {\n width: 34px;\n height: 34px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--mj-bg-surface);\n border: none;\n color: var(--mj-text-disabled);\n cursor: pointer;\n font-size: 13px;\n transition: all 0.15s ease;\n }\n\n .view-btn[_ngcontent-%COMP%]:not(:last-child) {\n border-right: 1px solid var(--mj-border-default);\n }\n\n .view-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n .view-btn.active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n \n\n .btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 9px 16px;\n border: none;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n }\n\n .btn-primary[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .btn-primary[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: var(--mj-shadow-md);\n }\n\n .btn-secondary[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n color: var(--mj-text-muted);\n border: 1px solid var(--mj-border-default);\n }\n\n .btn-secondary[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-sm[_ngcontent-%COMP%] {\n padding: 6px 12px;\n font-size: 12px;\n }\n\n \n\n .toggle-bar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .toggle-group[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .toggle-btn[_ngcontent-%COMP%] {\n padding: 6px 16px;\n background: var(--mj-bg-surface);\n border: none;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .toggle-btn[_ngcontent-%COMP%]:not(:last-child) {\n border-right: 1px solid var(--mj-border-default);\n }\n\n .toggle-btn.active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .toggle-btn[_ngcontent-%COMP%]:hover:not(.active) {\n background: var(--mj-bg-surface-sunken);\n }\n\n .sort-indicator[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n }\n\n .sort-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-text-muted);\n cursor: pointer;\n }\n\n .sort-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .sort-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n }\n\n \n\n .content-area[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n }\n\n .content-section[_ngcontent-%COMP%] {\n margin-bottom: 32px;\n }\n\n .section-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 16px 0;\n font-size: 16px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 14px;\n }\n\n .section-count[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n \n\n .card-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));\n gap: 16px;\n }\n\n \n\n .suite-card[_ngcontent-%COMP%], \n .test-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n overflow: hidden;\n transition: all 0.2s ease;\n }\n\n .suite-card[_ngcontent-%COMP%]:hover, \n .test-card[_ngcontent-%COMP%]:hover {\n border-color: color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n box-shadow: var(--mj-shadow-md);\n }\n\n .card-header[_ngcontent-%COMP%] {\n padding: 16px 16px 12px;\n }\n\n .card-title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 6px;\n }\n\n .card-icon[_ngcontent-%COMP%] {\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .suite-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .test-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .card-name[_ngcontent-%COMP%] {\n flex: 1;\n font-size: 14px;\n font-weight: 700;\n color: var(--mj-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .status-badge[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 700;\n padding: 3px 8px;\n border-radius: 4px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n flex-shrink: 0;\n }\n\n .status-badge[data-status=\"active\"][_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n }\n\n .status-badge[data-status=\"pending\"][_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n color: var(--mj-status-warning);\n }\n\n .status-badge[data-status=\"disabled\"][_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n .card-subtitle[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n margin-bottom: 6px;\n }\n\n .dot-sep[_ngcontent-%COMP%] {\n display: inline-block;\n width: 3px;\n height: 3px;\n background: var(--mj-text-disabled);\n border-radius: 50%;\n vertical-align: middle;\n margin: 0 6px;\n }\n\n .card-description[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-muted);\n line-height: 1.5;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta-row[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n margin-top: 8px;\n }\n\n .meta-item[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .meta-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-disabled);\n }\n\n .card-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 8px;\n }\n\n .tag[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 600;\n padding: 2px 8px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n border-radius: 4px;\n }\n\n .tag-more[_ngcontent-%COMP%] {\n background: var(--mj-border-default);\n color: var(--mj-text-disabled);\n }\n\n \n\n .card-stats[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 1px;\n background: var(--mj-border-default);\n border-top: 1px solid var(--mj-border-default);\n }\n\n .stat[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n padding: 10px 12px;\n text-align: center;\n }\n\n .stat-label[_ngcontent-%COMP%] {\n display: block;\n font-size: 10px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.3px;\n margin-bottom: 2px;\n }\n\n .stat-value[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .stat-value.good[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .stat-value.warn[_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .stat-value.bad[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n\n .status-text[data-status=\"passed\"][_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .status-text[data-status=\"failed\"][_ngcontent-%COMP%] { color: var(--mj-status-error); }\n .status-text[data-status=\"error\"][_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .status-text[data-status=\"running\"][_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n .status-text[data-status=\"pending\"][_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .status-text[data-status=\"skipped\"][_ngcontent-%COMP%] { color: var(--mj-text-muted); }\n\n \n\n .card-tests-preview[_ngcontent-%COMP%] {\n padding: 10px 16px;\n border-top: 1px solid var(--mj-border-default);\n }\n\n .preview-test-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 0;\n font-size: 12px;\n }\n\n .preview-dot[_ngcontent-%COMP%] {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n flex-shrink: 0;\n }\n\n .preview-dot[data-status=\"passed\"][_ngcontent-%COMP%] { background: var(--mj-status-success); }\n .preview-dot[data-status=\"failed\"][_ngcontent-%COMP%] { background: var(--mj-status-error); }\n .preview-dot[data-status=\"error\"][_ngcontent-%COMP%] { background: var(--mj-status-warning); }\n .preview-dot[data-status=\"running\"][_ngcontent-%COMP%] { background: var(--mj-brand-primary); }\n .preview-dot[data-status=\"\"][_ngcontent-%COMP%] { background: var(--mj-text-disabled); }\n\n .preview-test-name[_ngcontent-%COMP%] {\n flex: 1;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .preview-score[_ngcontent-%COMP%] {\n font-weight: 600;\n font-size: 11px;\n min-width: 32px;\n text-align: right;\n }\n\n .preview-score.good[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .preview-score.warn[_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .preview-score.bad[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n\n .preview-bar[_ngcontent-%COMP%] {\n width: 48px;\n height: 4px;\n background: var(--mj-border-default);\n border-radius: 2px;\n overflow: hidden;\n flex-shrink: 0;\n }\n\n .preview-bar-fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: 2px;\n transition: width 0.3s ease;\n }\n\n .good-bg[_ngcontent-%COMP%] { background: var(--mj-status-success); }\n .warn-bg[_ngcontent-%COMP%] { background: var(--mj-status-warning); }\n .bad-bg[_ngcontent-%COMP%] { background: var(--mj-status-error); }\n\n .preview-status[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n min-width: 44px;\n text-align: right;\n }\n\n .preview-status[data-status=\"passed\"][_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .preview-status[data-status=\"failed\"][_ngcontent-%COMP%] { color: var(--mj-status-error); }\n .preview-status[data-status=\"error\"][_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .preview-status[data-status=\"\"][_ngcontent-%COMP%] { color: var(--mj-text-disabled); }\n\n .preview-more[_ngcontent-%COMP%] {\n padding: 4px 0 0;\n font-size: 11px;\n color: var(--mj-text-disabled);\n font-style: italic;\n }\n\n \n\n .card-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n padding: 12px 16px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n }\n\n \n\n .empty-state[_ngcontent-%COMP%] {\n padding: 80px 40px;\n text-align: center;\n }\n\n .empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-text-disabled);\n margin-bottom: 16px;\n }\n\n .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--mj-text-muted);\n margin: 0 0 8px 0;\n }\n\n .empty-hint[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-disabled);\n }\n\n \n\n\n\n .slideout-backdrop[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\n z-index: 999;\n animation: _ngcontent-%COMP%_fadeInBackdrop 0.2s ease;\n }\n\n @keyframes _ngcontent-%COMP%_fadeInBackdrop {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .slideout-panel[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n right: -100%;\n height: 100vh;\n background: var(--mj-bg-surface);\n box-shadow: var(--mj-shadow-lg);\n z-index: 1000;\n transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n }\n\n .slideout-panel.open[_ngcontent-%COMP%] {\n right: 0;\n }\n\n .slideout-resize-handle[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n width: 5px;\n height: 100%;\n cursor: col-resize;\n background: transparent;\n z-index: 10;\n transition: background 0.2s;\n }\n\n .slideout-resize-handle[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .slideout-resize-handle[_ngcontent-%COMP%]:active {\n background: color-mix(in srgb, var(--mj-brand-primary) 50%, transparent);\n }\n\n .slideout-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n }\n\n .slideout-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .slideout-title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .slideout-title-icon[_ngcontent-%COMP%] {\n font-size: 18px;\n color: var(--mj-brand-primary);\n }\n\n .slideout-title-text[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .slideout-close-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-muted);\n cursor: pointer;\n font-size: 14px;\n transition: all 0.15s ease;\n }\n\n .slideout-close-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n }\n\n \n\n .slideout-type-toggle[_ngcontent-%COMP%] {\n display: flex;\n gap: 0;\n padding: 16px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .type-toggle-btn[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 10px 16px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .type-toggle-btn[_ngcontent-%COMP%]:first-child {\n border-radius: 8px 0 0 8px;\n border-right: none;\n }\n\n .type-toggle-btn[_ngcontent-%COMP%]:last-child {\n border-radius: 0 8px 8px 0;\n }\n\n .type-toggle-btn.active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .type-toggle-btn[_ngcontent-%COMP%]:hover:not(.active) {\n background: var(--mj-border-default);\n }\n\n \n\n .slideout-error[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 16px 24px 0;\n padding: 12px 16px;\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-bg-surface));\n border-radius: 8px;\n color: var(--mj-status-error);\n font-size: 13px;\n flex-shrink: 0;\n }\n\n .slideout-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n flex-shrink: 0;\n }\n\n \n\n .slideout-body[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 20px 24px;\n }\n\n .form-section[_ngcontent-%COMP%] {\n margin-bottom: 24px;\n }\n\n .form-section-title[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.8px;\n margin-bottom: 14px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .form-group[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n }\n\n .form-label[_ngcontent-%COMP%] {\n display: block;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 6px;\n }\n\n .form-required[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n }\n\n .form-input[_ngcontent-%COMP%], \n .form-textarea[_ngcontent-%COMP%] {\n width: 100%;\n padding: 10px 14px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n font-size: 13px;\n color: var(--mj-text-primary);\n transition: border-color 0.2s ease;\n outline: none;\n box-sizing: border-box;\n font-family: inherit;\n }\n\n .form-input[_ngcontent-%COMP%]:focus, \n .form-textarea[_ngcontent-%COMP%]:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .form-input[_ngcontent-%COMP%]::placeholder, \n .form-textarea[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-disabled);\n }\n\n .form-textarea[_ngcontent-%COMP%] {\n resize: vertical;\n min-height: 80px;\n }\n\n .form-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n }\n\n .form-hint[_ngcontent-%COMP%] {\n display: block;\n font-size: 11px;\n color: var(--mj-text-disabled);\n margin-top: 4px;\n }\n\n \n\n .slideout-footer[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n gap: 10px;\n padding: 16px 24px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n }\n\n .slideout-footer[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n min-width: 100px;\n justify-content: center;\n }\n\n .slideout-footer[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n transform: none;\n box-shadow: none;\n }\n\n \n\n mark.search-highlight {\n background: color-mix(in srgb, var(--mj-status-warning) 20%, var(--mj-bg-surface));\n color: inherit;\n padding: 1px 2px;\n border-radius: 2px;\n font-weight: 700;\n }\n\n \n\n\n\n @media (max-width: 1200px) {\n .card-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n }\n\n @media (max-width: 900px) {\n .sidebar[_ngcontent-%COMP%] {\n display: none;\n }\n\n .toolbar[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n }\n\n .toolbar-left[_ngcontent-%COMP%], .toolbar-right[_ngcontent-%COMP%] {\n flex-wrap: wrap;\n justify-content: center;\n }\n }\n\n @media (max-width: 600px) {\n .content-area[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .card-stats[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .slideout-panel[_ngcontent-%COMP%] {\n width: 100% !important;\n }\n\n .slideout-resize-handle[_ngcontent-%COMP%] {\n display: none;\n }\n\n .form-row[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n }"], changeDetection: 0 });
|
|
1687
|
+
i0.ɵɵadvance();
|
|
1688
|
+
i0.ɵɵconditional(ctx.testingDialogService.IsPanelOpen ? 8 : -1);
|
|
1689
|
+
} }, dependencies: [i3.NgTemplateOutlet, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.DefaultValueAccessor, i4.NumberValueAccessor, i4.SelectControlValueAccessor, i4.NgControlStatus, i4.MinValidator, i4.NgModel, i1.TestRunDialogComponent, i5.MjSlidePanelComponent, i6.LoadingComponent, i7.HighlightSearchPipe], styles: ["\n\n\n\n\n [_nghost-%COMP%] {\n display: block;\n height: 100%;\n width: 100%;\n }\n\n \n\n .explorer-loading[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n min-height: 400px;\n background: var(--mj-bg-surface-sunken);\n }\n\n \n\n .explorer-layout[_ngcontent-%COMP%] {\n display: flex;\n height: 100%;\n background: var(--mj-bg-surface-sunken);\n overflow: hidden;\n }\n\n \n\n\n\n .sidebar[_ngcontent-%COMP%] {\n width: 280px;\n min-width: 280px;\n background: var(--mj-bg-surface);\n border-right: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n transition: width 0.2s ease, min-width 0.2s ease;\n }\n\n .sidebar.collapsed[_ngcontent-%COMP%] {\n width: 48px;\n min-width: 48px;\n }\n\n .sidebar-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .sidebar-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 15px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .sidebar.collapsed[_ngcontent-%COMP%] .sidebar-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n display: none;\n }\n\n .sidebar-toggle[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-muted);\n cursor: pointer;\n font-size: 11px;\n transition: all 0.15s ease;\n }\n\n .sidebar-toggle[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .sidebar-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .sidebar-section[_ngcontent-%COMP%] {\n margin-bottom: 8px;\n }\n\n .sidebar-section-title[_ngcontent-%COMP%] {\n padding: 8px 16px 4px;\n font-size: 10px;\n font-weight: 700;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.8px;\n }\n\n .sidebar-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n font-size: 13px;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n overflow: hidden;\n }\n\n .sidebar-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .sidebar-item.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-weight: 600;\n }\n\n .sidebar-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n width: 16px;\n text-align: center;\n flex-shrink: 0;\n }\n\n .sidebar-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:not(.sidebar-count) {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .sidebar-count[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-disabled);\n font-weight: 500;\n flex-shrink: 0;\n }\n\n .sidebar-item.active[_ngcontent-%COMP%] .sidebar-count[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .sidebar-empty[_ngcontent-%COMP%] {\n padding: 8px 16px;\n font-size: 12px;\n color: var(--mj-text-disabled);\n font-style: italic;\n }\n\n \n\n .suite-tree-item[_ngcontent-%COMP%] {\n gap: 6px;\n }\n\n .tree-toggle[_ngcontent-%COMP%] {\n width: 18px;\n height: 18px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: none;\n color: var(--mj-text-disabled);\n cursor: pointer;\n font-size: 9px;\n flex-shrink: 0;\n border-radius: 4px;\n padding: 0;\n }\n\n .tree-toggle[_ngcontent-%COMP%]:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-muted);\n }\n\n .tree-name[_ngcontent-%COMP%] {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n \n\n\n\n .main-content[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n \n\n .toolbar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n padding: 16px 24px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .toolbar-left[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n min-width: 0;\n }\n\n .toolbar-search-box[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 14px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n min-width: 240px;\n max-width: 360px;\n flex: 1;\n transition: border-color 0.2s ease;\n }\n\n .toolbar-search-box[_ngcontent-%COMP%]:focus-within {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface);\n }\n\n .toolbar-search-box[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-disabled);\n font-size: 13px;\n }\n\n .toolbar-search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n flex: 1;\n border: none;\n background: transparent;\n outline: none;\n font-size: 13px;\n color: var(--mj-text-primary);\n }\n\n .toolbar-search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-disabled);\n }\n\n .clear-search[_ngcontent-%COMP%] {\n border: none;\n background: transparent;\n color: var(--mj-text-disabled);\n cursor: pointer;\n padding: 2px 4px;\n border-radius: 4px;\n }\n\n .clear-search[_ngcontent-%COMP%]:hover {\n color: var(--mj-text-muted);\n background: var(--mj-border-default);\n }\n\n .status-chips[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n }\n\n .chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 6px 14px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid transparent;\n border-radius: 16px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .chip[_ngcontent-%COMP%]:hover {\n background: var(--mj-border-default);\n }\n\n .chip.active[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n }\n\n .chip.active[data-status=\"active\"][_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n border-color: var(--mj-status-success);\n }\n\n .chip.active[data-status=\"pending\"][_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n border-color: var(--mj-status-warning);\n }\n\n .chip.active[data-status=\"disabled\"][_ngcontent-%COMP%] {\n background: var(--mj-text-muted);\n border-color: var(--mj-text-muted);\n }\n\n .toolbar-right[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-shrink: 0;\n }\n\n .result-count[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-disabled);\n font-weight: 500;\n white-space: nowrap;\n }\n\n .view-toggle[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-btn[_ngcontent-%COMP%] {\n width: 34px;\n height: 34px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--mj-bg-surface);\n border: none;\n color: var(--mj-text-disabled);\n cursor: pointer;\n font-size: 13px;\n transition: all 0.15s ease;\n }\n\n .view-btn[_ngcontent-%COMP%]:not(:last-child) {\n border-right: 1px solid var(--mj-border-default);\n }\n\n .view-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n .view-btn.active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n \n\n .btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 9px 16px;\n border: none;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n }\n\n .btn-primary[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .btn-primary[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: var(--mj-shadow-md);\n }\n\n .btn-secondary[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n color: var(--mj-text-muted);\n border: 1px solid var(--mj-border-default);\n }\n\n .btn-secondary[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-sm[_ngcontent-%COMP%] {\n padding: 6px 12px;\n font-size: 12px;\n }\n\n \n\n .toggle-bar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .toggle-group[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .toggle-btn[_ngcontent-%COMP%] {\n padding: 6px 16px;\n background: var(--mj-bg-surface);\n border: none;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .toggle-btn[_ngcontent-%COMP%]:not(:last-child) {\n border-right: 1px solid var(--mj-border-default);\n }\n\n .toggle-btn.active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .toggle-btn[_ngcontent-%COMP%]:hover:not(.active) {\n background: var(--mj-bg-surface-sunken);\n }\n\n .sort-indicator[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n }\n\n .sort-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-text-muted);\n cursor: pointer;\n }\n\n .sort-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .sort-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n }\n\n \n\n .content-area[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n }\n\n .content-section[_ngcontent-%COMP%] {\n margin-bottom: 32px;\n }\n\n .section-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 16px 0;\n font-size: 16px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 14px;\n }\n\n .section-count[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n \n\n .card-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));\n gap: 16px;\n }\n\n \n\n .suite-card[_ngcontent-%COMP%], \n .test-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n overflow: hidden;\n transition: all 0.2s ease;\n }\n\n .suite-card[_ngcontent-%COMP%]:hover, \n .test-card[_ngcontent-%COMP%]:hover {\n border-color: color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n box-shadow: var(--mj-shadow-md);\n }\n\n .card-header[_ngcontent-%COMP%] {\n padding: 16px 16px 12px;\n }\n\n .card-title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 6px;\n }\n\n .card-icon[_ngcontent-%COMP%] {\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .suite-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .test-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .card-name[_ngcontent-%COMP%] {\n flex: 1;\n font-size: 14px;\n font-weight: 700;\n color: var(--mj-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .status-badge[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 700;\n padding: 3px 8px;\n border-radius: 4px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n flex-shrink: 0;\n }\n\n .status-badge[data-status=\"active\"][_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n }\n\n .status-badge[data-status=\"pending\"][_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n color: var(--mj-status-warning);\n }\n\n .status-badge[data-status=\"disabled\"][_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n .card-subtitle[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n margin-bottom: 6px;\n }\n\n .dot-sep[_ngcontent-%COMP%] {\n display: inline-block;\n width: 3px;\n height: 3px;\n background: var(--mj-text-disabled);\n border-radius: 50%;\n vertical-align: middle;\n margin: 0 6px;\n }\n\n .card-description[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-muted);\n line-height: 1.5;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta-row[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n margin-top: 8px;\n }\n\n .meta-item[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .meta-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-disabled);\n }\n\n .card-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 8px;\n }\n\n .tag[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 600;\n padding: 2px 8px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n border-radius: 4px;\n }\n\n .tag-more[_ngcontent-%COMP%] {\n background: var(--mj-border-default);\n color: var(--mj-text-disabled);\n }\n\n \n\n .card-stats[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 1px;\n background: var(--mj-border-default);\n border-top: 1px solid var(--mj-border-default);\n }\n\n .stat[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n padding: 10px 12px;\n text-align: center;\n }\n\n .stat-label[_ngcontent-%COMP%] {\n display: block;\n font-size: 10px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.3px;\n margin-bottom: 2px;\n }\n\n .stat-value[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .stat-value.good[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .stat-value.warn[_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .stat-value.bad[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n\n .status-text[data-status=\"passed\"][_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .status-text[data-status=\"failed\"][_ngcontent-%COMP%] { color: var(--mj-status-error); }\n .status-text[data-status=\"error\"][_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .status-text[data-status=\"running\"][_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n .status-text[data-status=\"pending\"][_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .status-text[data-status=\"skipped\"][_ngcontent-%COMP%] { color: var(--mj-text-muted); }\n\n \n\n .card-tests-preview[_ngcontent-%COMP%] {\n padding: 10px 16px;\n border-top: 1px solid var(--mj-border-default);\n }\n\n .preview-test-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 0;\n font-size: 12px;\n }\n\n .preview-dot[_ngcontent-%COMP%] {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n flex-shrink: 0;\n }\n\n .preview-dot[data-status=\"passed\"][_ngcontent-%COMP%] { background: var(--mj-status-success); }\n .preview-dot[data-status=\"failed\"][_ngcontent-%COMP%] { background: var(--mj-status-error); }\n .preview-dot[data-status=\"error\"][_ngcontent-%COMP%] { background: var(--mj-status-warning); }\n .preview-dot[data-status=\"running\"][_ngcontent-%COMP%] { background: var(--mj-brand-primary); }\n .preview-dot[data-status=\"\"][_ngcontent-%COMP%] { background: var(--mj-text-disabled); }\n\n .preview-test-name[_ngcontent-%COMP%] {\n flex: 1;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .preview-score[_ngcontent-%COMP%] {\n font-weight: 600;\n font-size: 11px;\n min-width: 32px;\n text-align: right;\n }\n\n .preview-score.good[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .preview-score.warn[_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .preview-score.bad[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n\n .preview-bar[_ngcontent-%COMP%] {\n width: 48px;\n height: 4px;\n background: var(--mj-border-default);\n border-radius: 2px;\n overflow: hidden;\n flex-shrink: 0;\n }\n\n .preview-bar-fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: 2px;\n transition: width 0.3s ease;\n }\n\n .good-bg[_ngcontent-%COMP%] { background: var(--mj-status-success); }\n .warn-bg[_ngcontent-%COMP%] { background: var(--mj-status-warning); }\n .bad-bg[_ngcontent-%COMP%] { background: var(--mj-status-error); }\n\n .preview-status[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n min-width: 44px;\n text-align: right;\n }\n\n .preview-status[data-status=\"passed\"][_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .preview-status[data-status=\"failed\"][_ngcontent-%COMP%] { color: var(--mj-status-error); }\n .preview-status[data-status=\"error\"][_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .preview-status[data-status=\"\"][_ngcontent-%COMP%] { color: var(--mj-text-disabled); }\n\n .preview-more[_ngcontent-%COMP%] {\n padding: 4px 0 0;\n font-size: 11px;\n color: var(--mj-text-disabled);\n font-style: italic;\n }\n\n \n\n .card-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n padding: 12px 16px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n }\n\n \n\n .empty-state[_ngcontent-%COMP%] {\n padding: 80px 40px;\n text-align: center;\n }\n\n .empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-text-disabled);\n margin-bottom: 16px;\n }\n\n .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--mj-text-muted);\n margin: 0 0 8px 0;\n }\n\n .empty-hint[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-disabled);\n }\n\n \n\n\n\n .slideout-backdrop[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\n z-index: 999;\n animation: _ngcontent-%COMP%_fadeInBackdrop 0.2s ease;\n }\n\n @keyframes _ngcontent-%COMP%_fadeInBackdrop {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .slideout-panel[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n right: -100%;\n height: 100vh;\n background: var(--mj-bg-surface);\n box-shadow: var(--mj-shadow-lg);\n z-index: 1000;\n transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n }\n\n .slideout-panel.open[_ngcontent-%COMP%] {\n right: 0;\n }\n\n .slideout-resize-handle[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n width: 5px;\n height: 100%;\n cursor: col-resize;\n background: transparent;\n z-index: 10;\n transition: background 0.2s;\n }\n\n .slideout-resize-handle[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .slideout-resize-handle[_ngcontent-%COMP%]:active {\n background: color-mix(in srgb, var(--mj-brand-primary) 50%, transparent);\n }\n\n .slideout-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n }\n\n .slideout-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .slideout-title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .slideout-title-icon[_ngcontent-%COMP%] {\n font-size: 18px;\n color: var(--mj-brand-primary);\n }\n\n .slideout-title-text[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .slideout-close-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-muted);\n cursor: pointer;\n font-size: 14px;\n transition: all 0.15s ease;\n }\n\n .slideout-close-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n }\n\n \n\n .slideout-type-toggle[_ngcontent-%COMP%] {\n display: flex;\n gap: 0;\n padding: 16px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .type-toggle-btn[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 10px 16px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .type-toggle-btn[_ngcontent-%COMP%]:first-child {\n border-radius: 8px 0 0 8px;\n border-right: none;\n }\n\n .type-toggle-btn[_ngcontent-%COMP%]:last-child {\n border-radius: 0 8px 8px 0;\n }\n\n .type-toggle-btn.active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .type-toggle-btn[_ngcontent-%COMP%]:hover:not(.active) {\n background: var(--mj-border-default);\n }\n\n \n\n .slideout-error[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 16px 24px 0;\n padding: 12px 16px;\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-bg-surface));\n border-radius: 8px;\n color: var(--mj-status-error);\n font-size: 13px;\n flex-shrink: 0;\n }\n\n .slideout-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n flex-shrink: 0;\n }\n\n \n\n .slideout-body[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 20px 24px;\n }\n\n .form-section[_ngcontent-%COMP%] {\n margin-bottom: 24px;\n }\n\n .form-section-title[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.8px;\n margin-bottom: 14px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .form-group[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n }\n\n .form-label[_ngcontent-%COMP%] {\n display: block;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 6px;\n }\n\n .form-required[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n }\n\n .form-input[_ngcontent-%COMP%], \n .form-textarea[_ngcontent-%COMP%] {\n width: 100%;\n padding: 10px 14px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n font-size: 13px;\n color: var(--mj-text-primary);\n transition: border-color 0.2s ease;\n outline: none;\n box-sizing: border-box;\n font-family: inherit;\n }\n\n .form-input[_ngcontent-%COMP%]:focus, \n .form-textarea[_ngcontent-%COMP%]:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .form-input[_ngcontent-%COMP%]::placeholder, \n .form-textarea[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-disabled);\n }\n\n .form-textarea[_ngcontent-%COMP%] {\n resize: vertical;\n min-height: 80px;\n }\n\n .form-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n }\n\n .form-hint[_ngcontent-%COMP%] {\n display: block;\n font-size: 11px;\n color: var(--mj-text-disabled);\n margin-top: 4px;\n }\n\n \n\n .slideout-footer[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n gap: 10px;\n padding: 16px 24px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n }\n\n .slideout-footer[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n min-width: 100px;\n justify-content: center;\n }\n\n .slideout-footer[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n transform: none;\n box-shadow: none;\n }\n\n \n\n mark.search-highlight {\n background: color-mix(in srgb, var(--mj-status-warning) 20%, var(--mj-bg-surface));\n color: inherit;\n padding: 1px 2px;\n border-radius: 2px;\n font-weight: 700;\n }\n\n \n\n\n\n @media (max-width: 1200px) {\n .card-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n }\n\n @media (max-width: 900px) {\n .sidebar[_ngcontent-%COMP%] {\n display: none;\n }\n\n .toolbar[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n }\n\n .toolbar-left[_ngcontent-%COMP%], .toolbar-right[_ngcontent-%COMP%] {\n flex-wrap: wrap;\n justify-content: center;\n }\n }\n\n @media (max-width: 600px) {\n .content-area[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .card-stats[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .slideout-panel[_ngcontent-%COMP%] {\n width: 100% !important;\n }\n\n .slideout-resize-handle[_ngcontent-%COMP%] {\n display: none;\n }\n\n .form-row[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n }"], changeDetection: 0 });
|
|
1666
1690
|
}
|
|
1667
1691
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TestingExplorerComponent, [{
|
|
1668
1692
|
type: Component,
|
|
@@ -2217,7 +2241,24 @@ export class TestingExplorerComponent {
|
|
|
2217
2241
|
</div>
|
|
2218
2242
|
}
|
|
2219
2243
|
</div>
|
|
2244
|
+
|
|
2245
|
+
<!-- Slide Panel for Test Execution -->
|
|
2246
|
+
@if (testingDialogService.IsPanelOpen) {
|
|
2247
|
+
<mj-slide-panel
|
|
2248
|
+
Mode="slide"
|
|
2249
|
+
Title="Run Test"
|
|
2250
|
+
[Resizable]="true"
|
|
2251
|
+
(Closed)="OnPanelClosed()">
|
|
2252
|
+
<app-test-run-dialog
|
|
2253
|
+
[PanelMode]="true"
|
|
2254
|
+
[selectedTestId]="testingDialogService.PanelOptions?.testId ?? null"
|
|
2255
|
+
[selectedSuiteId]="testingDialogService.PanelOptions?.suiteId ?? null"
|
|
2256
|
+
[runMode]="testingDialogService.PanelOptions?.mode ?? 'test'"
|
|
2257
|
+
(PanelClose)="OnPanelClosed()">
|
|
2258
|
+
</app-test-run-dialog>
|
|
2259
|
+
</mj-slide-panel>
|
|
2260
|
+
}
|
|
2220
2261
|
`, styles: ["\n /* ==========================================\n Testing Explorer Component\n ========================================== */\n\n :host {\n display: block;\n height: 100%;\n width: 100%;\n }\n\n /* Loading */\n .explorer-loading {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n min-height: 400px;\n background: var(--mj-bg-surface-sunken);\n }\n\n /* Layout */\n .explorer-layout {\n display: flex;\n height: 100%;\n background: var(--mj-bg-surface-sunken);\n overflow: hidden;\n }\n\n /* ==========================================\n Sidebar\n ========================================== */\n .sidebar {\n width: 280px;\n min-width: 280px;\n background: var(--mj-bg-surface);\n border-right: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n transition: width 0.2s ease, min-width 0.2s ease;\n }\n\n .sidebar.collapsed {\n width: 48px;\n min-width: 48px;\n }\n\n .sidebar-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .sidebar-header h3 {\n margin: 0;\n font-size: 15px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .sidebar.collapsed .sidebar-header h3 {\n display: none;\n }\n\n .sidebar-toggle {\n width: 28px;\n height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-muted);\n cursor: pointer;\n font-size: 11px;\n transition: all 0.15s ease;\n }\n\n .sidebar-toggle:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .sidebar-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .sidebar-section {\n margin-bottom: 8px;\n }\n\n .sidebar-section-title {\n padding: 8px 16px 4px;\n font-size: 10px;\n font-weight: 700;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.8px;\n }\n\n .sidebar-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n font-size: 13px;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n overflow: hidden;\n }\n\n .sidebar-item:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .sidebar-item.active {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-weight: 600;\n }\n\n .sidebar-item i {\n font-size: 12px;\n width: 16px;\n text-align: center;\n flex-shrink: 0;\n }\n\n .sidebar-item span:not(.sidebar-count) {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .sidebar-count {\n font-size: 11px;\n color: var(--mj-text-disabled);\n font-weight: 500;\n flex-shrink: 0;\n }\n\n .sidebar-item.active .sidebar-count {\n color: var(--mj-brand-primary);\n }\n\n .sidebar-empty {\n padding: 8px 16px;\n font-size: 12px;\n color: var(--mj-text-disabled);\n font-style: italic;\n }\n\n /* Tree nodes */\n .suite-tree-item {\n gap: 6px;\n }\n\n .tree-toggle {\n width: 18px;\n height: 18px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: none;\n color: var(--mj-text-disabled);\n cursor: pointer;\n font-size: 9px;\n flex-shrink: 0;\n border-radius: 4px;\n padding: 0;\n }\n\n .tree-toggle:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-muted);\n }\n\n .tree-name {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n /* ==========================================\n Main Content\n ========================================== */\n .main-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n /* Toolbar */\n .toolbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n padding: 16px 24px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .toolbar-left {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n min-width: 0;\n }\n\n .toolbar-search-box {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 14px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n min-width: 240px;\n max-width: 360px;\n flex: 1;\n transition: border-color 0.2s ease;\n }\n\n .toolbar-search-box:focus-within {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface);\n }\n\n .toolbar-search-box i {\n color: var(--mj-text-disabled);\n font-size: 13px;\n }\n\n .toolbar-search-box input {\n flex: 1;\n border: none;\n background: transparent;\n outline: none;\n font-size: 13px;\n color: var(--mj-text-primary);\n }\n\n .toolbar-search-box input::placeholder {\n color: var(--mj-text-disabled);\n }\n\n .clear-search {\n border: none;\n background: transparent;\n color: var(--mj-text-disabled);\n cursor: pointer;\n padding: 2px 4px;\n border-radius: 4px;\n }\n\n .clear-search:hover {\n color: var(--mj-text-muted);\n background: var(--mj-border-default);\n }\n\n .status-chips {\n display: flex;\n gap: 6px;\n }\n\n .chip {\n display: inline-flex;\n align-items: center;\n padding: 6px 14px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid transparent;\n border-radius: 16px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .chip:hover {\n background: var(--mj-border-default);\n }\n\n .chip.active {\n color: var(--mj-text-inverse);\n }\n\n .chip.active[data-status=\"active\"] {\n background: var(--mj-status-success);\n border-color: var(--mj-status-success);\n }\n\n .chip.active[data-status=\"pending\"] {\n background: var(--mj-status-warning);\n border-color: var(--mj-status-warning);\n }\n\n .chip.active[data-status=\"disabled\"] {\n background: var(--mj-text-muted);\n border-color: var(--mj-text-muted);\n }\n\n .toolbar-right {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-shrink: 0;\n }\n\n .result-count {\n font-size: 12px;\n color: var(--mj-text-disabled);\n font-weight: 500;\n white-space: nowrap;\n }\n\n .view-toggle {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-btn {\n width: 34px;\n height: 34px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--mj-bg-surface);\n border: none;\n color: var(--mj-text-disabled);\n cursor: pointer;\n font-size: 13px;\n transition: all 0.15s ease;\n }\n\n .view-btn:not(:last-child) {\n border-right: 1px solid var(--mj-border-default);\n }\n\n .view-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n .view-btn.active {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n /* Buttons */\n .btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 9px 16px;\n border: none;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n }\n\n .btn-primary {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .btn-primary:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: var(--mj-shadow-md);\n }\n\n .btn-secondary {\n background: var(--mj-bg-surface);\n color: var(--mj-text-muted);\n border: 1px solid var(--mj-border-default);\n }\n\n .btn-secondary:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-sm {\n padding: 6px 12px;\n font-size: 12px;\n }\n\n /* Toggle Bar */\n .toggle-bar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .toggle-group {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .toggle-btn {\n padding: 6px 16px;\n background: var(--mj-bg-surface);\n border: none;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .toggle-btn:not(:last-child) {\n border-right: 1px solid var(--mj-border-default);\n }\n\n .toggle-btn.active {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .toggle-btn:hover:not(.active) {\n background: var(--mj-bg-surface-sunken);\n }\n\n .sort-indicator {\n display: flex;\n align-items: center;\n }\n\n .sort-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-text-muted);\n cursor: pointer;\n }\n\n .sort-btn:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .sort-btn i {\n font-size: 11px;\n }\n\n /* Content Area */\n .content-area {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n }\n\n .content-section {\n margin-bottom: 32px;\n }\n\n .section-title {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 16px 0;\n font-size: 16px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .section-title i {\n color: var(--mj-brand-primary);\n font-size: 14px;\n }\n\n .section-count {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n /* Card Grid */\n .card-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));\n gap: 16px;\n }\n\n /* Suite Card */\n .suite-card,\n .test-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n overflow: hidden;\n transition: all 0.2s ease;\n }\n\n .suite-card:hover,\n .test-card:hover {\n border-color: color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n box-shadow: var(--mj-shadow-md);\n }\n\n .card-header {\n padding: 16px 16px 12px;\n }\n\n .card-title-row {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 6px;\n }\n\n .card-icon {\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .suite-icon {\n color: var(--mj-brand-primary);\n }\n\n .test-icon {\n color: var(--mj-brand-primary);\n }\n\n .card-name {\n flex: 1;\n font-size: 14px;\n font-weight: 700;\n color: var(--mj-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .status-badge {\n font-size: 10px;\n font-weight: 700;\n padding: 3px 8px;\n border-radius: 4px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n flex-shrink: 0;\n }\n\n .status-badge[data-status=\"active\"] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n }\n\n .status-badge[data-status=\"pending\"] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n color: var(--mj-status-warning);\n }\n\n .status-badge[data-status=\"disabled\"] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n .card-subtitle {\n font-size: 12px;\n color: var(--mj-text-muted);\n margin-bottom: 6px;\n }\n\n .dot-sep {\n display: inline-block;\n width: 3px;\n height: 3px;\n background: var(--mj-text-disabled);\n border-radius: 50%;\n vertical-align: middle;\n margin: 0 6px;\n }\n\n .card-description {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-muted);\n line-height: 1.5;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta-row {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n margin-top: 8px;\n }\n\n .meta-item {\n font-size: 11px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .meta-item i {\n font-size: 10px;\n color: var(--mj-text-disabled);\n }\n\n .card-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 8px;\n }\n\n .tag {\n font-size: 10px;\n font-weight: 600;\n padding: 2px 8px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n border-radius: 4px;\n }\n\n .tag-more {\n background: var(--mj-border-default);\n color: var(--mj-text-disabled);\n }\n\n /* Card Stats */\n .card-stats {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 1px;\n background: var(--mj-border-default);\n border-top: 1px solid var(--mj-border-default);\n }\n\n .stat {\n background: var(--mj-bg-surface-card);\n padding: 10px 12px;\n text-align: center;\n }\n\n .stat-label {\n display: block;\n font-size: 10px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.3px;\n margin-bottom: 2px;\n }\n\n .stat-value {\n font-size: 14px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .stat-value.good { color: var(--mj-status-success); }\n .stat-value.warn { color: var(--mj-status-warning); }\n .stat-value.bad { color: var(--mj-status-error); }\n\n .status-text[data-status=\"passed\"] { color: var(--mj-status-success); }\n .status-text[data-status=\"failed\"] { color: var(--mj-status-error); }\n .status-text[data-status=\"error\"] { color: var(--mj-status-warning); }\n .status-text[data-status=\"running\"] { color: var(--mj-brand-primary); }\n .status-text[data-status=\"pending\"] { color: var(--mj-status-warning); }\n .status-text[data-status=\"skipped\"] { color: var(--mj-text-muted); }\n\n /* Suite Tests Preview */\n .card-tests-preview {\n padding: 10px 16px;\n border-top: 1px solid var(--mj-border-default);\n }\n\n .preview-test-row {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 0;\n font-size: 12px;\n }\n\n .preview-dot {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n flex-shrink: 0;\n }\n\n .preview-dot[data-status=\"passed\"] { background: var(--mj-status-success); }\n .preview-dot[data-status=\"failed\"] { background: var(--mj-status-error); }\n .preview-dot[data-status=\"error\"] { background: var(--mj-status-warning); }\n .preview-dot[data-status=\"running\"] { background: var(--mj-brand-primary); }\n .preview-dot[data-status=\"\"] { background: var(--mj-text-disabled); }\n\n .preview-test-name {\n flex: 1;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .preview-score {\n font-weight: 600;\n font-size: 11px;\n min-width: 32px;\n text-align: right;\n }\n\n .preview-score.good { color: var(--mj-status-success); }\n .preview-score.warn { color: var(--mj-status-warning); }\n .preview-score.bad { color: var(--mj-status-error); }\n\n .preview-bar {\n width: 48px;\n height: 4px;\n background: var(--mj-border-default);\n border-radius: 2px;\n overflow: hidden;\n flex-shrink: 0;\n }\n\n .preview-bar-fill {\n height: 100%;\n border-radius: 2px;\n transition: width 0.3s ease;\n }\n\n .good-bg { background: var(--mj-status-success); }\n .warn-bg { background: var(--mj-status-warning); }\n .bad-bg { background: var(--mj-status-error); }\n\n .preview-status {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n min-width: 44px;\n text-align: right;\n }\n\n .preview-status[data-status=\"passed\"] { color: var(--mj-status-success); }\n .preview-status[data-status=\"failed\"] { color: var(--mj-status-error); }\n .preview-status[data-status=\"error\"] { color: var(--mj-status-warning); }\n .preview-status[data-status=\"\"] { color: var(--mj-text-disabled); }\n\n .preview-more {\n padding: 4px 0 0;\n font-size: 11px;\n color: var(--mj-text-disabled);\n font-style: italic;\n }\n\n /* Card Actions */\n .card-actions {\n display: flex;\n gap: 8px;\n padding: 12px 16px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n }\n\n /* Empty State */\n .empty-state {\n padding: 80px 40px;\n text-align: center;\n }\n\n .empty-state i {\n font-size: 48px;\n color: var(--mj-text-disabled);\n margin-bottom: 16px;\n }\n\n .empty-state p {\n font-size: 16px;\n color: var(--mj-text-muted);\n margin: 0 0 8px 0;\n }\n\n .empty-hint {\n font-size: 13px;\n color: var(--mj-text-disabled);\n }\n\n /* ==========================================\n Slideout Panel\n ========================================== */\n .slideout-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\n z-index: 999;\n animation: fadeInBackdrop 0.2s ease;\n }\n\n @keyframes fadeInBackdrop {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .slideout-panel {\n position: fixed;\n top: 0;\n right: -100%;\n height: 100vh;\n background: var(--mj-bg-surface);\n box-shadow: var(--mj-shadow-lg);\n z-index: 1000;\n transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n }\n\n .slideout-panel.open {\n right: 0;\n }\n\n .slideout-resize-handle {\n position: absolute;\n top: 0;\n left: 0;\n width: 5px;\n height: 100%;\n cursor: col-resize;\n background: transparent;\n z-index: 10;\n transition: background 0.2s;\n }\n\n .slideout-resize-handle:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .slideout-resize-handle:active {\n background: color-mix(in srgb, var(--mj-brand-primary) 50%, transparent);\n }\n\n .slideout-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n }\n\n .slideout-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .slideout-title-row {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .slideout-title-icon {\n font-size: 18px;\n color: var(--mj-brand-primary);\n }\n\n .slideout-title-text {\n font-size: 18px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .slideout-close-btn {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-muted);\n cursor: pointer;\n font-size: 14px;\n transition: all 0.15s ease;\n }\n\n .slideout-close-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n }\n\n /* Type Toggle */\n .slideout-type-toggle {\n display: flex;\n gap: 0;\n padding: 16px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .type-toggle-btn {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 10px 16px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .type-toggle-btn:first-child {\n border-radius: 8px 0 0 8px;\n border-right: none;\n }\n\n .type-toggle-btn:last-child {\n border-radius: 0 8px 8px 0;\n }\n\n .type-toggle-btn.active {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .type-toggle-btn:hover:not(.active) {\n background: var(--mj-border-default);\n }\n\n /* Error Banner */\n .slideout-error {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 16px 24px 0;\n padding: 12px 16px;\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-bg-surface));\n border-radius: 8px;\n color: var(--mj-status-error);\n font-size: 13px;\n flex-shrink: 0;\n }\n\n .slideout-error i {\n font-size: 14px;\n flex-shrink: 0;\n }\n\n /* Slideout Body */\n .slideout-body {\n flex: 1;\n overflow-y: auto;\n padding: 20px 24px;\n }\n\n .form-section {\n margin-bottom: 24px;\n }\n\n .form-section-title {\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.8px;\n margin-bottom: 14px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .form-group {\n margin-bottom: 16px;\n }\n\n .form-label {\n display: block;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 6px;\n }\n\n .form-required {\n color: var(--mj-status-error);\n }\n\n .form-input,\n .form-textarea {\n width: 100%;\n padding: 10px 14px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n font-size: 13px;\n color: var(--mj-text-primary);\n transition: border-color 0.2s ease;\n outline: none;\n box-sizing: border-box;\n font-family: inherit;\n }\n\n .form-input:focus,\n .form-textarea:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .form-input::placeholder,\n .form-textarea::placeholder {\n color: var(--mj-text-disabled);\n }\n\n .form-textarea {\n resize: vertical;\n min-height: 80px;\n }\n\n .form-row {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n }\n\n .form-hint {\n display: block;\n font-size: 11px;\n color: var(--mj-text-disabled);\n margin-top: 4px;\n }\n\n /* Slideout Footer */\n .slideout-footer {\n display: flex;\n justify-content: flex-end;\n gap: 10px;\n padding: 16px 24px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n }\n\n .slideout-footer .btn {\n min-width: 100px;\n justify-content: center;\n }\n\n .slideout-footer .btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n transform: none;\n box-shadow: none;\n }\n\n /* Search Highlight */\n ::ng-deep mark.search-highlight {\n background: color-mix(in srgb, var(--mj-status-warning) 20%, var(--mj-bg-surface));\n color: inherit;\n padding: 1px 2px;\n border-radius: 2px;\n font-weight: 700;\n }\n\n /* ==========================================\n Responsive\n ========================================== */\n @media (max-width: 1200px) {\n .card-grid {\n grid-template-columns: 1fr;\n }\n }\n\n @media (max-width: 900px) {\n .sidebar {\n display: none;\n }\n\n .toolbar {\n flex-direction: column;\n align-items: stretch;\n }\n\n .toolbar-left, .toolbar-right {\n flex-wrap: wrap;\n justify-content: center;\n }\n }\n\n @media (max-width: 600px) {\n .content-area {\n padding: 16px;\n }\n\n .card-stats {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .slideout-panel {\n width: 100% !important;\n }\n\n .slideout-resize-handle {\n display: none;\n }\n\n .form-row {\n grid-template-columns: 1fr;\n }\n }\n "] }]
|
|
2221
2262
|
}], () => [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i1.TestingDialogService }, { type: i2.TestingInstrumentationService }], null); })();
|
|
2222
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TestingExplorerComponent, { className: "TestingExplorerComponent", filePath: "src/Testing/components/testing-explorer.component.ts", lineNumber:
|
|
2263
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TestingExplorerComponent, { className: "TestingExplorerComponent", filePath: "src/Testing/components/testing-explorer.component.ts", lineNumber: 1822 }); })();
|
|
2223
2264
|
//# sourceMappingURL=testing-explorer.component.js.map
|