@memberjunction/ng-dashboards 2.117.0 → 2.118.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/Testing/components/testing-analytics.component.d.ts +56 -0
- package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-analytics.component.js +746 -0
- package/dist/Testing/components/testing-analytics.component.js.map +1 -0
- package/dist/Testing/components/testing-execution.component.d.ts +59 -0
- package/dist/Testing/components/testing-execution.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-execution.component.js +649 -0
- package/dist/Testing/components/testing-execution.component.js.map +1 -0
- package/dist/Testing/components/testing-feedback.component.d.ts +55 -0
- package/dist/Testing/components/testing-feedback.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-feedback.component.js +789 -0
- package/dist/Testing/components/testing-feedback.component.js.map +1 -0
- package/dist/Testing/components/testing-overview.component.d.ts +30 -0
- package/dist/Testing/components/testing-overview.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-overview.component.js +342 -0
- package/dist/Testing/components/testing-overview.component.js.map +1 -0
- package/dist/Testing/components/testing-version-comparison.component.d.ts +58 -0
- package/dist/Testing/components/testing-version-comparison.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-version-comparison.component.js +801 -0
- package/dist/Testing/components/testing-version-comparison.component.js.map +1 -0
- package/dist/Testing/components/widgets/cost-display.component.d.ts +16 -0
- package/dist/Testing/components/widgets/cost-display.component.d.ts.map +1 -0
- package/dist/Testing/components/widgets/cost-display.component.js +88 -0
- package/dist/Testing/components/widgets/cost-display.component.js.map +1 -0
- package/dist/Testing/components/widgets/oracle-breakdown-table.component.d.ts +20 -0
- package/dist/Testing/components/widgets/oracle-breakdown-table.component.d.ts.map +1 -0
- package/dist/Testing/components/widgets/oracle-breakdown-table.component.js +280 -0
- package/dist/Testing/components/widgets/oracle-breakdown-table.component.js.map +1 -0
- package/dist/Testing/components/widgets/score-indicator.component.d.ts +13 -0
- package/dist/Testing/components/widgets/score-indicator.component.d.ts.map +1 -0
- package/dist/Testing/components/widgets/score-indicator.component.js +93 -0
- package/dist/Testing/components/widgets/score-indicator.component.js.map +1 -0
- package/dist/Testing/components/widgets/suite-tree.component.d.ts +28 -0
- package/dist/Testing/components/widgets/suite-tree.component.d.ts.map +1 -0
- package/dist/Testing/components/widgets/suite-tree.component.js +275 -0
- package/dist/Testing/components/widgets/suite-tree.component.js.map +1 -0
- package/dist/Testing/components/widgets/test-run-detail-panel.component.d.ts +34 -0
- package/dist/Testing/components/widgets/test-run-detail-panel.component.d.ts.map +1 -0
- package/dist/Testing/components/widgets/test-run-detail-panel.component.js +373 -0
- package/dist/Testing/components/widgets/test-run-detail-panel.component.js.map +1 -0
- package/dist/Testing/components/widgets/test-run-dialog.component.d.ts +63 -0
- package/dist/Testing/components/widgets/test-run-dialog.component.d.ts.map +1 -0
- package/dist/Testing/components/widgets/test-run-dialog.component.js +989 -0
- package/dist/Testing/components/widgets/test-run-dialog.component.js.map +1 -0
- package/dist/Testing/components/widgets/test-status-badge.component.d.ts +10 -0
- package/dist/Testing/components/widgets/test-status-badge.component.d.ts.map +1 -0
- package/dist/Testing/components/widgets/test-status-badge.component.js +68 -0
- package/dist/Testing/components/widgets/test-status-badge.component.js.map +1 -0
- package/dist/Testing/services/testing-instrumentation.service.d.ts +152 -0
- package/dist/Testing/services/testing-instrumentation.service.d.ts.map +1 -0
- package/dist/Testing/services/testing-instrumentation.service.js +579 -0
- package/dist/Testing/services/testing-instrumentation.service.js.map +1 -0
- package/dist/Testing/testing-dashboard.component.d.ts +52 -0
- package/dist/Testing/testing-dashboard.component.d.ts.map +1 -0
- package/dist/Testing/testing-dashboard.component.js +273 -0
- package/dist/Testing/testing-dashboard.component.js.map +1 -0
- package/dist/module.d.ts +33 -20
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +55 -6
- 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 +3 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +12 -10
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { SuiteHierarchyNode } from '../../services/testing-instrumentation.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class SuiteTreeComponent {
|
|
5
|
+
suites: SuiteHierarchyNode[];
|
|
6
|
+
selectedSuiteId: string | null;
|
|
7
|
+
suiteSelect: EventEmitter<string>;
|
|
8
|
+
onNodeClick(suiteId: string): void;
|
|
9
|
+
onToggleExpand(node: SuiteHierarchyNode): void;
|
|
10
|
+
expandAll(): void;
|
|
11
|
+
collapseAll(): void;
|
|
12
|
+
private setExpandedRecursive;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SuiteTreeComponent, never>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SuiteTreeComponent, "app-suite-tree", never, { "suites": { "alias": "suites"; "required": false; }; "selectedSuiteId": { "alias": "selectedSuiteId"; "required": false; }; }, { "suiteSelect": "suiteSelect"; }, never, never, false, never>;
|
|
15
|
+
}
|
|
16
|
+
export declare class SuiteTreeNodeComponent {
|
|
17
|
+
node: SuiteHierarchyNode;
|
|
18
|
+
level: number;
|
|
19
|
+
selectedId: string | null;
|
|
20
|
+
nodeClick: EventEmitter<string>;
|
|
21
|
+
toggleExpand: EventEmitter<SuiteHierarchyNode>;
|
|
22
|
+
onClick(): void;
|
|
23
|
+
onToggle(event: Event): void;
|
|
24
|
+
getPassRateClass(passRate: number): string;
|
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SuiteTreeNodeComponent, never>;
|
|
26
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SuiteTreeNodeComponent, "app-suite-tree-node", never, { "node": { "alias": "node"; "required": false; }; "level": { "alias": "level"; "required": false; }; "selectedId": { "alias": "selectedId"; "required": false; }; }, { "nodeClick": "nodeClick"; "toggleExpand": "toggleExpand"; }, never, never, false, never>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=suite-tree.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suite-tree.component.d.ts","sourceRoot":"","sources":["../../../../src/Testing/components/widgets/suite-tree.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;;AAEpF,qBA+Ha,kBAAkB;IACpB,MAAM,EAAE,kBAAkB,EAAE,CAAM;IAClC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IACrC,WAAW,uBAA8B;IAEnD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlC,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAI9C,SAAS,IAAI,IAAI;IAIjB,WAAW,IAAI,IAAI;IAInB,OAAO,CAAC,oBAAoB;yCArBjB,kBAAkB;2CAAlB,kBAAkB;CA6B9B;AAED,qBA4Ja,sBAAsB;IACxB,IAAI,EAAG,kBAAkB,CAAC;IAC1B,KAAK,SAAK;IACV,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,SAAS,uBAA8B;IACvC,YAAY,mCAA0C;IAEhE,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAK5B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;yCAhB/B,sBAAsB;2CAAtB,sBAAsB;CAsBlC"}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
const _forTrack0 = ($index, $item) => $item.id;
|
|
5
|
+
function SuiteTreeComponent_Conditional_11_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
6
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
7
|
+
i0.ɵɵelementStart(0, "div")(1, "app-suite-tree-node", 10);
|
|
8
|
+
i0.ɵɵlistener("nodeClick", function SuiteTreeComponent_Conditional_11_For_1_Template_app_suite_tree_node_nodeClick_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onNodeClick($event)); })("toggleExpand", function SuiteTreeComponent_Conditional_11_For_1_Template_app_suite_tree_node_toggleExpand_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onToggleExpand($event)); });
|
|
9
|
+
i0.ɵɵelementEnd()();
|
|
10
|
+
} if (rf & 2) {
|
|
11
|
+
const suite_r3 = ctx.$implicit;
|
|
12
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
13
|
+
i0.ɵɵadvance();
|
|
14
|
+
i0.ɵɵproperty("node", suite_r3)("level", 0)("selectedId", ctx_r1.selectedSuiteId);
|
|
15
|
+
} }
|
|
16
|
+
function SuiteTreeComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
i0.ɵɵrepeaterCreate(0, SuiteTreeComponent_Conditional_11_For_1_Template, 2, 3, "div", null, _forTrack0);
|
|
18
|
+
} if (rf & 2) {
|
|
19
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
20
|
+
i0.ɵɵrepeater(ctx_r1.suites);
|
|
21
|
+
} }
|
|
22
|
+
function SuiteTreeComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
i0.ɵɵelementStart(0, "div", 9);
|
|
24
|
+
i0.ɵɵelement(1, "i", 11);
|
|
25
|
+
i0.ɵɵelementStart(2, "p");
|
|
26
|
+
i0.ɵɵtext(3, "No test suites found");
|
|
27
|
+
i0.ɵɵelementEnd()();
|
|
28
|
+
} }
|
|
29
|
+
function SuiteTreeNodeComponent_button_2_Template(rf, ctx) { if (rf & 1) {
|
|
30
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
31
|
+
i0.ɵɵelementStart(0, "button", 10);
|
|
32
|
+
i0.ɵɵlistener("click", function SuiteTreeNodeComponent_button_2_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onToggle($event)); });
|
|
33
|
+
i0.ɵɵelement(1, "i", 11);
|
|
34
|
+
i0.ɵɵelementEnd();
|
|
35
|
+
} if (rf & 2) {
|
|
36
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
37
|
+
i0.ɵɵadvance();
|
|
38
|
+
i0.ɵɵclassProp("fa-chevron-right", !ctx_r1.node.expanded)("fa-chevron-down", ctx_r1.node.expanded);
|
|
39
|
+
} }
|
|
40
|
+
function SuiteTreeNodeComponent_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
+
i0.ɵɵelement(0, "span", 12);
|
|
42
|
+
} }
|
|
43
|
+
function SuiteTreeNodeComponent_Conditional_13_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
44
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
45
|
+
i0.ɵɵelementStart(0, "div")(1, "app-suite-tree-node", 13);
|
|
46
|
+
i0.ɵɵlistener("nodeClick", function SuiteTreeNodeComponent_Conditional_13_For_1_Template_app_suite_tree_node_nodeClick_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.nodeClick.emit($event)); })("toggleExpand", function SuiteTreeNodeComponent_Conditional_13_For_1_Template_app_suite_tree_node_toggleExpand_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleExpand.emit($event)); });
|
|
47
|
+
i0.ɵɵelementEnd()();
|
|
48
|
+
} if (rf & 2) {
|
|
49
|
+
const child_r4 = ctx.$implicit;
|
|
50
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
51
|
+
i0.ɵɵadvance();
|
|
52
|
+
i0.ɵɵproperty("node", child_r4)("level", ctx_r1.level + 1)("selectedId", ctx_r1.selectedId);
|
|
53
|
+
} }
|
|
54
|
+
function SuiteTreeNodeComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
55
|
+
i0.ɵɵrepeaterCreate(0, SuiteTreeNodeComponent_Conditional_13_For_1_Template, 2, 3, "div", null, _forTrack0);
|
|
56
|
+
} if (rf & 2) {
|
|
57
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
58
|
+
i0.ɵɵrepeater(ctx_r1.node.children);
|
|
59
|
+
} }
|
|
60
|
+
export class SuiteTreeComponent {
|
|
61
|
+
suites = [];
|
|
62
|
+
selectedSuiteId = null;
|
|
63
|
+
suiteSelect = new EventEmitter();
|
|
64
|
+
onNodeClick(suiteId) {
|
|
65
|
+
this.suiteSelect.emit(suiteId);
|
|
66
|
+
}
|
|
67
|
+
onToggleExpand(node) {
|
|
68
|
+
node.expanded = !node.expanded;
|
|
69
|
+
}
|
|
70
|
+
expandAll() {
|
|
71
|
+
this.setExpandedRecursive(this.suites, true);
|
|
72
|
+
}
|
|
73
|
+
collapseAll() {
|
|
74
|
+
this.setExpandedRecursive(this.suites, false);
|
|
75
|
+
}
|
|
76
|
+
setExpandedRecursive(nodes, expanded) {
|
|
77
|
+
nodes.forEach(node => {
|
|
78
|
+
node.expanded = expanded;
|
|
79
|
+
if (node.children && node.children.length > 0) {
|
|
80
|
+
this.setExpandedRecursive(node.children, expanded);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
static ɵfac = function SuiteTreeComponent_Factory(t) { return new (t || SuiteTreeComponent)(); };
|
|
85
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SuiteTreeComponent, selectors: [["app-suite-tree"]], inputs: { suites: "suites", selectedSuiteId: "selectedSuiteId" }, outputs: { suiteSelect: "suiteSelect" }, decls: 13, vars: 1, consts: [[1, "suite-tree"], [1, "tree-header"], [1, "fa-solid", "fa-folder-tree"], [1, "tree-actions"], ["title", "Expand All", 1, "tree-action-btn", 3, "click"], [1, "fa-solid", "fa-chevron-down"], ["title", "Collapse All", 1, "tree-action-btn", 3, "click"], [1, "fa-solid", "fa-chevron-up"], [1, "tree-content"], [1, "no-suites"], [3, "nodeClick", "toggleExpand", "node", "level", "selectedId"], [1, "fa-solid", "fa-folder-open"]], template: function SuiteTreeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
86
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h4");
|
|
87
|
+
i0.ɵɵelement(3, "i", 2);
|
|
88
|
+
i0.ɵɵtext(4, " Test Suites ");
|
|
89
|
+
i0.ɵɵelementEnd();
|
|
90
|
+
i0.ɵɵelementStart(5, "div", 3)(6, "button", 4);
|
|
91
|
+
i0.ɵɵlistener("click", function SuiteTreeComponent_Template_button_click_6_listener() { return ctx.expandAll(); });
|
|
92
|
+
i0.ɵɵelement(7, "i", 5);
|
|
93
|
+
i0.ɵɵelementEnd();
|
|
94
|
+
i0.ɵɵelementStart(8, "button", 6);
|
|
95
|
+
i0.ɵɵlistener("click", function SuiteTreeComponent_Template_button_click_8_listener() { return ctx.collapseAll(); });
|
|
96
|
+
i0.ɵɵelement(9, "i", 7);
|
|
97
|
+
i0.ɵɵelementEnd()()();
|
|
98
|
+
i0.ɵɵelementStart(10, "div", 8);
|
|
99
|
+
i0.ɵɵtemplate(11, SuiteTreeComponent_Conditional_11_Template, 2, 0)(12, SuiteTreeComponent_Conditional_12_Template, 4, 0, "div", 9);
|
|
100
|
+
i0.ɵɵelementEnd()();
|
|
101
|
+
} if (rf & 2) {
|
|
102
|
+
i0.ɵɵadvance(11);
|
|
103
|
+
i0.ɵɵconditional(ctx.suites && ctx.suites.length > 0 ? 11 : 12);
|
|
104
|
+
} }, dependencies: () => [SuiteTreeNodeComponent], styles: [".suite-tree[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n background: white;\n border-radius: 8px;\n overflow: hidden;\n }\n\n .tree-header[_ngcontent-%COMP%] {\n padding: 16px;\n background: #f8f9fa;\n border-bottom: 1px solid #e0e0e0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .tree-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .tree-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #2196f3;\n }\n\n .tree-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n }\n\n .tree-action-btn[_ngcontent-%COMP%] {\n background: white;\n border: 1px solid #ddd;\n padding: 6px 10px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 11px;\n color: #666;\n transition: all 0.2s ease;\n }\n\n .tree-action-btn[_ngcontent-%COMP%]:hover {\n background: #e9ecef;\n border-color: #ccc;\n color: #333;\n }\n\n .tree-action-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n }\n\n .tree-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 8px;\n }\n\n .no-suites[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n color: #999;\n gap: 12px;\n }\n\n .no-suites[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 36px;\n color: #ddd;\n }\n\n .no-suites[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 13px;\n }"] });
|
|
105
|
+
}
|
|
106
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SuiteTreeComponent, [{
|
|
107
|
+
type: Component,
|
|
108
|
+
args: [{ selector: 'app-suite-tree', template: `
|
|
109
|
+
<div class="suite-tree">
|
|
110
|
+
<div class="tree-header">
|
|
111
|
+
<h4>
|
|
112
|
+
<i class="fa-solid fa-folder-tree"></i>
|
|
113
|
+
Test Suites
|
|
114
|
+
</h4>
|
|
115
|
+
<div class="tree-actions">
|
|
116
|
+
<button class="tree-action-btn" (click)="expandAll()" title="Expand All">
|
|
117
|
+
<i class="fa-solid fa-chevron-down"></i>
|
|
118
|
+
</button>
|
|
119
|
+
<button class="tree-action-btn" (click)="collapseAll()" title="Collapse All">
|
|
120
|
+
<i class="fa-solid fa-chevron-up"></i>
|
|
121
|
+
</button>
|
|
122
|
+
</div>
|
|
123
|
+
</div>
|
|
124
|
+
|
|
125
|
+
<div class="tree-content">
|
|
126
|
+
@if (suites && suites.length > 0) {
|
|
127
|
+
@for (suite of suites; track suite.id) {
|
|
128
|
+
<div>
|
|
129
|
+
<app-suite-tree-node
|
|
130
|
+
[node]="suite"
|
|
131
|
+
[level]="0"
|
|
132
|
+
[selectedId]="selectedSuiteId"
|
|
133
|
+
(nodeClick)="onNodeClick($event)"
|
|
134
|
+
(toggleExpand)="onToggleExpand($event)"
|
|
135
|
+
></app-suite-tree-node>
|
|
136
|
+
</div>
|
|
137
|
+
}
|
|
138
|
+
} @else {
|
|
139
|
+
<div class="no-suites">
|
|
140
|
+
<i class="fa-solid fa-folder-open"></i>
|
|
141
|
+
<p>No test suites found</p>
|
|
142
|
+
</div>
|
|
143
|
+
}
|
|
144
|
+
</div>
|
|
145
|
+
</div>
|
|
146
|
+
`, styles: ["\n .suite-tree {\n height: 100%;\n display: flex;\n flex-direction: column;\n background: white;\n border-radius: 8px;\n overflow: hidden;\n }\n\n .tree-header {\n padding: 16px;\n background: #f8f9fa;\n border-bottom: 1px solid #e0e0e0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .tree-header h4 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .tree-header h4 i {\n color: #2196f3;\n }\n\n .tree-actions {\n display: flex;\n gap: 6px;\n }\n\n .tree-action-btn {\n background: white;\n border: 1px solid #ddd;\n padding: 6px 10px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 11px;\n color: #666;\n transition: all 0.2s ease;\n }\n\n .tree-action-btn:hover {\n background: #e9ecef;\n border-color: #ccc;\n color: #333;\n }\n\n .tree-action-btn i {\n font-size: 10px;\n }\n\n .tree-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px;\n }\n\n .no-suites {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n color: #999;\n gap: 12px;\n }\n\n .no-suites i {\n font-size: 36px;\n color: #ddd;\n }\n\n .no-suites p {\n margin: 0;\n font-size: 13px;\n }\n "] }]
|
|
147
|
+
}], null, { suites: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], selectedSuiteId: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], suiteSelect: [{
|
|
152
|
+
type: Output
|
|
153
|
+
}] }); })();
|
|
154
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SuiteTreeComponent, { className: "SuiteTreeComponent", filePath: "src/Testing/components/widgets/suite-tree.component.ts", lineNumber: 131 }); })();
|
|
155
|
+
export class SuiteTreeNodeComponent {
|
|
156
|
+
node;
|
|
157
|
+
level = 0;
|
|
158
|
+
selectedId = null;
|
|
159
|
+
nodeClick = new EventEmitter();
|
|
160
|
+
toggleExpand = new EventEmitter();
|
|
161
|
+
onClick() {
|
|
162
|
+
this.nodeClick.emit(this.node.id);
|
|
163
|
+
}
|
|
164
|
+
onToggle(event) {
|
|
165
|
+
event.stopPropagation();
|
|
166
|
+
this.toggleExpand.emit(this.node);
|
|
167
|
+
}
|
|
168
|
+
getPassRateClass(passRate) {
|
|
169
|
+
if (passRate >= 90)
|
|
170
|
+
return 'excellent';
|
|
171
|
+
if (passRate >= 75)
|
|
172
|
+
return 'good';
|
|
173
|
+
if (passRate >= 50)
|
|
174
|
+
return 'fair';
|
|
175
|
+
return 'poor';
|
|
176
|
+
}
|
|
177
|
+
static ɵfac = function SuiteTreeNodeComponent_Factory(t) { return new (t || SuiteTreeNodeComponent)(); };
|
|
178
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SuiteTreeNodeComponent, selectors: [["app-suite-tree-node"]], inputs: { node: "node", level: "level", selectedId: "selectedId" }, outputs: { nodeClick: "nodeClick", toggleExpand: "toggleExpand" }, decls: 14, vars: 12, consts: [[1, "tree-node"], [1, "node-content", 3, "click"], ["class", "expand-btn", 3, "click", 4, "ngIf"], ["class", "expand-placeholder", 4, "ngIf"], [1, "fa-solid", "fa-folder", "suite-icon"], [1, "suite-name"], [1, "suite-metrics"], ["title", "Test Count", 1, "test-count"], [1, "fa-solid", "fa-flask"], ["title", "Pass Rate", 1, "pass-rate"], [1, "expand-btn", 3, "click"], [1, "fa-solid"], [1, "expand-placeholder"], [3, "nodeClick", "toggleExpand", "node", "level", "selectedId"]], template: function SuiteTreeNodeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
179
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
180
|
+
i0.ɵɵlistener("click", function SuiteTreeNodeComponent_Template_div_click_1_listener() { return ctx.onClick(); });
|
|
181
|
+
i0.ɵɵtemplate(2, SuiteTreeNodeComponent_button_2_Template, 2, 4, "button", 2)(3, SuiteTreeNodeComponent_span_3_Template, 1, 0, "span", 3);
|
|
182
|
+
i0.ɵɵelement(4, "i", 4);
|
|
183
|
+
i0.ɵɵelementStart(5, "span", 5);
|
|
184
|
+
i0.ɵɵtext(6);
|
|
185
|
+
i0.ɵɵelementEnd();
|
|
186
|
+
i0.ɵɵelementStart(7, "div", 6)(8, "span", 7);
|
|
187
|
+
i0.ɵɵelement(9, "i", 8);
|
|
188
|
+
i0.ɵɵtext(10);
|
|
189
|
+
i0.ɵɵelementEnd();
|
|
190
|
+
i0.ɵɵelementStart(11, "span", 9);
|
|
191
|
+
i0.ɵɵtext(12);
|
|
192
|
+
i0.ɵɵelementEnd()()();
|
|
193
|
+
i0.ɵɵtemplate(13, SuiteTreeNodeComponent_Conditional_13_Template, 2, 0);
|
|
194
|
+
i0.ɵɵelementEnd();
|
|
195
|
+
} if (rf & 2) {
|
|
196
|
+
i0.ɵɵstyleProp("padding-left", ctx.level * 16, "px");
|
|
197
|
+
i0.ɵɵadvance();
|
|
198
|
+
i0.ɵɵclassProp("selected", ctx.node.id === ctx.selectedId);
|
|
199
|
+
i0.ɵɵadvance();
|
|
200
|
+
i0.ɵɵproperty("ngIf", ctx.node.children && ctx.node.children.length > 0);
|
|
201
|
+
i0.ɵɵadvance();
|
|
202
|
+
i0.ɵɵproperty("ngIf", !ctx.node.children || ctx.node.children.length === 0);
|
|
203
|
+
i0.ɵɵadvance(3);
|
|
204
|
+
i0.ɵɵtextInterpolate(ctx.node.name);
|
|
205
|
+
i0.ɵɵadvance(4);
|
|
206
|
+
i0.ɵɵtextInterpolate1(" ", ctx.node.testCount, " ");
|
|
207
|
+
i0.ɵɵadvance();
|
|
208
|
+
i0.ɵɵclassMap(ctx.getPassRateClass(ctx.node.passRate));
|
|
209
|
+
i0.ɵɵadvance();
|
|
210
|
+
i0.ɵɵtextInterpolate1(" ", ctx.node.passRate.toFixed(0), "% ");
|
|
211
|
+
i0.ɵɵadvance();
|
|
212
|
+
i0.ɵɵconditional(ctx.node.expanded && ctx.node.children && ctx.node.children.length > 0 ? 13 : -1);
|
|
213
|
+
} }, dependencies: [i1.NgIf, SuiteTreeNodeComponent], styles: [".tree-node[_ngcontent-%COMP%] {\n margin-bottom: 2px;\n }\n\n .node-content[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n padding: 8px 12px;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s ease;\n gap: 8px;\n }\n\n .node-content[_ngcontent-%COMP%]:hover {\n background: #f8f9fa;\n }\n\n .node-content.selected[_ngcontent-%COMP%] {\n background: rgba(33, 150, 243, 0.1);\n border-left: 3px solid #2196f3;\n }\n\n .expand-btn[_ngcontent-%COMP%] {\n background: none;\n border: none;\n cursor: pointer;\n padding: 2px 6px;\n color: #666;\n font-size: 10px;\n transition: color 0.2s ease;\n min-width: 20px;\n }\n\n .expand-btn[_ngcontent-%COMP%]:hover {\n color: #333;\n }\n\n .expand-placeholder[_ngcontent-%COMP%] {\n width: 20px;\n }\n\n .suite-icon[_ngcontent-%COMP%] {\n font-size: 12px;\n color: #ff9800;\n }\n\n .suite-name[_ngcontent-%COMP%] {\n flex: 1;\n font-size: 12px;\n font-weight: 500;\n color: #333;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .suite-metrics[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n font-size: 10px;\n }\n\n .test-count[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 3px;\n color: #666;\n background: #f0f0f0;\n padding: 2px 6px;\n border-radius: 10px;\n }\n\n .test-count[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 9px;\n }\n\n .pass-rate[_ngcontent-%COMP%] {\n font-weight: 600;\n padding: 2px 6px;\n border-radius: 10px;\n min-width: 36px;\n text-align: center;\n }\n\n .pass-rate.excellent[_ngcontent-%COMP%] {\n background: rgba(76, 175, 80, 0.1);\n color: #4caf50;\n }\n\n .pass-rate.good[_ngcontent-%COMP%] {\n background: rgba(139, 195, 74, 0.1);\n color: #8bc34a;\n }\n\n .pass-rate.fair[_ngcontent-%COMP%] {\n background: rgba(255, 193, 7, 0.1);\n color: #ffc107;\n }\n\n .pass-rate.poor[_ngcontent-%COMP%] {\n background: rgba(244, 67, 54, 0.1);\n color: #f44336;\n }"] });
|
|
214
|
+
}
|
|
215
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SuiteTreeNodeComponent, [{
|
|
216
|
+
type: Component,
|
|
217
|
+
args: [{ selector: 'app-suite-tree-node', template: `
|
|
218
|
+
<div class="tree-node" [style.padding-left.px]="level * 16">
|
|
219
|
+
<div
|
|
220
|
+
class="node-content"
|
|
221
|
+
[class.selected]="node.id === selectedId"
|
|
222
|
+
(click)="onClick()"
|
|
223
|
+
>
|
|
224
|
+
<button
|
|
225
|
+
class="expand-btn"
|
|
226
|
+
*ngIf="node.children && node.children.length > 0"
|
|
227
|
+
(click)="onToggle($event)"
|
|
228
|
+
>
|
|
229
|
+
<i class="fa-solid" [class.fa-chevron-right]="!node.expanded" [class.fa-chevron-down]="node.expanded"></i>
|
|
230
|
+
</button>
|
|
231
|
+
<span class="expand-placeholder" *ngIf="!node.children || node.children.length === 0"></span>
|
|
232
|
+
|
|
233
|
+
<i class="fa-solid fa-folder suite-icon"></i>
|
|
234
|
+
|
|
235
|
+
<span class="suite-name">{{ node.name }}</span>
|
|
236
|
+
|
|
237
|
+
<div class="suite-metrics">
|
|
238
|
+
<span class="test-count" title="Test Count">
|
|
239
|
+
<i class="fa-solid fa-flask"></i>
|
|
240
|
+
{{ node.testCount }}
|
|
241
|
+
</span>
|
|
242
|
+
<span class="pass-rate" [class]="getPassRateClass(node.passRate)" title="Pass Rate">
|
|
243
|
+
{{ node.passRate.toFixed(0) }}%
|
|
244
|
+
</span>
|
|
245
|
+
</div>
|
|
246
|
+
</div>
|
|
247
|
+
|
|
248
|
+
@if (node.expanded && node.children && node.children.length > 0) {
|
|
249
|
+
@for (child of node.children; track child.id) {
|
|
250
|
+
<div>
|
|
251
|
+
<app-suite-tree-node
|
|
252
|
+
[node]="child"
|
|
253
|
+
[level]="level + 1"
|
|
254
|
+
[selectedId]="selectedId"
|
|
255
|
+
(nodeClick)="nodeClick.emit($event)"
|
|
256
|
+
(toggleExpand)="toggleExpand.emit($event)"
|
|
257
|
+
></app-suite-tree-node>
|
|
258
|
+
</div>
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
</div>
|
|
262
|
+
`, styles: ["\n .tree-node {\n margin-bottom: 2px;\n }\n\n .node-content {\n display: flex;\n align-items: center;\n padding: 8px 12px;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s ease;\n gap: 8px;\n }\n\n .node-content:hover {\n background: #f8f9fa;\n }\n\n .node-content.selected {\n background: rgba(33, 150, 243, 0.1);\n border-left: 3px solid #2196f3;\n }\n\n .expand-btn {\n background: none;\n border: none;\n cursor: pointer;\n padding: 2px 6px;\n color: #666;\n font-size: 10px;\n transition: color 0.2s ease;\n min-width: 20px;\n }\n\n .expand-btn:hover {\n color: #333;\n }\n\n .expand-placeholder {\n width: 20px;\n }\n\n .suite-icon {\n font-size: 12px;\n color: #ff9800;\n }\n\n .suite-name {\n flex: 1;\n font-size: 12px;\n font-weight: 500;\n color: #333;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .suite-metrics {\n display: flex;\n gap: 8px;\n align-items: center;\n font-size: 10px;\n }\n\n .test-count {\n display: flex;\n align-items: center;\n gap: 3px;\n color: #666;\n background: #f0f0f0;\n padding: 2px 6px;\n border-radius: 10px;\n }\n\n .test-count i {\n font-size: 9px;\n }\n\n .pass-rate {\n font-weight: 600;\n padding: 2px 6px;\n border-radius: 10px;\n min-width: 36px;\n text-align: center;\n }\n\n .pass-rate.excellent {\n background: rgba(76, 175, 80, 0.1);\n color: #4caf50;\n }\n\n .pass-rate.good {\n background: rgba(139, 195, 74, 0.1);\n color: #8bc34a;\n }\n\n .pass-rate.fair {\n background: rgba(255, 193, 7, 0.1);\n color: #ffc107;\n }\n\n .pass-rate.poor {\n background: rgba(244, 67, 54, 0.1);\n color: #f44336;\n }\n "] }]
|
|
263
|
+
}], null, { node: [{
|
|
264
|
+
type: Input
|
|
265
|
+
}], level: [{
|
|
266
|
+
type: Input
|
|
267
|
+
}], selectedId: [{
|
|
268
|
+
type: Input
|
|
269
|
+
}], nodeClick: [{
|
|
270
|
+
type: Output
|
|
271
|
+
}], toggleExpand: [{
|
|
272
|
+
type: Output
|
|
273
|
+
}] }); })();
|
|
274
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SuiteTreeNodeComponent, { className: "SuiteTreeNodeComponent", filePath: "src/Testing/components/widgets/suite-tree.component.ts", lineNumber: 318 }); })();
|
|
275
|
+
//# sourceMappingURL=suite-tree.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suite-tree.component.js","sourceRoot":"","sources":["../../../../src/Testing/components/widgets/suite-tree.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { TestRunSummary } from '../../services/testing-instrumentation.service';
|
|
3
|
+
import { OracleResult } from './oracle-breakdown-table.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class TestRunDetailPanelComponent {
|
|
6
|
+
testRun: TestRunSummary;
|
|
7
|
+
oracleResults: OracleResult[];
|
|
8
|
+
resultDetails: any;
|
|
9
|
+
closeable: boolean;
|
|
10
|
+
close: EventEmitter<void>;
|
|
11
|
+
viewTarget: EventEmitter<{
|
|
12
|
+
type: string;
|
|
13
|
+
id: string;
|
|
14
|
+
}>;
|
|
15
|
+
submitFeedback: EventEmitter<{
|
|
16
|
+
rating: number;
|
|
17
|
+
isCorrect: boolean;
|
|
18
|
+
comments: string;
|
|
19
|
+
}>;
|
|
20
|
+
showResultDetails: boolean;
|
|
21
|
+
feedbackRating: number;
|
|
22
|
+
feedbackIsCorrect: boolean;
|
|
23
|
+
feedbackComments: string;
|
|
24
|
+
submittingFeedback: boolean;
|
|
25
|
+
formatDuration(milliseconds: number): string;
|
|
26
|
+
formatJSON(obj: any): string;
|
|
27
|
+
toggleResultDetails(): void;
|
|
28
|
+
onClose(): void;
|
|
29
|
+
onViewTarget(): void;
|
|
30
|
+
onSubmitFeedback(): Promise<void>;
|
|
31
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TestRunDetailPanelComponent, never>;
|
|
32
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TestRunDetailPanelComponent, "app-test-run-detail-panel", never, { "testRun": { "alias": "testRun"; "required": false; }; "oracleResults": { "alias": "oracleResults"; "required": false; }; "resultDetails": { "alias": "resultDetails"; "required": false; }; "closeable": { "alias": "closeable"; "required": false; }; }, { "close": "close"; "viewTarget": "viewTarget"; "submitFeedback": "submitFeedback"; }, never, never, false, never>;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=test-run-detail-panel.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-run-detail-panel.component.d.ts","sourceRoot":"","sources":["../../../../src/Testing/components/widgets/test-run-detail-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;;AAElE,qBAyXa,2BAA2B;IAC7B,OAAO,EAAG,cAAc,CAAC;IACzB,aAAa,EAAE,YAAY,EAAE,CAAM;IACnC,aAAa,EAAE,GAAG,CAAQ;IAC1B,SAAS,UAAQ;IAEhB,KAAK,qBAA4B;IACjC,UAAU;cAA4B,MAAM;YAAM,MAAM;OAAM;IAC9D,cAAc;gBACd,MAAM;mBACH,OAAO;kBACR,MAAM;OACb;IAEL,iBAAiB,UAAS;IAC1B,cAAc,SAAK;IACnB,iBAAiB,UAAQ;IACzB,gBAAgB,SAAM;IACtB,kBAAkB,UAAS;IAE3B,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAc5C,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;IAQ5B,mBAAmB,IAAI,IAAI;IAI3B,OAAO,IAAI,IAAI;IAIf,YAAY,IAAI,IAAI;IASd,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;yCA3D5B,2BAA2B;2CAA3B,2BAA2B;CA2EvC"}
|