@memberjunction/ng-dashboards 6.2.0-edge.1 → 6.2.0-edge.2
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/dialogs/source-type-form.dialog.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js +3 -1
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js.map +1 -1
- package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js +1 -2
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -1
- package/dist/AI/components/rubric-drift-series.d.ts +32 -0
- package/dist/AI/components/rubric-drift-series.d.ts.map +1 -0
- package/dist/AI/components/rubric-drift-series.js +49 -0
- package/dist/AI/components/rubric-drift-series.js.map +1 -0
- package/dist/AI/components/rubric-drift.component.d.ts +42 -0
- package/dist/AI/components/rubric-drift.component.d.ts.map +1 -0
- package/dist/AI/components/rubric-drift.component.js +197 -0
- package/dist/AI/components/rubric-drift.component.js.map +1 -0
- package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +4 -3
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.js +5 -2
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.d.ts +5 -0
- package/dist/Integration/components/connections/connections.component.d.ts.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +151 -136
- package/dist/Integration/components/connections/connections.component.js.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +3 -2
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/feature-pipelines/feature-pipeline.engine.d.ts +11 -0
- package/dist/KnowledgeHub/components/feature-pipelines/feature-pipeline.engine.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/feature-pipelines/feature-pipeline.engine.js +17 -1
- package/dist/KnowledgeHub/components/feature-pipelines/feature-pipeline.engine.js.map +1 -1
- package/dist/KnowledgeHub/components/feature-pipelines/feature-pipelines-resource.component.js +52 -45
- package/dist/KnowledgeHub/components/feature-pipelines/feature-pipelines-resource.component.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.d.ts +11 -0
- package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +47 -10
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/Rubrics/catalog-grid.d.ts +4 -0
- package/dist/Rubrics/catalog-grid.d.ts.map +1 -0
- package/dist/Rubrics/catalog-grid.js +22 -0
- package/dist/Rubrics/catalog-grid.js.map +1 -0
- package/dist/Rubrics/rubrics-dashboard.component.d.ts +31 -0
- package/dist/Rubrics/rubrics-dashboard.component.d.ts.map +1 -0
- package/dist/Rubrics/rubrics-dashboard.component.js +285 -0
- package/dist/Rubrics/rubrics-dashboard.component.js.map +1 -0
- package/dist/Rubrics/rubrics-resource.component.d.ts +13 -0
- package/dist/Rubrics/rubrics-resource.component.d.ts.map +1 -0
- package/dist/Rubrics/rubrics-resource.component.js +42 -0
- package/dist/Rubrics/rubrics-resource.component.js.map +1 -0
- package/dist/Rubrics/scales-dashboard.component.d.ts +34 -0
- package/dist/Rubrics/scales-dashboard.component.d.ts.map +1 -0
- package/dist/Rubrics/scales-dashboard.component.js +204 -0
- package/dist/Rubrics/scales-dashboard.component.js.map +1 -0
- package/dist/Rubrics/scales-resource.component.d.ts +13 -0
- package/dist/Rubrics/scales-resource.component.d.ts.map +1 -0
- package/dist/Rubrics/scales-resource.component.js +42 -0
- package/dist/Rubrics/scales-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-analytics.component.d.ts +15 -0
- package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics.component.js +465 -296
- package/dist/Testing/components/testing-analytics.component.js.map +1 -1
- package/dist/Testing/components/testing-review.component.d.ts +6 -0
- package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-review.component.js +289 -173
- package/dist/Testing/components/testing-review.component.js.map +1 -1
- package/dist/Testing/components/widgets/test-run-detail-panel.component.d.ts +8 -1
- package/dist/Testing/components/widgets/test-run-detail-panel.component.d.ts.map +1 -1
- package/dist/Testing/components/widgets/test-run-detail-panel.component.js +68 -43
- package/dist/Testing/components/widgets/test-run-detail-panel.component.js.map +1 -1
- package/dist/module.d.ts +23 -22
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +7 -0
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +1 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +1 -0
- package/dist/public-api.js.map +1 -1
- package/dist/rubrics-dashboards.module.d.ts +17 -0
- package/dist/rubrics-dashboards.module.d.ts.map +1 -0
- package/dist/rubrics-dashboards.module.js +76 -0
- package/dist/rubrics-dashboards.module.js.map +1 -0
- package/package.json +70 -64
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
1
|
+
import { Component, Input, Output, EventEmitter, inject } from '@angular/core';
|
|
2
|
+
import { TestingInstrumentationService } from '../../services/testing-instrumentation.service';
|
|
3
|
+
import { RubricRunView } from '@memberjunction/ng-testing';
|
|
2
4
|
import * as i0 from "@angular/core";
|
|
3
5
|
import * as i1 from "@angular/forms";
|
|
4
6
|
import * as i2 from "@memberjunction/ng-testing";
|
|
@@ -7,9 +9,9 @@ import * as i4 from "./oracle-breakdown-table.component";
|
|
|
7
9
|
import * as i5 from "@angular/common";
|
|
8
10
|
function TestRunDetailPanelComponent_Conditional_0_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
9
11
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
10
|
-
i0.ɵɵelementStart(0, "button",
|
|
12
|
+
i0.ɵɵelementStart(0, "button", 34);
|
|
11
13
|
i0.ɵɵlistener("click", function TestRunDetailPanelComponent_Conditional_0_Conditional_15_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onClose()); });
|
|
12
|
-
i0.ɵɵelement(1, "i",
|
|
14
|
+
i0.ɵɵelement(1, "i", 35);
|
|
13
15
|
i0.ɵɵelementEnd();
|
|
14
16
|
} }
|
|
15
17
|
function TestRunDetailPanelComponent_Conditional_0_Conditional_31_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -17,9 +19,9 @@ function TestRunDetailPanelComponent_Conditional_0_Conditional_31_Template(rf, c
|
|
|
17
19
|
i0.ɵɵelementStart(0, "div", 13)(1, "div", 14);
|
|
18
20
|
i0.ɵɵtext(2, "Target");
|
|
19
21
|
i0.ɵɵelementEnd();
|
|
20
|
-
i0.ɵɵelementStart(3, "div",
|
|
22
|
+
i0.ɵɵelementStart(3, "div", 36);
|
|
21
23
|
i0.ɵɵlistener("click", function TestRunDetailPanelComponent_Conditional_0_Conditional_31_Template_div_click_3_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onViewTarget()); });
|
|
22
|
-
i0.ɵɵelement(4, "i",
|
|
24
|
+
i0.ɵɵelement(4, "i", 37);
|
|
23
25
|
i0.ɵɵtext(5);
|
|
24
26
|
i0.ɵɵelementEnd()();
|
|
25
27
|
} if (rf & 2) {
|
|
@@ -29,19 +31,25 @@ function TestRunDetailPanelComponent_Conditional_0_Conditional_31_Template(rf, c
|
|
|
29
31
|
} }
|
|
30
32
|
function TestRunDetailPanelComponent_Conditional_0_Conditional_32_Template(rf, ctx) { if (rf & 1) {
|
|
31
33
|
i0.ɵɵelementStart(0, "div", 18);
|
|
32
|
-
i0.ɵɵelement(1, "app-oracle-breakdown-table",
|
|
34
|
+
i0.ɵɵelement(1, "app-oracle-breakdown-table", 38);
|
|
33
35
|
i0.ɵɵelementEnd();
|
|
34
36
|
} if (rf & 2) {
|
|
35
37
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
36
38
|
i0.ɵɵadvance();
|
|
37
39
|
i0.ɵɵproperty("results", ctx_r2.oracleResults);
|
|
38
40
|
} }
|
|
39
|
-
function
|
|
40
|
-
i0.ɵɵelement(0, "
|
|
41
|
+
function TestRunDetailPanelComponent_Conditional_0_Conditional_33_Template(rf, ctx) { if (rf & 1) {
|
|
42
|
+
i0.ɵɵelement(0, "mj-testing-rubric-result", 19);
|
|
43
|
+
} if (rf & 2) {
|
|
44
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
45
|
+
i0.ɵɵproperty("OracleResults", ctx_r2.oracleResults)("Provider", ctx_r2.SessionProvider);
|
|
46
|
+
} }
|
|
47
|
+
function TestRunDetailPanelComponent_Conditional_0_Conditional_34_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
48
|
+
i0.ɵɵelement(0, "i", 42);
|
|
41
49
|
i0.ɵɵtext(1, " Result Details ");
|
|
42
50
|
} }
|
|
43
|
-
function
|
|
44
|
-
i0.ɵɵelementStart(0, "div",
|
|
51
|
+
function TestRunDetailPanelComponent_Conditional_0_Conditional_34_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
52
|
+
i0.ɵɵelementStart(0, "div", 43)(1, "pre", 44);
|
|
45
53
|
i0.ɵɵtext(2);
|
|
46
54
|
i0.ɵɵelementEnd()();
|
|
47
55
|
} if (rf & 2) {
|
|
@@ -49,11 +57,11 @@ function TestRunDetailPanelComponent_Conditional_0_Conditional_33_ng_template_3_
|
|
|
49
57
|
i0.ɵɵadvance(2);
|
|
50
58
|
i0.ɵɵtextInterpolate(ctx_r2.formatJSON(ctx_r2.resultDetails));
|
|
51
59
|
} }
|
|
52
|
-
function
|
|
60
|
+
function TestRunDetailPanelComponent_Conditional_0_Conditional_34_Template(rf, ctx) { if (rf & 1) {
|
|
53
61
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
54
|
-
i0.ɵɵelementStart(0, "div",
|
|
55
|
-
i0.ɵɵtwoWayListener("ExpandedChange", function
|
|
56
|
-
i0.ɵɵtemplate(2,
|
|
62
|
+
i0.ɵɵelementStart(0, "div", 20)(1, "mj-accordion-panel", 39);
|
|
63
|
+
i0.ɵɵtwoWayListener("ExpandedChange", function TestRunDetailPanelComponent_Conditional_0_Conditional_34_Template_mj_accordion_panel_ExpandedChange_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.showResultDetails, $event) || (ctx_r2.showResultDetails = $event); return i0.ɵɵresetView($event); });
|
|
64
|
+
i0.ɵɵtemplate(2, TestRunDetailPanelComponent_Conditional_0_Conditional_34_ng_template_2_Template, 2, 0, "ng-template", 40)(3, TestRunDetailPanelComponent_Conditional_0_Conditional_34_ng_template_3_Template, 3, 1, "ng-template", 41);
|
|
57
65
|
i0.ɵɵelementEnd()();
|
|
58
66
|
} if (rf & 2) {
|
|
59
67
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
@@ -98,36 +106,37 @@ function TestRunDetailPanelComponent_Conditional_0_Template(rf, ctx) { if (rf &
|
|
|
98
106
|
i0.ɵɵconditionalCreate(31, TestRunDetailPanelComponent_Conditional_0_Conditional_31_Template, 6, 1, "div", 13);
|
|
99
107
|
i0.ɵɵelementEnd();
|
|
100
108
|
i0.ɵɵconditionalCreate(32, TestRunDetailPanelComponent_Conditional_0_Conditional_32_Template, 2, 1, "div", 18);
|
|
101
|
-
i0.ɵɵconditionalCreate(33, TestRunDetailPanelComponent_Conditional_0_Conditional_33_Template,
|
|
102
|
-
i0.ɵɵ
|
|
103
|
-
i0.ɵɵ
|
|
104
|
-
i0.ɵɵ
|
|
109
|
+
i0.ɵɵconditionalCreate(33, TestRunDetailPanelComponent_Conditional_0_Conditional_33_Template, 1, 2, "mj-testing-rubric-result", 19);
|
|
110
|
+
i0.ɵɵconditionalCreate(34, TestRunDetailPanelComponent_Conditional_0_Conditional_34_Template, 4, 2, "div", 20);
|
|
111
|
+
i0.ɵɵelementStart(35, "div", 21)(36, "div", 22)(37, "h4");
|
|
112
|
+
i0.ɵɵelement(38, "i", 23);
|
|
113
|
+
i0.ɵɵtext(39, " Human Feedback ");
|
|
105
114
|
i0.ɵɵelementEnd()();
|
|
106
|
-
i0.ɵɵelementStart(
|
|
107
|
-
i0.ɵɵtext(
|
|
115
|
+
i0.ɵɵelementStart(40, "div", 24)(41, "div", 25)(42, "div", 26)(43, "label");
|
|
116
|
+
i0.ɵɵtext(44, "Rating (1-10)");
|
|
108
117
|
i0.ɵɵelementEnd();
|
|
109
|
-
i0.ɵɵelementStart(
|
|
110
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
118
|
+
i0.ɵɵelementStart(45, "input", 27);
|
|
119
|
+
i0.ɵɵtwoWayListener("ngModelChange", function TestRunDetailPanelComponent_Conditional_0_Template_input_ngModelChange_45_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.feedbackRating, $event) || (ctx_r2.feedbackRating = $event); return i0.ɵɵresetView($event); });
|
|
111
120
|
i0.ɵɵelementEnd()();
|
|
112
|
-
i0.ɵɵelementStart(
|
|
113
|
-
i0.ɵɵtext(
|
|
121
|
+
i0.ɵɵelementStart(46, "div", 26)(47, "label");
|
|
122
|
+
i0.ɵɵtext(48, "Is Correct?");
|
|
114
123
|
i0.ɵɵelementEnd();
|
|
115
|
-
i0.ɵɵelementStart(
|
|
116
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
124
|
+
i0.ɵɵelementStart(49, "div", 28)(50, "label", 29)(51, "input", 30);
|
|
125
|
+
i0.ɵɵtwoWayListener("ngModelChange", function TestRunDetailPanelComponent_Conditional_0_Template_input_ngModelChange_51_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.feedbackIsCorrect, $event) || (ctx_r2.feedbackIsCorrect = $event); return i0.ɵɵresetView($event); });
|
|
117
126
|
i0.ɵɵelementEnd();
|
|
118
|
-
i0.ɵɵelementStart(
|
|
119
|
-
i0.ɵɵtext(
|
|
127
|
+
i0.ɵɵelementStart(52, "span");
|
|
128
|
+
i0.ɵɵtext(53, "Yes, the automated result is correct");
|
|
120
129
|
i0.ɵɵelementEnd()()()()();
|
|
121
|
-
i0.ɵɵelementStart(
|
|
122
|
-
i0.ɵɵtext(
|
|
130
|
+
i0.ɵɵelementStart(54, "div", 26)(55, "label");
|
|
131
|
+
i0.ɵɵtext(56, "Comments");
|
|
123
132
|
i0.ɵɵelementEnd();
|
|
124
|
-
i0.ɵɵelementStart(
|
|
125
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
133
|
+
i0.ɵɵelementStart(57, "textarea", 31);
|
|
134
|
+
i0.ɵɵtwoWayListener("ngModelChange", function TestRunDetailPanelComponent_Conditional_0_Template_textarea_ngModelChange_57_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.feedbackComments, $event) || (ctx_r2.feedbackComments = $event); return i0.ɵɵresetView($event); });
|
|
126
135
|
i0.ɵɵelementEnd()();
|
|
127
|
-
i0.ɵɵelementStart(
|
|
128
|
-
i0.ɵɵlistener("click", function
|
|
129
|
-
i0.ɵɵelement(
|
|
130
|
-
i0.ɵɵtext(
|
|
136
|
+
i0.ɵɵelementStart(58, "button", 32);
|
|
137
|
+
i0.ɵɵlistener("click", function TestRunDetailPanelComponent_Conditional_0_Template_button_click_58_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onSubmitFeedback()); });
|
|
138
|
+
i0.ɵɵelement(59, "i", 33);
|
|
139
|
+
i0.ɵɵtext(60);
|
|
131
140
|
i0.ɵɵelementEnd()()()()();
|
|
132
141
|
} if (rf & 2) {
|
|
133
142
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -136,7 +145,7 @@ function TestRunDetailPanelComponent_Conditional_0_Template(rf, ctx) { if (rf &
|
|
|
136
145
|
i0.ɵɵadvance(4);
|
|
137
146
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.testRun.testType, " ");
|
|
138
147
|
i0.ɵɵadvance(3);
|
|
139
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(12,
|
|
148
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(12, 20, ctx_r2.testRun.runDateTime, "medium"), " ");
|
|
140
149
|
i0.ɵɵadvance(3);
|
|
141
150
|
i0.ɵɵproperty("status", ctx_r2.testRun.status);
|
|
142
151
|
i0.ɵɵadvance();
|
|
@@ -152,7 +161,9 @@ function TestRunDetailPanelComponent_Conditional_0_Template(rf, ctx) { if (rf &
|
|
|
152
161
|
i0.ɵɵadvance();
|
|
153
162
|
i0.ɵɵconditional(ctx_r2.oracleResults && ctx_r2.oracleResults.length > 0 ? 32 : -1);
|
|
154
163
|
i0.ɵɵadvance();
|
|
155
|
-
i0.ɵɵconditional(ctx_r2.
|
|
164
|
+
i0.ɵɵconditional(ctx_r2.RubricView ? 33 : -1);
|
|
165
|
+
i0.ɵɵadvance();
|
|
166
|
+
i0.ɵɵconditional(ctx_r2.resultDetails ? 34 : -1);
|
|
156
167
|
i0.ɵɵadvance(11);
|
|
157
168
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.feedbackRating);
|
|
158
169
|
i0.ɵɵadvance(6);
|
|
@@ -165,6 +176,12 @@ function TestRunDetailPanelComponent_Conditional_0_Template(rf, ctx) { if (rf &
|
|
|
165
176
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.submittingFeedback ? "Submitting..." : "Submit Feedback", " ");
|
|
166
177
|
} }
|
|
167
178
|
export class TestRunDetailPanelComponent {
|
|
179
|
+
session = inject(TestingInstrumentationService, { optional: true });
|
|
180
|
+
/** The signed-in session provider. An input wins; otherwise the testing service's provider is used. */
|
|
181
|
+
Provider = null;
|
|
182
|
+
get SessionProvider() {
|
|
183
|
+
return this.Provider ?? this.session?.Provider ?? null;
|
|
184
|
+
}
|
|
168
185
|
TestRun;
|
|
169
186
|
/** @deprecated Use {@link TestRun}. */
|
|
170
187
|
set testRun(value) {
|
|
@@ -179,6 +196,9 @@ export class TestRunDetailPanelComponent {
|
|
|
179
196
|
set oracleResults(value) {
|
|
180
197
|
this.OracleResults = value;
|
|
181
198
|
}
|
|
199
|
+
get RubricView() {
|
|
200
|
+
return RubricRunView(this.OracleResults);
|
|
201
|
+
}
|
|
182
202
|
/** @deprecated Use {@link OracleResults}. */
|
|
183
203
|
get oracleResults() {
|
|
184
204
|
return this.OracleResults;
|
|
@@ -342,11 +362,11 @@ export class TestRunDetailPanelComponent {
|
|
|
342
362
|
return this.OnSubmitFeedback();
|
|
343
363
|
}
|
|
344
364
|
static ɵfac = function TestRunDetailPanelComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TestRunDetailPanelComponent)(); };
|
|
345
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TestRunDetailPanelComponent, selectors: [["app-test-run-detail-panel"]], inputs: { TestRun: "TestRun", testRun: "testRun", OracleResults: "OracleResults", oracleResults: "oracleResults", ResultDetails: "ResultDetails", resultDetails: "resultDetails", Closeable: "Closeable", closeable: "closeable" }, outputs: { Close: "Close", close: "close", ViewTarget: "ViewTarget", viewTarget: "viewTarget", SubmitFeedback: "SubmitFeedback", submitFeedback: "submitFeedback" }, standalone: false, decls: 1, vars: 1, consts: [[1, "test-run-detail-panel"], [1, "detail-header"], [1, "header-left"], [1, "header-meta"], [1, "test-type"], [1, "fa-solid", "fa-tag"], [1, "run-time"], [1, "fa-solid", "fa-clock"], [1, "header-right"], [3, "status"], [1, "close-btn"], [1, "detail-content"], [1, "metrics-section"], [1, "metric-card"], [1, "metric-label"], [3, "score", "showBar", "showIcon"], [3, "cost", "showIcon"], [1, "metric-value"], [1, "oracle-section"], [1, "details-section"], [1, "feedback-section"], [1, "section-header"], [1, "fa-solid", "fa-comment-dots"], [1, "feedback-form"], [1, "form-row"], [1, "form-group"], ["type", "number", "min", "1", "max", "10", 1, "rating-input", 3, "ngModelChange", "ngModel"], [1, "checkbox-group"], [1, "checkbox-label"], ["type", "checkbox", 3, "ngModelChange", "ngModel"], ["rows", "3", "placeholder", "Enter your feedback comments...", 1, "comments-textarea", 3, "ngModelChange", "ngModel"], [1, "submit-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-paper-plane"], [1, "close-btn", 3, "click"], [1, "fa-solid", "fa-times"], [1, "metric-value", "target-link", 3, "click"], [1, "fa-solid", "fa-external-link-alt"], [3, "results"], ["Size", "sm", 3, "ExpandedChange", "FlushBody", "Expanded"], ["mjAccordionTitle", ""], ["mjAccordionBody", ""], [1, "fa-solid", "fa-file-alt", 2, "color", "var(--mj-brand-primary)"], [1, "details-content"], [1, "json-viewer"]], template: function TestRunDetailPanelComponent_Template(rf, ctx) { if (rf & 1) {
|
|
346
|
-
i0.ɵɵconditionalCreate(0, TestRunDetailPanelComponent_Conditional_0_Template,
|
|
365
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TestRunDetailPanelComponent, selectors: [["app-test-run-detail-panel"]], inputs: { Provider: "Provider", TestRun: "TestRun", testRun: "testRun", OracleResults: "OracleResults", oracleResults: "oracleResults", ResultDetails: "ResultDetails", resultDetails: "resultDetails", Closeable: "Closeable", closeable: "closeable" }, outputs: { Close: "Close", close: "close", ViewTarget: "ViewTarget", viewTarget: "viewTarget", SubmitFeedback: "SubmitFeedback", submitFeedback: "submitFeedback" }, standalone: false, decls: 1, vars: 1, consts: [[1, "test-run-detail-panel"], [1, "detail-header"], [1, "header-left"], [1, "header-meta"], [1, "test-type"], [1, "fa-solid", "fa-tag"], [1, "run-time"], [1, "fa-solid", "fa-clock"], [1, "header-right"], [3, "status"], [1, "close-btn"], [1, "detail-content"], [1, "metrics-section"], [1, "metric-card"], [1, "metric-label"], [3, "score", "showBar", "showIcon"], [3, "cost", "showIcon"], [1, "metric-value"], [1, "oracle-section"], [3, "OracleResults", "Provider"], [1, "details-section"], [1, "feedback-section"], [1, "section-header"], [1, "fa-solid", "fa-comment-dots"], [1, "feedback-form"], [1, "form-row"], [1, "form-group"], ["type", "number", "min", "1", "max", "10", 1, "rating-input", 3, "ngModelChange", "ngModel"], [1, "checkbox-group"], [1, "checkbox-label"], ["type", "checkbox", 3, "ngModelChange", "ngModel"], ["rows", "3", "placeholder", "Enter your feedback comments...", 1, "comments-textarea", 3, "ngModelChange", "ngModel"], [1, "submit-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-paper-plane"], [1, "close-btn", 3, "click"], [1, "fa-solid", "fa-times"], [1, "metric-value", "target-link", 3, "click"], [1, "fa-solid", "fa-external-link-alt"], [3, "results"], ["Size", "sm", 3, "ExpandedChange", "FlushBody", "Expanded"], ["mjAccordionTitle", ""], ["mjAccordionBody", ""], [1, "fa-solid", "fa-file-alt", 2, "color", "var(--mj-brand-primary)"], [1, "details-content"], [1, "json-viewer"]], template: function TestRunDetailPanelComponent_Template(rf, ctx) { if (rf & 1) {
|
|
366
|
+
i0.ɵɵconditionalCreate(0, TestRunDetailPanelComponent_Conditional_0_Template, 61, 23, "div", 0);
|
|
347
367
|
} if (rf & 2) {
|
|
348
368
|
i0.ɵɵconditional(ctx.testRun ? 0 : -1);
|
|
349
|
-
} }, dependencies: [i1.DefaultValueAccessor, i1.NumberValueAccessor, i1.CheckboxControlValueAccessor, i1.NgControlStatus, i1.MinValidator, i1.MaxValidator, i1.NgModel, i2.TestStatusBadgeComponent, i2.ScoreIndicatorComponent, i2.CostDisplayComponent, i3.MJAccordionPanelComponent, i3.MJAccordionTitleDirective, i3.MJAccordionBodyDirective, i4.OracleBreakdownTableComponent, i5.DatePipe], styles: [".test-run-detail-panel[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border-radius: 8px;\n overflow: hidden;\n box-shadow: var(--mj-shadow-md);\n }\n\n .detail-header[_ngcontent-%COMP%] {\n padding: 20px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n }\n\n .header-left[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n }\n\n .header-meta[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n font-size: 12px;\n opacity: 0.9;\n }\n\n .header-meta[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .header-right[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .close-btn[_ngcontent-%COMP%] {\n background: rgba(255, 255, 255, 0.2);\n border: none;\n color: var(--mj-text-inverse);\n padding: 8px 12px;\n border-radius: 4px;\n cursor: pointer;\n transition: background 0.2s ease;\n }\n\n .close-btn[_ngcontent-%COMP%]:hover {\n background: rgba(255, 255, 255, 0.3);\n }\n\n .detail-content[_ngcontent-%COMP%] {\n padding: 20px;\n }\n\n .metrics-section[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n gap: 16px;\n margin-bottom: 24px;\n }\n\n .metric-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n padding: 16px;\n border-radius: 8px;\n border-left: 4px solid var(--mj-brand-primary);\n }\n\n .metric-label[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-secondary);\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 8px;\n }\n\n .metric-value[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .target-link[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--mj-brand-primary);\n cursor: pointer;\n font-size: 14px;\n }\n\n .target-link[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n }\n\n .oracle-section[_ngcontent-%COMP%], \n .details-section[_ngcontent-%COMP%], \n .feedback-section[_ngcontent-%COMP%] {\n margin-bottom: 24px;\n }\n\n .section-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .section-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .section-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n \n\n\n\n .details-content[_ngcontent-%COMP%] {\n margin-top: 12px;\n }\n\n .json-viewer[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n padding: 16px;\n font-size: 11px;\n line-height: 1.5;\n overflow-x: auto;\n max-height: 300px;\n overflow-y: auto;\n font-family: 'Courier New', monospace;\n }\n\n .feedback-form[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n padding: 16px;\n border-radius: 8px;\n }\n\n .form-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 2fr;\n gap: 16px;\n margin-bottom: 16px;\n }\n\n .form-group[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n }\n\n .rating-input[_ngcontent-%COMP%] {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 14px;\n }\n\n .checkbox-group[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n }\n\n .checkbox-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 13px;\n color: var(--mj-text-primary);\n cursor: pointer;\n }\n\n .checkbox-label[_ngcontent-%COMP%] input[type=\"checkbox\"][_ngcontent-%COMP%] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n }\n\n .comments-textarea[_ngcontent-%COMP%] {\n padding: 10px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 13px;\n font-family: inherit;\n resize: vertical;\n }\n\n .submit-btn[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n padding: 10px 20px;\n border-radius: 4px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 8px;\n transition: background 0.2s ease;\n }\n\n .submit-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n }\n\n .submit-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n @media (max-width: 768px) {\n .form-row[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .metrics-section[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n }"] });
|
|
369
|
+
} }, dependencies: [i1.DefaultValueAccessor, i1.NumberValueAccessor, i1.CheckboxControlValueAccessor, i1.NgControlStatus, i1.MinValidator, i1.MaxValidator, i1.NgModel, i2.TestStatusBadgeComponent, i2.ScoreIndicatorComponent, i2.CostDisplayComponent, i2.TestingRubricResultComponent, i3.MJAccordionPanelComponent, i3.MJAccordionTitleDirective, i3.MJAccordionBodyDirective, i4.OracleBreakdownTableComponent, i5.DatePipe], styles: [".test-run-detail-panel[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border-radius: 8px;\n overflow: hidden;\n box-shadow: var(--mj-shadow-md);\n }\n\n .detail-header[_ngcontent-%COMP%] {\n padding: 20px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n }\n\n .header-left[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n }\n\n .header-meta[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n font-size: 12px;\n opacity: 0.9;\n }\n\n .header-meta[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .header-right[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .close-btn[_ngcontent-%COMP%] {\n background: rgba(255, 255, 255, 0.2);\n border: none;\n color: var(--mj-text-inverse);\n padding: 8px 12px;\n border-radius: 4px;\n cursor: pointer;\n transition: background 0.2s ease;\n }\n\n .close-btn[_ngcontent-%COMP%]:hover {\n background: rgba(255, 255, 255, 0.3);\n }\n\n .detail-content[_ngcontent-%COMP%] {\n padding: 20px;\n }\n\n .metrics-section[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n gap: 16px;\n margin-bottom: 24px;\n }\n\n .metric-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n padding: 16px;\n border-radius: 8px;\n border-left: 4px solid var(--mj-brand-primary);\n }\n\n .metric-label[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-secondary);\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 8px;\n }\n\n .metric-value[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .target-link[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--mj-brand-primary);\n cursor: pointer;\n font-size: 14px;\n }\n\n .target-link[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n }\n\n .oracle-section[_ngcontent-%COMP%], \n .details-section[_ngcontent-%COMP%], \n .feedback-section[_ngcontent-%COMP%] {\n margin-bottom: 24px;\n }\n\n .section-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .section-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .section-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n \n\n\n\n .details-content[_ngcontent-%COMP%] {\n margin-top: 12px;\n }\n\n .json-viewer[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n padding: 16px;\n font-size: 11px;\n line-height: 1.5;\n overflow-x: auto;\n max-height: 300px;\n overflow-y: auto;\n font-family: 'Courier New', monospace;\n }\n\n .feedback-form[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n padding: 16px;\n border-radius: 8px;\n }\n\n .form-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 2fr;\n gap: 16px;\n margin-bottom: 16px;\n }\n\n .form-group[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .form-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n }\n\n .rating-input[_ngcontent-%COMP%] {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 14px;\n }\n\n .checkbox-group[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n }\n\n .checkbox-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 13px;\n color: var(--mj-text-primary);\n cursor: pointer;\n }\n\n .checkbox-label[_ngcontent-%COMP%] input[type=\"checkbox\"][_ngcontent-%COMP%] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n }\n\n .comments-textarea[_ngcontent-%COMP%] {\n padding: 10px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 13px;\n font-family: inherit;\n resize: vertical;\n }\n\n .submit-btn[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n padding: 10px 20px;\n border-radius: 4px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 8px;\n transition: background 0.2s ease;\n }\n\n .submit-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n }\n\n .submit-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n @media (max-width: 768px) {\n .form-row[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .metrics-section[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n }"] });
|
|
350
370
|
}
|
|
351
371
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TestRunDetailPanelComponent, [{
|
|
352
372
|
type: Component,
|
|
@@ -407,6 +427,9 @@ export class TestRunDetailPanelComponent {
|
|
|
407
427
|
<app-oracle-breakdown-table [results]="oracleResults"></app-oracle-breakdown-table>
|
|
408
428
|
</div>
|
|
409
429
|
}
|
|
430
|
+
@if (RubricView) {
|
|
431
|
+
<mj-testing-rubric-result [OracleResults]="oracleResults" [Provider]="SessionProvider"></mj-testing-rubric-result>
|
|
432
|
+
}
|
|
410
433
|
<!-- Result Details -->
|
|
411
434
|
@if (resultDetails) {
|
|
412
435
|
<div class="details-section">
|
|
@@ -472,7 +495,9 @@ export class TestRunDetailPanelComponent {
|
|
|
472
495
|
</div>
|
|
473
496
|
}
|
|
474
497
|
`, styles: ["\n .test-run-detail-panel {\n background: var(--mj-bg-surface);\n border-radius: 8px;\n overflow: hidden;\n box-shadow: var(--mj-shadow-md);\n }\n\n .detail-header {\n padding: 20px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n }\n\n .header-left h3 {\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n }\n\n .header-meta {\n display: flex;\n gap: 16px;\n font-size: 12px;\n opacity: 0.9;\n }\n\n .header-meta span {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .header-right {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .close-btn {\n background: rgba(255, 255, 255, 0.2);\n border: none;\n color: var(--mj-text-inverse);\n padding: 8px 12px;\n border-radius: 4px;\n cursor: pointer;\n transition: background 0.2s ease;\n }\n\n .close-btn:hover {\n background: rgba(255, 255, 255, 0.3);\n }\n\n .detail-content {\n padding: 20px;\n }\n\n .metrics-section {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n gap: 16px;\n margin-bottom: 24px;\n }\n\n .metric-card {\n background: var(--mj-bg-surface-card);\n padding: 16px;\n border-radius: 8px;\n border-left: 4px solid var(--mj-brand-primary);\n }\n\n .metric-label {\n font-size: 11px;\n color: var(--mj-text-secondary);\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 8px;\n }\n\n .metric-value {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .target-link {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--mj-brand-primary);\n cursor: pointer;\n font-size: 14px;\n }\n\n .target-link:hover {\n text-decoration: underline;\n }\n\n .oracle-section,\n .details-section,\n .feedback-section {\n margin-bottom: 24px;\n }\n\n .section-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .section-header h4 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .section-header h4 i {\n color: var(--mj-brand-primary);\n }\n\n /* .toggle-btn removed \u2014 the Result Details chevron is now provided by\n <mj-accordion-panel>. (.section-header is kept; the Feedback section\n still uses it.) */\n\n .details-content {\n margin-top: 12px;\n }\n\n .json-viewer {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n padding: 16px;\n font-size: 11px;\n line-height: 1.5;\n overflow-x: auto;\n max-height: 300px;\n overflow-y: auto;\n font-family: 'Courier New', monospace;\n }\n\n .feedback-form {\n background: var(--mj-bg-surface-card);\n padding: 16px;\n border-radius: 8px;\n }\n\n .form-row {\n display: grid;\n grid-template-columns: 1fr 2fr;\n gap: 16px;\n margin-bottom: 16px;\n }\n\n .form-group {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .form-group label {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n }\n\n .rating-input {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 14px;\n }\n\n .checkbox-group {\n display: flex;\n align-items: center;\n }\n\n .checkbox-label {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 13px;\n color: var(--mj-text-primary);\n cursor: pointer;\n }\n\n .checkbox-label input[type=\"checkbox\"] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n }\n\n .comments-textarea {\n padding: 10px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 13px;\n font-family: inherit;\n resize: vertical;\n }\n\n .submit-btn {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n padding: 10px 20px;\n border-radius: 4px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 8px;\n transition: background 0.2s ease;\n }\n\n .submit-btn:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n }\n\n .submit-btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n @media (max-width: 768px) {\n .form-row {\n grid-template-columns: 1fr;\n }\n\n .metrics-section {\n grid-template-columns: 1fr;\n }\n }\n "] }]
|
|
475
|
-
}], null, {
|
|
498
|
+
}], null, { Provider: [{
|
|
499
|
+
type: Input
|
|
500
|
+
}], TestRun: [{
|
|
476
501
|
type: Input
|
|
477
502
|
}], testRun: [{
|
|
478
503
|
type: Input
|
|
@@ -501,5 +526,5 @@ export class TestRunDetailPanelComponent {
|
|
|
501
526
|
}], submitFeedback: [{
|
|
502
527
|
type: Output
|
|
503
528
|
}] }); })();
|
|
504
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TestRunDetailPanelComponent, { className: "TestRunDetailPanelComponent", filePath: "src/Testing/components/widgets/test-run-detail-panel.component.ts", lineNumber:
|
|
529
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TestRunDetailPanelComponent, { className: "TestRunDetailPanelComponent", filePath: "src/Testing/components/widgets/test-run-detail-panel.component.ts", lineNumber: 383 }); })();
|
|
505
530
|
//# sourceMappingURL=test-run-detail-panel.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-run-detail-panel.component.js","sourceRoot":"","sources":["../../../../src/Testing/components/widgets/test-run-detail-panel.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { TestRunSummary } from '../../services/testing-instrumentation.service';\nimport { OracleResult } from './oracle-breakdown-table.component';\n\n@Component({\n standalone: false,\n selector: 'app-test-run-detail-panel',\n template: `\n @if (testRun) {\n <div class=\"test-run-detail-panel\">\n <div class=\"detail-header\">\n <div class=\"header-left\">\n <h3>{{ testRun.testName }}</h3>\n <div class=\"header-meta\">\n <span class=\"test-type\">\n <i class=\"fa-solid fa-tag\"></i>\n {{ testRun.testType }}\n </span>\n <span class=\"run-time\">\n <i class=\"fa-solid fa-clock\"></i>\n {{ testRun.runDateTime | date:'medium' }}\n </span>\n </div>\n </div>\n <div class=\"header-right\">\n <app-test-status-badge [status]=\"testRun.status\"></app-test-status-badge>\n @if (closeable) {\n <button class=\"close-btn\" (click)=\"onClose()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n </div>\n <div class=\"detail-content\">\n <!-- Main Metrics -->\n <div class=\"metrics-section\">\n <div class=\"metric-card\">\n <div class=\"metric-label\">Score</div>\n <app-score-indicator [score]=\"testRun.score\" [showBar]=\"true\" [showIcon]=\"true\"></app-score-indicator>\n </div>\n <div class=\"metric-card\">\n <div class=\"metric-label\">Cost</div>\n <app-cost-display [cost]=\"testRun.cost\" [showIcon]=\"true\"></app-cost-display>\n </div>\n <div class=\"metric-card\">\n <div class=\"metric-label\">Duration</div>\n <div class=\"metric-value\">{{ formatDuration(testRun.duration) }}</div>\n </div>\n @if (testRun.targetType) {\n <div class=\"metric-card\">\n <div class=\"metric-label\">Target</div>\n <div class=\"metric-value target-link\" (click)=\"onViewTarget()\">\n <i class=\"fa-solid fa-external-link-alt\"></i>\n {{ testRun.targetType }}\n </div>\n </div>\n }\n </div>\n <!-- Oracle Breakdown -->\n @if (oracleResults && oracleResults.length > 0) {\n <div class=\"oracle-section\">\n <app-oracle-breakdown-table [results]=\"oracleResults\"></app-oracle-breakdown-table>\n </div>\n }\n <!-- Result Details -->\n @if (resultDetails) {\n <div class=\"details-section\">\n <mj-accordion-panel Size=\"sm\" [FlushBody]=\"true\" [(Expanded)]=\"showResultDetails\">\n <ng-template mjAccordionTitle>\n <i class=\"fa-solid fa-file-alt\" style=\"color: var(--mj-brand-primary)\"></i>\n Result Details\n </ng-template>\n <ng-template mjAccordionBody>\n <div class=\"details-content\">\n <pre class=\"json-viewer\">{{ formatJSON(resultDetails) }}</pre>\n </div>\n </ng-template>\n </mj-accordion-panel>\n </div>\n }\n <!-- Feedback Section -->\n <div class=\"feedback-section\">\n <div class=\"section-header\">\n <h4>\n <i class=\"fa-solid fa-comment-dots\"></i>\n Human Feedback\n </h4>\n </div>\n <div class=\"feedback-form\">\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label>Rating (1-10)</label>\n <input\n type=\"number\"\n [(ngModel)]=\"feedbackRating\"\n min=\"1\"\n max=\"10\"\n class=\"rating-input\"\n />\n </div>\n <div class=\"form-group\">\n <label>Is Correct?</label>\n <div class=\"checkbox-group\">\n <label class=\"checkbox-label\">\n <input type=\"checkbox\" [(ngModel)]=\"feedbackIsCorrect\" />\n <span>Yes, the automated result is correct</span>\n </label>\n </div>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Comments</label>\n <textarea\n [(ngModel)]=\"feedbackComments\"\n rows=\"3\"\n class=\"comments-textarea\"\n placeholder=\"Enter your feedback comments...\"\n ></textarea>\n </div>\n <button class=\"submit-btn\" (click)=\"onSubmitFeedback()\" [disabled]=\"submittingFeedback\">\n <i class=\"fa-solid fa-paper-plane\"></i>\n {{ submittingFeedback ? 'Submitting...' : 'Submit Feedback' }}\n </button>\n </div>\n </div>\n </div>\n </div>\n }\n `,\n styles: [`\n .test-run-detail-panel {\n background: var(--mj-bg-surface);\n border-radius: 8px;\n overflow: hidden;\n box-shadow: var(--mj-shadow-md);\n }\n\n .detail-header {\n padding: 20px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n }\n\n .header-left h3 {\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n }\n\n .header-meta {\n display: flex;\n gap: 16px;\n font-size: 12px;\n opacity: 0.9;\n }\n\n .header-meta span {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .header-right {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .close-btn {\n background: rgba(255, 255, 255, 0.2);\n border: none;\n color: var(--mj-text-inverse);\n padding: 8px 12px;\n border-radius: 4px;\n cursor: pointer;\n transition: background 0.2s ease;\n }\n\n .close-btn:hover {\n background: rgba(255, 255, 255, 0.3);\n }\n\n .detail-content {\n padding: 20px;\n }\n\n .metrics-section {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n gap: 16px;\n margin-bottom: 24px;\n }\n\n .metric-card {\n background: var(--mj-bg-surface-card);\n padding: 16px;\n border-radius: 8px;\n border-left: 4px solid var(--mj-brand-primary);\n }\n\n .metric-label {\n font-size: 11px;\n color: var(--mj-text-secondary);\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 8px;\n }\n\n .metric-value {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .target-link {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--mj-brand-primary);\n cursor: pointer;\n font-size: 14px;\n }\n\n .target-link:hover {\n text-decoration: underline;\n }\n\n .oracle-section,\n .details-section,\n .feedback-section {\n margin-bottom: 24px;\n }\n\n .section-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .section-header h4 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .section-header h4 i {\n color: var(--mj-brand-primary);\n }\n\n /* .toggle-btn removed — the Result Details chevron is now provided by\n <mj-accordion-panel>. (.section-header is kept; the Feedback section\n still uses it.) */\n\n .details-content {\n margin-top: 12px;\n }\n\n .json-viewer {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n padding: 16px;\n font-size: 11px;\n line-height: 1.5;\n overflow-x: auto;\n max-height: 300px;\n overflow-y: auto;\n font-family: 'Courier New', monospace;\n }\n\n .feedback-form {\n background: var(--mj-bg-surface-card);\n padding: 16px;\n border-radius: 8px;\n }\n\n .form-row {\n display: grid;\n grid-template-columns: 1fr 2fr;\n gap: 16px;\n margin-bottom: 16px;\n }\n\n .form-group {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .form-group label {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n }\n\n .rating-input {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 14px;\n }\n\n .checkbox-group {\n display: flex;\n align-items: center;\n }\n\n .checkbox-label {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 13px;\n color: var(--mj-text-primary);\n cursor: pointer;\n }\n\n .checkbox-label input[type=\"checkbox\"] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n }\n\n .comments-textarea {\n padding: 10px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 13px;\n font-family: inherit;\n resize: vertical;\n }\n\n .submit-btn {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n padding: 10px 20px;\n border-radius: 4px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 8px;\n transition: background 0.2s ease;\n }\n\n .submit-btn:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n }\n\n .submit-btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n @media (max-width: 768px) {\n .form-row {\n grid-template-columns: 1fr;\n }\n\n .metrics-section {\n grid-template-columns: 1fr;\n }\n }\n `]\n})\nexport class TestRunDetailPanelComponent {\n @Input() TestRun!: TestRunSummary;\n\n /** @deprecated Use {@link TestRun}. */\n @Input() set testRun(value: TestRunSummary) {\n this.TestRun = value;\n }\n /** @deprecated Use {@link TestRun}. */\n get testRun(): TestRunSummary {\n return this.TestRun;\n }\n @Input() OracleResults: OracleResult[] = [];\n\n /** @deprecated Use {@link OracleResults}. */\n @Input() set oracleResults(value: OracleResult[]) {\n this.OracleResults = value;\n }\n /** @deprecated Use {@link OracleResults}. */\n get oracleResults(): OracleResult[] {\n return this.OracleResults;\n }\n @Input() ResultDetails: any = null;\n\n /** @deprecated Use {@link ResultDetails}. */\n @Input() set resultDetails(value: any) {\n this.ResultDetails = value;\n }\n /** @deprecated Use {@link ResultDetails}. */\n get resultDetails(): any {\n return this.ResultDetails;\n }\n @Input() Closeable = true;\n\n /** @deprecated Use {@link Closeable}. */\n @Input() set closeable(value: TestRunDetailPanelComponent['Closeable']) {\n this.Closeable = value;\n }\n /** @deprecated Use {@link Closeable}. */\n get closeable(): TestRunDetailPanelComponent['Closeable'] {\n return this.Closeable;\n }\n\n @Output() Close = new EventEmitter<void>();\n\n /**\n * @deprecated Use {@link Close}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (close) keeps working. Must stay AFTER Close: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() close = this.Close;\n @Output() ViewTarget = new EventEmitter<{ type: string; id: string }>();\n\n /**\n * @deprecated Use {@link ViewTarget}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (viewTarget) keeps working. Must stay AFTER ViewTarget: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() viewTarget = this.ViewTarget;\n @Output() SubmitFeedback = new EventEmitter<{\n rating: number;\n isCorrect: boolean;\n comments: string;\n }>();\n\n /**\n * @deprecated Use {@link SubmitFeedback}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (submitFeedback) keeps working. Must stay AFTER SubmitFeedback: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() submitFeedback = this.SubmitFeedback;\n\n ShowResultDetails = false;\n\n /** @deprecated Use {@link ShowResultDetails}. */\n get showResultDetails() {\n return this.ShowResultDetails;\n }\n /** @deprecated Use {@link ShowResultDetails}. */\n set showResultDetails(value) {\n this.ShowResultDetails = value;\n }\n FeedbackRating = 5;\n\n /** @deprecated Use {@link FeedbackRating}. */\n get feedbackRating() {\n return this.FeedbackRating;\n }\n /** @deprecated Use {@link FeedbackRating}. */\n set feedbackRating(value) {\n this.FeedbackRating = value;\n }\n FeedbackIsCorrect = true;\n\n /** @deprecated Use {@link FeedbackIsCorrect}. */\n get feedbackIsCorrect() {\n return this.FeedbackIsCorrect;\n }\n /** @deprecated Use {@link FeedbackIsCorrect}. */\n set feedbackIsCorrect(value) {\n this.FeedbackIsCorrect = value;\n }\n FeedbackComments = '';\n\n /** @deprecated Use {@link FeedbackComments}. */\n get feedbackComments() {\n return this.FeedbackComments;\n }\n /** @deprecated Use {@link FeedbackComments}. */\n set feedbackComments(value) {\n this.FeedbackComments = value;\n }\n SubmittingFeedback = false;\n\n /** @deprecated Use {@link SubmittingFeedback}. */\n get submittingFeedback() {\n return this.SubmittingFeedback;\n }\n /** @deprecated Use {@link SubmittingFeedback}. */\n set submittingFeedback(value) {\n this.SubmittingFeedback = value;\n }\n\n FormatDuration(milliseconds: number): string {\n if (milliseconds < 1000) {\n return `${milliseconds}ms`;\n }\n\n const seconds = Math.floor(milliseconds / 1000);\n const minutes = Math.floor(seconds / 60);\n\n if (minutes > 0) {\n return `${minutes}m ${seconds % 60}s`;\n }\n return `${seconds}s`;\n }\n\n /** @deprecated Use {@link FormatDuration}. */\n formatDuration(milliseconds: number): string {\n return this.FormatDuration(milliseconds);\n }\n\n FormatJSON(obj: any): string {\n try {\n return JSON.stringify(obj, null, 2);\n } catch (error) {\n return String(obj);\n }\n }\n\n /** @deprecated Use {@link FormatJSON}. */\n formatJSON(obj: any): string {\n return this.FormatJSON(obj);\n }\n\n // toggleResultDetails() removed — the Result Details disclosure is now an\n // <mj-accordion-panel> bound via [(Expanded)]=\"showResultDetails\" (pure flip,\n // default change detection), so no explicit toggle handler is needed.\n\n OnClose(): void {\n this.Close.emit();\n }\n\n /** @deprecated Use {@link OnClose}. */\n onClose(): void {\n return this.OnClose();\n }\n\n OnViewTarget(): void {\n if (this.TestRun.targetType && this.TestRun.targetLogID) {\n this.ViewTarget.emit({\n type: this.TestRun.targetType,\n id: this.TestRun.targetLogID\n });\n }\n }\n\n /** @deprecated Use {@link OnViewTarget}. */\n onViewTarget(): void {\n return this.OnViewTarget();\n }\n\n async OnSubmitFeedback(): Promise<void> {\n this.SubmittingFeedback = true;\n this.SubmitFeedback.emit({\n rating: this.FeedbackRating,\n isCorrect: this.FeedbackIsCorrect,\n comments: this.FeedbackComments\n });\n\n // Reset after submission\n setTimeout(() => {\n this.SubmittingFeedback = false;\n this.FeedbackRating = 5;\n this.FeedbackIsCorrect = true;\n this.FeedbackComments = '';\n }, 1000);\n }\n\n /** @deprecated Use {@link OnSubmitFeedback}. */\n async onSubmitFeedback(): Promise<void> {\n return this.OnSubmitFeedback();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"test-run-detail-panel.component.js","sourceRoot":"","sources":["../../../../src/Testing/components/widgets/test-run-detail-panel.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, inject } from '@angular/core';\nimport type { IMetadataProvider } from '@memberjunction/core';\nimport { TestRunSummary, TestingInstrumentationService } from '../../services/testing-instrumentation.service';\nimport { OracleResult } from './oracle-breakdown-table.component';\nimport { RubricRunView } from '@memberjunction/ng-testing';\n\n@Component({\n standalone: false,\n selector: 'app-test-run-detail-panel',\n template: `\n @if (testRun) {\n <div class=\"test-run-detail-panel\">\n <div class=\"detail-header\">\n <div class=\"header-left\">\n <h3>{{ testRun.testName }}</h3>\n <div class=\"header-meta\">\n <span class=\"test-type\">\n <i class=\"fa-solid fa-tag\"></i>\n {{ testRun.testType }}\n </span>\n <span class=\"run-time\">\n <i class=\"fa-solid fa-clock\"></i>\n {{ testRun.runDateTime | date:'medium' }}\n </span>\n </div>\n </div>\n <div class=\"header-right\">\n <app-test-status-badge [status]=\"testRun.status\"></app-test-status-badge>\n @if (closeable) {\n <button class=\"close-btn\" (click)=\"onClose()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n </div>\n <div class=\"detail-content\">\n <!-- Main Metrics -->\n <div class=\"metrics-section\">\n <div class=\"metric-card\">\n <div class=\"metric-label\">Score</div>\n <app-score-indicator [score]=\"testRun.score\" [showBar]=\"true\" [showIcon]=\"true\"></app-score-indicator>\n </div>\n <div class=\"metric-card\">\n <div class=\"metric-label\">Cost</div>\n <app-cost-display [cost]=\"testRun.cost\" [showIcon]=\"true\"></app-cost-display>\n </div>\n <div class=\"metric-card\">\n <div class=\"metric-label\">Duration</div>\n <div class=\"metric-value\">{{ formatDuration(testRun.duration) }}</div>\n </div>\n @if (testRun.targetType) {\n <div class=\"metric-card\">\n <div class=\"metric-label\">Target</div>\n <div class=\"metric-value target-link\" (click)=\"onViewTarget()\">\n <i class=\"fa-solid fa-external-link-alt\"></i>\n {{ testRun.targetType }}\n </div>\n </div>\n }\n </div>\n <!-- Oracle Breakdown -->\n @if (oracleResults && oracleResults.length > 0) {\n <div class=\"oracle-section\">\n <app-oracle-breakdown-table [results]=\"oracleResults\"></app-oracle-breakdown-table>\n </div>\n }\n @if (RubricView) {\n <mj-testing-rubric-result [OracleResults]=\"oracleResults\" [Provider]=\"SessionProvider\"></mj-testing-rubric-result>\n }\n <!-- Result Details -->\n @if (resultDetails) {\n <div class=\"details-section\">\n <mj-accordion-panel Size=\"sm\" [FlushBody]=\"true\" [(Expanded)]=\"showResultDetails\">\n <ng-template mjAccordionTitle>\n <i class=\"fa-solid fa-file-alt\" style=\"color: var(--mj-brand-primary)\"></i>\n Result Details\n </ng-template>\n <ng-template mjAccordionBody>\n <div class=\"details-content\">\n <pre class=\"json-viewer\">{{ formatJSON(resultDetails) }}</pre>\n </div>\n </ng-template>\n </mj-accordion-panel>\n </div>\n }\n <!-- Feedback Section -->\n <div class=\"feedback-section\">\n <div class=\"section-header\">\n <h4>\n <i class=\"fa-solid fa-comment-dots\"></i>\n Human Feedback\n </h4>\n </div>\n <div class=\"feedback-form\">\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label>Rating (1-10)</label>\n <input\n type=\"number\"\n [(ngModel)]=\"feedbackRating\"\n min=\"1\"\n max=\"10\"\n class=\"rating-input\"\n />\n </div>\n <div class=\"form-group\">\n <label>Is Correct?</label>\n <div class=\"checkbox-group\">\n <label class=\"checkbox-label\">\n <input type=\"checkbox\" [(ngModel)]=\"feedbackIsCorrect\" />\n <span>Yes, the automated result is correct</span>\n </label>\n </div>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Comments</label>\n <textarea\n [(ngModel)]=\"feedbackComments\"\n rows=\"3\"\n class=\"comments-textarea\"\n placeholder=\"Enter your feedback comments...\"\n ></textarea>\n </div>\n <button class=\"submit-btn\" (click)=\"onSubmitFeedback()\" [disabled]=\"submittingFeedback\">\n <i class=\"fa-solid fa-paper-plane\"></i>\n {{ submittingFeedback ? 'Submitting...' : 'Submit Feedback' }}\n </button>\n </div>\n </div>\n </div>\n </div>\n }\n `,\n styles: [`\n .test-run-detail-panel {\n background: var(--mj-bg-surface);\n border-radius: 8px;\n overflow: hidden;\n box-shadow: var(--mj-shadow-md);\n }\n\n .detail-header {\n padding: 20px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n }\n\n .header-left h3 {\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n }\n\n .header-meta {\n display: flex;\n gap: 16px;\n font-size: 12px;\n opacity: 0.9;\n }\n\n .header-meta span {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .header-right {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .close-btn {\n background: rgba(255, 255, 255, 0.2);\n border: none;\n color: var(--mj-text-inverse);\n padding: 8px 12px;\n border-radius: 4px;\n cursor: pointer;\n transition: background 0.2s ease;\n }\n\n .close-btn:hover {\n background: rgba(255, 255, 255, 0.3);\n }\n\n .detail-content {\n padding: 20px;\n }\n\n .metrics-section {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n gap: 16px;\n margin-bottom: 24px;\n }\n\n .metric-card {\n background: var(--mj-bg-surface-card);\n padding: 16px;\n border-radius: 8px;\n border-left: 4px solid var(--mj-brand-primary);\n }\n\n .metric-label {\n font-size: 11px;\n color: var(--mj-text-secondary);\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 8px;\n }\n\n .metric-value {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n }\n\n .target-link {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--mj-brand-primary);\n cursor: pointer;\n font-size: 14px;\n }\n\n .target-link:hover {\n text-decoration: underline;\n }\n\n .oracle-section,\n .details-section,\n .feedback-section {\n margin-bottom: 24px;\n }\n\n .section-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .section-header h4 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .section-header h4 i {\n color: var(--mj-brand-primary);\n }\n\n /* .toggle-btn removed — the Result Details chevron is now provided by\n <mj-accordion-panel>. (.section-header is kept; the Feedback section\n still uses it.) */\n\n .details-content {\n margin-top: 12px;\n }\n\n .json-viewer {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n padding: 16px;\n font-size: 11px;\n line-height: 1.5;\n overflow-x: auto;\n max-height: 300px;\n overflow-y: auto;\n font-family: 'Courier New', monospace;\n }\n\n .feedback-form {\n background: var(--mj-bg-surface-card);\n padding: 16px;\n border-radius: 8px;\n }\n\n .form-row {\n display: grid;\n grid-template-columns: 1fr 2fr;\n gap: 16px;\n margin-bottom: 16px;\n }\n\n .form-group {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .form-group label {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n }\n\n .rating-input {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 14px;\n }\n\n .checkbox-group {\n display: flex;\n align-items: center;\n }\n\n .checkbox-label {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 13px;\n color: var(--mj-text-primary);\n cursor: pointer;\n }\n\n .checkbox-label input[type=\"checkbox\"] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n }\n\n .comments-textarea {\n padding: 10px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n font-size: 13px;\n font-family: inherit;\n resize: vertical;\n }\n\n .submit-btn {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n padding: 10px 20px;\n border-radius: 4px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 8px;\n transition: background 0.2s ease;\n }\n\n .submit-btn:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n }\n\n .submit-btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n @media (max-width: 768px) {\n .form-row {\n grid-template-columns: 1fr;\n }\n\n .metrics-section {\n grid-template-columns: 1fr;\n }\n }\n `]\n})\nexport class TestRunDetailPanelComponent {\n private readonly session = inject(TestingInstrumentationService, { optional: true });\n\n /** The signed-in session provider. An input wins; otherwise the testing service's provider is used. */\n @Input() Provider: IMetadataProvider | null = null;\n\n public get SessionProvider(): IMetadataProvider | null {\n return this.Provider ?? this.session?.Provider ?? null;\n }\n\n @Input() TestRun!: TestRunSummary;\n\n /** @deprecated Use {@link TestRun}. */\n @Input() set testRun(value: TestRunSummary) {\n this.TestRun = value;\n }\n /** @deprecated Use {@link TestRun}. */\n get testRun(): TestRunSummary {\n return this.TestRun;\n }\n @Input() OracleResults: OracleResult[] = [];\n\n /** @deprecated Use {@link OracleResults}. */\n @Input() set oracleResults(value: OracleResult[]) {\n this.OracleResults = value;\n }\n get RubricView() {\n return RubricRunView(this.OracleResults);\n }\n\n /** @deprecated Use {@link OracleResults}. */\n get oracleResults(): OracleResult[] {\n return this.OracleResults;\n }\n @Input() ResultDetails: any = null;\n\n /** @deprecated Use {@link ResultDetails}. */\n @Input() set resultDetails(value: any) {\n this.ResultDetails = value;\n }\n /** @deprecated Use {@link ResultDetails}. */\n get resultDetails(): any {\n return this.ResultDetails;\n }\n @Input() Closeable = true;\n\n /** @deprecated Use {@link Closeable}. */\n @Input() set closeable(value: TestRunDetailPanelComponent['Closeable']) {\n this.Closeable = value;\n }\n /** @deprecated Use {@link Closeable}. */\n get closeable(): TestRunDetailPanelComponent['Closeable'] {\n return this.Closeable;\n }\n\n @Output() Close = new EventEmitter<void>();\n\n /**\n * @deprecated Use {@link Close}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (close) keeps working. Must stay AFTER Close: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() close = this.Close;\n @Output() ViewTarget = new EventEmitter<{ type: string; id: string }>();\n\n /**\n * @deprecated Use {@link ViewTarget}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (viewTarget) keeps working. Must stay AFTER ViewTarget: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() viewTarget = this.ViewTarget;\n @Output() SubmitFeedback = new EventEmitter<{\n rating: number;\n isCorrect: boolean;\n comments: string;\n }>();\n\n /**\n * @deprecated Use {@link SubmitFeedback}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (submitFeedback) keeps working. Must stay AFTER SubmitFeedback: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() submitFeedback = this.SubmitFeedback;\n\n ShowResultDetails = false;\n\n /** @deprecated Use {@link ShowResultDetails}. */\n get showResultDetails() {\n return this.ShowResultDetails;\n }\n /** @deprecated Use {@link ShowResultDetails}. */\n set showResultDetails(value) {\n this.ShowResultDetails = value;\n }\n FeedbackRating = 5;\n\n /** @deprecated Use {@link FeedbackRating}. */\n get feedbackRating() {\n return this.FeedbackRating;\n }\n /** @deprecated Use {@link FeedbackRating}. */\n set feedbackRating(value) {\n this.FeedbackRating = value;\n }\n FeedbackIsCorrect = true;\n\n /** @deprecated Use {@link FeedbackIsCorrect}. */\n get feedbackIsCorrect() {\n return this.FeedbackIsCorrect;\n }\n /** @deprecated Use {@link FeedbackIsCorrect}. */\n set feedbackIsCorrect(value) {\n this.FeedbackIsCorrect = value;\n }\n FeedbackComments = '';\n\n /** @deprecated Use {@link FeedbackComments}. */\n get feedbackComments() {\n return this.FeedbackComments;\n }\n /** @deprecated Use {@link FeedbackComments}. */\n set feedbackComments(value) {\n this.FeedbackComments = value;\n }\n SubmittingFeedback = false;\n\n /** @deprecated Use {@link SubmittingFeedback}. */\n get submittingFeedback() {\n return this.SubmittingFeedback;\n }\n /** @deprecated Use {@link SubmittingFeedback}. */\n set submittingFeedback(value) {\n this.SubmittingFeedback = value;\n }\n\n FormatDuration(milliseconds: number): string {\n if (milliseconds < 1000) {\n return `${milliseconds}ms`;\n }\n\n const seconds = Math.floor(milliseconds / 1000);\n const minutes = Math.floor(seconds / 60);\n\n if (minutes > 0) {\n return `${minutes}m ${seconds % 60}s`;\n }\n return `${seconds}s`;\n }\n\n /** @deprecated Use {@link FormatDuration}. */\n formatDuration(milliseconds: number): string {\n return this.FormatDuration(milliseconds);\n }\n\n FormatJSON(obj: any): string {\n try {\n return JSON.stringify(obj, null, 2);\n } catch (error) {\n return String(obj);\n }\n }\n\n /** @deprecated Use {@link FormatJSON}. */\n formatJSON(obj: any): string {\n return this.FormatJSON(obj);\n }\n\n // toggleResultDetails() removed — the Result Details disclosure is now an\n // <mj-accordion-panel> bound via [(Expanded)]=\"showResultDetails\" (pure flip,\n // default change detection), so no explicit toggle handler is needed.\n\n OnClose(): void {\n this.Close.emit();\n }\n\n /** @deprecated Use {@link OnClose}. */\n onClose(): void {\n return this.OnClose();\n }\n\n OnViewTarget(): void {\n if (this.TestRun.targetType && this.TestRun.targetLogID) {\n this.ViewTarget.emit({\n type: this.TestRun.targetType,\n id: this.TestRun.targetLogID\n });\n }\n }\n\n /** @deprecated Use {@link OnViewTarget}. */\n onViewTarget(): void {\n return this.OnViewTarget();\n }\n\n async OnSubmitFeedback(): Promise<void> {\n this.SubmittingFeedback = true;\n this.SubmitFeedback.emit({\n rating: this.FeedbackRating,\n isCorrect: this.FeedbackIsCorrect,\n comments: this.FeedbackComments\n });\n\n // Reset after submission\n setTimeout(() => {\n this.SubmittingFeedback = false;\n this.FeedbackRating = 5;\n this.FeedbackIsCorrect = true;\n this.FeedbackComments = '';\n }, 1000);\n }\n\n /** @deprecated Use {@link OnSubmitFeedback}. */\n async onSubmitFeedback(): Promise<void> {\n return this.OnSubmitFeedback();\n }\n}\n"]}
|
package/dist/module.d.ts
CHANGED
|
@@ -5,27 +5,28 @@ import * as i3 from "./shared/shared-dashboard-widgets.module";
|
|
|
5
5
|
import * as i4 from "./actions-dashboards.module";
|
|
6
6
|
import * as i5 from "./testing-dashboards.module";
|
|
7
7
|
import * as i6 from "./scheduling-dashboards.module";
|
|
8
|
-
import * as i7 from "./
|
|
9
|
-
import * as i8 from "./
|
|
10
|
-
import * as i9 from "./
|
|
11
|
-
import * as i10 from "./
|
|
12
|
-
import * as i11 from "./
|
|
13
|
-
import * as i12 from "./
|
|
14
|
-
import * as i13 from "./
|
|
15
|
-
import * as i14 from "./
|
|
16
|
-
import * as i15 from "./
|
|
17
|
-
import * as i16 from "./
|
|
18
|
-
import * as i17 from "./
|
|
19
|
-
import * as i18 from "./
|
|
20
|
-
import * as i19 from "
|
|
21
|
-
import * as i20 from "@memberjunction/ng-
|
|
22
|
-
import * as i21 from "
|
|
23
|
-
import * as i22 from "
|
|
24
|
-
import * as i23 from "@memberjunction/ng-
|
|
25
|
-
import * as i24 from "@memberjunction/ng-
|
|
26
|
-
import * as i25 from "@memberjunction/ng-
|
|
27
|
-
import * as i26 from "@memberjunction/ng-
|
|
28
|
-
import * as i27 from "@memberjunction/ng-
|
|
8
|
+
import * as i7 from "./rubrics-dashboards.module";
|
|
9
|
+
import * as i8 from "./communication-dashboards.module";
|
|
10
|
+
import * as i9 from "./credentials-dashboards.module";
|
|
11
|
+
import * as i10 from "./data-explorer-dashboards.module";
|
|
12
|
+
import * as i11 from "./predictive-studio-dashboards.module";
|
|
13
|
+
import * as i12 from "./workflows-dashboards.module";
|
|
14
|
+
import * as i13 from "./lists-dashboards.module";
|
|
15
|
+
import * as i14 from "./routines-dashboards.module";
|
|
16
|
+
import * as i15 from "./component-studio-dashboards.module";
|
|
17
|
+
import * as i16 from "./archiving-dashboards.module";
|
|
18
|
+
import * as i17 from "./DatabaseDesigner/database-designer-dashboards.module";
|
|
19
|
+
import * as i18 from "./MCP/mcp.module";
|
|
20
|
+
import * as i19 from "./Integration/integration.module";
|
|
21
|
+
import * as i20 from "@memberjunction/ng-credentials";
|
|
22
|
+
import * as i21 from "@memberjunction/ng-agent-requests";
|
|
23
|
+
import * as i22 from "./shared/shared-pipes.module";
|
|
24
|
+
import * as i23 from "@memberjunction/ng-actions";
|
|
25
|
+
import * as i24 from "@memberjunction/ng-agents";
|
|
26
|
+
import * as i25 from "@memberjunction/ng-markdown";
|
|
27
|
+
import * as i26 from "@memberjunction/ng-versions";
|
|
28
|
+
import * as i27 from "@memberjunction/ng-scheduling";
|
|
29
|
+
import * as i28 from "@memberjunction/ng-trees";
|
|
29
30
|
/**
|
|
30
31
|
* DashboardsModule — backward-compatible wrapper that imports and re-exports
|
|
31
32
|
* all feature modules. Non-MJExplorer consumers can continue importing this
|
|
@@ -36,7 +37,7 @@ import * as i27 from "@memberjunction/ng-trees";
|
|
|
36
37
|
*/
|
|
37
38
|
export declare class DashboardsModule {
|
|
38
39
|
static ɵfac: i0.ɵɵFactoryDeclaration<DashboardsModule, never>;
|
|
39
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<DashboardsModule, never, [typeof i1.CoreDashboardsModule, typeof i2.AIDashboardsModule, typeof i3.SharedDashboardWidgetsModule, typeof i4.ActionsDashboardsModule, typeof i5.TestingDashboardsModule, typeof i6.SchedulingDashboardsModule, typeof i7.
|
|
40
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<DashboardsModule, never, [typeof i1.CoreDashboardsModule, typeof i2.AIDashboardsModule, typeof i3.SharedDashboardWidgetsModule, typeof i4.ActionsDashboardsModule, typeof i5.TestingDashboardsModule, typeof i6.SchedulingDashboardsModule, typeof i7.RubricsDashboardsModule, typeof i8.CommunicationDashboardsModule, typeof i9.CredentialsDashboardsModule, typeof i10.DataExplorerDashboardsModule, typeof i11.PredictiveStudioDashboardsModule, typeof i12.WorkflowsDashboardsModule, typeof i13.ListsDashboardsModule, typeof i14.RoutinesDashboardsModule, typeof i15.ComponentStudioDashboardsModule, typeof i16.ArchivingDashboardsModule, typeof i17.DatabaseDesignerDashboardsModule, typeof i18.MCPModule, typeof i19.IntegrationModule, typeof i20.CredentialsModule, typeof i21.AgentRequestsModule, typeof i22.SharedPipesModule, typeof i23.ActionsModule, typeof i24.AgentsModule, typeof i25.MarkdownModule, typeof i26.VersionsModule, typeof i27.SchedulingModule, typeof i28.NgTreesModule], [typeof i1.CoreDashboardsModule, typeof i2.AIDashboardsModule, typeof i3.SharedDashboardWidgetsModule, typeof i4.ActionsDashboardsModule, typeof i5.TestingDashboardsModule, typeof i6.SchedulingDashboardsModule, typeof i7.RubricsDashboardsModule, typeof i8.CommunicationDashboardsModule, typeof i9.CredentialsDashboardsModule, typeof i10.DataExplorerDashboardsModule, typeof i11.PredictiveStudioDashboardsModule, typeof i12.WorkflowsDashboardsModule, typeof i13.ListsDashboardsModule, typeof i14.RoutinesDashboardsModule, typeof i15.ComponentStudioDashboardsModule, typeof i16.ArchivingDashboardsModule, typeof i17.DatabaseDesignerDashboardsModule, typeof i18.MCPModule, typeof i19.IntegrationModule, typeof i20.CredentialsModule, typeof i21.AgentRequestsModule, typeof i22.SharedPipesModule]>;
|
|
40
41
|
static ɵinj: i0.ɵɵInjectorDeclaration<DashboardsModule>;
|
|
41
42
|
}
|
|
42
43
|
//# sourceMappingURL=module.d.ts.map
|
package/dist/module.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA;;;;;;;GAOG;AACH,qBA0Da,gBAAgB;yCAAhB,gBAAgB;0CAAhB,gBAAgB;0CAAhB,gBAAgB;CAAI"}
|
package/dist/module.js
CHANGED
|
@@ -6,6 +6,7 @@ import { SharedDashboardWidgetsModule } from './shared/shared-dashboard-widgets.
|
|
|
6
6
|
import { ActionsDashboardsModule } from './actions-dashboards.module';
|
|
7
7
|
import { TestingDashboardsModule } from './testing-dashboards.module';
|
|
8
8
|
import { SchedulingDashboardsModule } from './scheduling-dashboards.module';
|
|
9
|
+
import { RubricsDashboardsModule } from './rubrics-dashboards.module';
|
|
9
10
|
import { CommunicationDashboardsModule } from './communication-dashboards.module';
|
|
10
11
|
import { CredentialsDashboardsModule } from './credentials-dashboards.module';
|
|
11
12
|
import { DataExplorerDashboardsModule } from './data-explorer-dashboards.module';
|
|
@@ -47,6 +48,7 @@ export class DashboardsModule {
|
|
|
47
48
|
ActionsDashboardsModule,
|
|
48
49
|
TestingDashboardsModule,
|
|
49
50
|
SchedulingDashboardsModule,
|
|
51
|
+
RubricsDashboardsModule,
|
|
50
52
|
CommunicationDashboardsModule,
|
|
51
53
|
CredentialsDashboardsModule,
|
|
52
54
|
DataExplorerDashboardsModule,
|
|
@@ -74,6 +76,7 @@ export class DashboardsModule {
|
|
|
74
76
|
ActionsDashboardsModule,
|
|
75
77
|
TestingDashboardsModule,
|
|
76
78
|
SchedulingDashboardsModule,
|
|
79
|
+
RubricsDashboardsModule,
|
|
77
80
|
CommunicationDashboardsModule,
|
|
78
81
|
CredentialsDashboardsModule,
|
|
79
82
|
DataExplorerDashboardsModule,
|
|
@@ -101,6 +104,7 @@ export class DashboardsModule {
|
|
|
101
104
|
ActionsDashboardsModule,
|
|
102
105
|
TestingDashboardsModule,
|
|
103
106
|
SchedulingDashboardsModule,
|
|
107
|
+
RubricsDashboardsModule,
|
|
104
108
|
CommunicationDashboardsModule,
|
|
105
109
|
CredentialsDashboardsModule,
|
|
106
110
|
DataExplorerDashboardsModule,
|
|
@@ -131,6 +135,7 @@ export class DashboardsModule {
|
|
|
131
135
|
ActionsDashboardsModule,
|
|
132
136
|
TestingDashboardsModule,
|
|
133
137
|
SchedulingDashboardsModule,
|
|
138
|
+
RubricsDashboardsModule,
|
|
134
139
|
CommunicationDashboardsModule,
|
|
135
140
|
CredentialsDashboardsModule,
|
|
136
141
|
DataExplorerDashboardsModule,
|
|
@@ -156,6 +161,7 @@ export class DashboardsModule {
|
|
|
156
161
|
ActionsDashboardsModule,
|
|
157
162
|
TestingDashboardsModule,
|
|
158
163
|
SchedulingDashboardsModule,
|
|
164
|
+
RubricsDashboardsModule,
|
|
159
165
|
CommunicationDashboardsModule,
|
|
160
166
|
CredentialsDashboardsModule,
|
|
161
167
|
DataExplorerDashboardsModule,
|
|
@@ -183,6 +189,7 @@ export class DashboardsModule {
|
|
|
183
189
|
ActionsDashboardsModule,
|
|
184
190
|
TestingDashboardsModule,
|
|
185
191
|
SchedulingDashboardsModule,
|
|
192
|
+
RubricsDashboardsModule,
|
|
186
193
|
CommunicationDashboardsModule,
|
|
187
194
|
CredentialsDashboardsModule,
|
|
188
195
|
DataExplorerDashboardsModule,
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,iEAAiE;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,wDAAwD,CAAC;AAC1G,8BAA8B;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,+FAA+F;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;;AAEzD;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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","sourcesContent":["import { NgModule } from '@angular/core';\n\n// Feature modules — each declares and exports its own components\nimport { CoreDashboardsModule } from './core-dashboards.module';\nimport { AIDashboardsModule } from './ai-dashboards.module';\nimport { SharedDashboardWidgetsModule } from './shared/shared-dashboard-widgets.module';\nimport { ActionsDashboardsModule } from './actions-dashboards.module';\nimport { TestingDashboardsModule } from './testing-dashboards.module';\nimport { SchedulingDashboardsModule } from './scheduling-dashboards.module';\nimport { RubricsDashboardsModule } from './rubrics-dashboards.module';\nimport { CommunicationDashboardsModule } from './communication-dashboards.module';\nimport { CredentialsDashboardsModule } from './credentials-dashboards.module';\nimport { DataExplorerDashboardsModule } from './data-explorer-dashboards.module';\nimport { PredictiveStudioDashboardsModule } from './predictive-studio-dashboards.module';\nimport { WorkflowsDashboardsModule } from './workflows-dashboards.module';\nimport { ListsDashboardsModule } from './lists-dashboards.module';\nimport { RoutinesDashboardsModule } from './routines-dashboards.module';\nimport { ComponentStudioDashboardsModule } from './component-studio-dashboards.module';\nimport { ArchivingDashboardsModule } from './archiving-dashboards.module';\nimport { DatabaseDesignerDashboardsModule } from './DatabaseDesigner/database-designer-dashboards.module';\n// Existing standalone modules\nimport { MCPModule } from './MCP';\nimport { IntegrationModule } from './Integration/integration.module';\n// External generic modules (imported for backward compatibility with non-MJExplorer consumers)\nimport { CredentialsModule } from '@memberjunction/ng-credentials';\nimport { AgentRequestsModule } from '@memberjunction/ng-agent-requests';\nimport { SharedPipesModule } from './shared/shared-pipes.module';\nimport { ActionsModule } from '@memberjunction/ng-actions';\nimport { AgentsModule } from '@memberjunction/ng-agents';\nimport { MarkdownModule } from '@memberjunction/ng-markdown';\nimport { VersionsModule } from '@memberjunction/ng-versions';\nimport { SchedulingModule } from '@memberjunction/ng-scheduling';\nimport { NgTreesModule } from '@memberjunction/ng-trees';\n\n/**\n * DashboardsModule — backward-compatible wrapper that imports and re-exports\n * all feature modules. Non-MJExplorer consumers can continue importing this\n * single module to get everything.\n *\n * MJExplorer itself will switch to importing individual feature modules\n * for lazy loading in a later phase.\n */\n@NgModule({\n imports: [\n CoreDashboardsModule,\n AIDashboardsModule,\n SharedDashboardWidgetsModule,\n ActionsDashboardsModule,\n TestingDashboardsModule,\n SchedulingDashboardsModule,\n RubricsDashboardsModule,\n CommunicationDashboardsModule,\n CredentialsDashboardsModule,\n DataExplorerDashboardsModule,\n PredictiveStudioDashboardsModule,\n WorkflowsDashboardsModule,\n ListsDashboardsModule,\n RoutinesDashboardsModule,\n ComponentStudioDashboardsModule,\n ArchivingDashboardsModule,\n DatabaseDesignerDashboardsModule,\n MCPModule,\n IntegrationModule,\n // External generic modules (re-exported for backward compatibility)\n CredentialsModule,\n AgentRequestsModule,\n SharedPipesModule,\n ActionsModule,\n AgentsModule,\n MarkdownModule,\n VersionsModule,\n SchedulingModule,\n NgTreesModule\n ],\n exports: [\n CoreDashboardsModule,\n AIDashboardsModule,\n SharedDashboardWidgetsModule,\n ActionsDashboardsModule,\n TestingDashboardsModule,\n SchedulingDashboardsModule,\n RubricsDashboardsModule,\n CommunicationDashboardsModule,\n CredentialsDashboardsModule,\n DataExplorerDashboardsModule,\n PredictiveStudioDashboardsModule,\n WorkflowsDashboardsModule,\n ListsDashboardsModule,\n RoutinesDashboardsModule,\n ComponentStudioDashboardsModule,\n ArchivingDashboardsModule,\n DatabaseDesignerDashboardsModule,\n MCPModule,\n IntegrationModule,\n // External generic modules (re-exported for backward compatibility)\n CredentialsModule,\n AgentRequestsModule,\n SharedPipesModule\n ]\n})\nexport class DashboardsModule { }\n"]}
|
package/dist/public-api.d.ts
CHANGED
|
@@ -59,6 +59,7 @@ export * from './ai-dashboards.module';
|
|
|
59
59
|
export * from './actions-dashboards.module';
|
|
60
60
|
export * from './testing-dashboards.module';
|
|
61
61
|
export * from './scheduling-dashboards.module';
|
|
62
|
+
export * from './rubrics-dashboards.module';
|
|
62
63
|
export * from './communication-dashboards.module';
|
|
63
64
|
export * from './credentials-dashboards.module';
|
|
64
65
|
export * from './data-explorer-dashboards.module';
|
package/dist/public-api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"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"}
|
package/dist/public-api.js
CHANGED
|
@@ -89,6 +89,7 @@ export * from './ai-dashboards.module';
|
|
|
89
89
|
export * from './actions-dashboards.module';
|
|
90
90
|
export * from './testing-dashboards.module';
|
|
91
91
|
export * from './scheduling-dashboards.module';
|
|
92
|
+
export * from './rubrics-dashboards.module';
|
|
92
93
|
export * from './communication-dashboards.module';
|
|
93
94
|
export * from './credentials-dashboards.module';
|
|
94
95
|
export * from './data-explorer-dashboards.module';
|