@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 @@
|
|
|
1
|
+
{"version":3,"file":"testing-version-comparison.component.js","sourceRoot":"","sources":["../../../src/Testing/components/testing-version-comparison.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class CostDisplayComponent {
|
|
3
|
+
cost: number;
|
|
4
|
+
showIcon: boolean;
|
|
5
|
+
label?: string;
|
|
6
|
+
decimals: number;
|
|
7
|
+
threshold: {
|
|
8
|
+
low: number;
|
|
9
|
+
high: number;
|
|
10
|
+
};
|
|
11
|
+
formatCost(cost: number): string;
|
|
12
|
+
getMagnitudeClass(): string;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CostDisplayComponent, never>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CostDisplayComponent, "app-cost-display", never, { "cost": { "alias": "cost"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "label": { "alias": "label"; "required": false; }; "decimals": { "alias": "decimals"; "required": false; }; "threshold": { "alias": "threshold"; "required": false; }; }, {}, never, never, false, never>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=cost-display.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cost-display.component.d.ts","sourceRoot":"","sources":["../../../../src/Testing/components/widgets/cost-display.component.ts"],"names":[],"mappings":";AAEA,qBA8Da,oBAAoB;IACtB,IAAI,EAAG,MAAM,CAAC;IACd,QAAQ,UAAQ;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,SAAK;IACb,SAAS;;;MAA4B;IAE9C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAehC,iBAAiB,IAAI,MAAM;yCAtBhB,oBAAoB;2CAApB,oBAAoB;CA4BhC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
function CostDisplayComponent_i_1_Template(rf, ctx) { if (rf & 1) {
|
|
5
|
+
i0.ɵɵelement(0, "i", 4);
|
|
6
|
+
} }
|
|
7
|
+
function CostDisplayComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
i0.ɵɵelementStart(0, "span", 5);
|
|
9
|
+
i0.ɵɵtext(1);
|
|
10
|
+
i0.ɵɵelementEnd();
|
|
11
|
+
} if (rf & 2) {
|
|
12
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
13
|
+
i0.ɵɵadvance();
|
|
14
|
+
i0.ɵɵtextInterpolate(ctx_r0.label);
|
|
15
|
+
} }
|
|
16
|
+
export class CostDisplayComponent {
|
|
17
|
+
cost;
|
|
18
|
+
showIcon = true;
|
|
19
|
+
label;
|
|
20
|
+
decimals = 6;
|
|
21
|
+
threshold = { low: 0.01, high: 1.0 }; // Default thresholds in USD
|
|
22
|
+
formatCost(cost) {
|
|
23
|
+
if (cost == null)
|
|
24
|
+
return '$0.00';
|
|
25
|
+
// Format based on magnitude
|
|
26
|
+
if (cost >= 1000) {
|
|
27
|
+
return `$${(cost / 1000).toFixed(2)}K`;
|
|
28
|
+
}
|
|
29
|
+
else if (cost >= 1) {
|
|
30
|
+
return `$${cost.toFixed(2)}`;
|
|
31
|
+
}
|
|
32
|
+
else if (cost >= 0.01) {
|
|
33
|
+
return `$${cost.toFixed(4)}`;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
return `$${cost.toFixed(this.decimals)}`;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
getMagnitudeClass() {
|
|
40
|
+
if (this.cost < this.threshold.low)
|
|
41
|
+
return 'cost-display--low';
|
|
42
|
+
if (this.cost >= this.threshold.high)
|
|
43
|
+
return 'cost-display--high';
|
|
44
|
+
if (this.cost >= this.threshold.low && this.cost < this.threshold.high)
|
|
45
|
+
return 'cost-display--medium';
|
|
46
|
+
return 'cost-display--normal';
|
|
47
|
+
}
|
|
48
|
+
static ɵfac = function CostDisplayComponent_Factory(t) { return new (t || CostDisplayComponent)(); };
|
|
49
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CostDisplayComponent, selectors: [["app-cost-display"]], inputs: { cost: "cost", showIcon: "showIcon", label: "label", decimals: "decimals", threshold: "threshold" }, decls: 5, vars: 5, consts: [[1, "cost-display"], ["class", "fa-solid fa-dollar-sign cost-icon", 4, "ngIf"], [1, "cost-value"], ["class", "cost-label", 4, "ngIf"], [1, "fa-solid", "fa-dollar-sign", "cost-icon"], [1, "cost-label"]], template: function CostDisplayComponent_Template(rf, ctx) { if (rf & 1) {
|
|
50
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
51
|
+
i0.ɵɵtemplate(1, CostDisplayComponent_i_1_Template, 1, 0, "i", 1);
|
|
52
|
+
i0.ɵɵelementStart(2, "span", 2);
|
|
53
|
+
i0.ɵɵtext(3);
|
|
54
|
+
i0.ɵɵelementEnd();
|
|
55
|
+
i0.ɵɵtemplate(4, CostDisplayComponent_span_4_Template, 2, 1, "span", 3);
|
|
56
|
+
i0.ɵɵelementEnd();
|
|
57
|
+
} if (rf & 2) {
|
|
58
|
+
i0.ɵɵclassMap(ctx.getMagnitudeClass());
|
|
59
|
+
i0.ɵɵadvance();
|
|
60
|
+
i0.ɵɵproperty("ngIf", ctx.showIcon);
|
|
61
|
+
i0.ɵɵadvance(2);
|
|
62
|
+
i0.ɵɵtextInterpolate(ctx.formatCost(ctx.cost));
|
|
63
|
+
i0.ɵɵadvance();
|
|
64
|
+
i0.ɵɵproperty("ngIf", ctx.label);
|
|
65
|
+
} }, dependencies: [i1.NgIf], styles: [".cost-display[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-weight: 500;\n }\n\n .cost-icon[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.7;\n }\n\n .cost-value[_ngcontent-%COMP%] {\n font-family: 'Courier New', monospace;\n font-weight: 600;\n font-size: 13px;\n letter-spacing: 0.3px;\n }\n\n .cost-label[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.6;\n margin-left: 2px;\n }\n\n .cost-display--low[_ngcontent-%COMP%] {\n color: #4caf50;\n }\n\n .cost-display--medium[_ngcontent-%COMP%] {\n color: #ff9800;\n }\n\n .cost-display--high[_ngcontent-%COMP%] {\n color: #f44336;\n }\n\n .cost-display--normal[_ngcontent-%COMP%] {\n color: #666;\n }\n\n @media (max-width: 768px) {\n .cost-value[_ngcontent-%COMP%] {\n font-size: 12px;\n }\n\n .cost-label[_ngcontent-%COMP%] {\n font-size: 9px;\n }\n }"] });
|
|
66
|
+
}
|
|
67
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CostDisplayComponent, [{
|
|
68
|
+
type: Component,
|
|
69
|
+
args: [{ selector: 'app-cost-display', template: `
|
|
70
|
+
<div class="cost-display" [class]="getMagnitudeClass()">
|
|
71
|
+
<i class="fa-solid fa-dollar-sign cost-icon" *ngIf="showIcon"></i>
|
|
72
|
+
<span class="cost-value">{{ formatCost(cost) }}</span>
|
|
73
|
+
<span class="cost-label" *ngIf="label">{{ label }}</span>
|
|
74
|
+
</div>
|
|
75
|
+
`, styles: ["\n .cost-display {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-weight: 500;\n }\n\n .cost-icon {\n font-size: 10px;\n opacity: 0.7;\n }\n\n .cost-value {\n font-family: 'Courier New', monospace;\n font-weight: 600;\n font-size: 13px;\n letter-spacing: 0.3px;\n }\n\n .cost-label {\n font-size: 10px;\n opacity: 0.6;\n margin-left: 2px;\n }\n\n .cost-display--low {\n color: #4caf50;\n }\n\n .cost-display--medium {\n color: #ff9800;\n }\n\n .cost-display--high {\n color: #f44336;\n }\n\n .cost-display--normal {\n color: #666;\n }\n\n @media (max-width: 768px) {\n .cost-value {\n font-size: 12px;\n }\n\n .cost-label {\n font-size: 9px;\n }\n }\n "] }]
|
|
76
|
+
}], null, { cost: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], showIcon: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], label: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], decimals: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], threshold: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}] }); })();
|
|
87
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CostDisplayComponent, { className: "CostDisplayComponent", filePath: "src/Testing/components/widgets/cost-display.component.ts", lineNumber: 65 }); })();
|
|
88
|
+
//# sourceMappingURL=cost-display.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cost-display.component.js","sourceRoot":"","sources":["../../../../src/Testing/components/widgets/cost-display.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;;;;IAM3C,uBAAkE;;;IAElE,+BAAuC;IAAA,YAAW;IAAA,iBAAO;;;IAAlB,cAAW;IAAX,kCAAW;;AAwDxD,MAAM,OAAO,oBAAoB;IACtB,IAAI,CAAU;IACd,QAAQ,GAAG,IAAI,CAAC;IAChB,KAAK,CAAU;IACf,QAAQ,GAAG,CAAC,CAAC;IACb,SAAS,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,4BAA4B;IAE3E,UAAU,CAAC,IAAY;QACrB,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,OAAO,CAAC;QAEjC,4BAA4B;QAC5B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QACzC,CAAC;aAAM,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,CAAC;aAAM,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG;YAAE,OAAO,mBAAmB,CAAC;QAC/D,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI;YAAE,OAAO,oBAAoB,CAAC;QAClE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI;YAAE,OAAO,sBAAsB,CAAC;QACtG,OAAO,sBAAsB,CAAC;IAChC,CAAC;8EA3BU,oBAAoB;6DAApB,oBAAoB;YA3D7B,8BAAwD;YACtD,iEAA8D;YAC9D,+BAAyB;YAAA,YAAsB;YAAA,iBAAO;YACtD,uEAAuC;YACzC,iBAAM;;YAJoB,sCAA6B;YACP,cAAc;YAAd,mCAAc;YACnC,eAAsB;YAAtB,8CAAsB;YACrB,cAAW;YAAX,gCAAW;;;iFAwD9B,oBAAoB;cA9DhC,SAAS;2BACE,kBAAkB,YAClB;;;;;;GAMT;gBAuDQ,IAAI;kBAAZ,KAAK;YACG,QAAQ;kBAAhB,KAAK;YACG,KAAK;kBAAb,KAAK;YACG,QAAQ;kBAAhB,KAAK;YACG,SAAS;kBAAjB,KAAK;;kFALK,oBAAoB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export interface OracleResult {
|
|
3
|
+
name: string;
|
|
4
|
+
status: 'Passed' | 'Failed' | 'Skipped' | 'Error';
|
|
5
|
+
score: number;
|
|
6
|
+
cost: number;
|
|
7
|
+
duration: number;
|
|
8
|
+
errorMessage?: string;
|
|
9
|
+
details?: any;
|
|
10
|
+
}
|
|
11
|
+
export declare class OracleBreakdownTableComponent {
|
|
12
|
+
results: OracleResult[];
|
|
13
|
+
formatDuration(milliseconds: number): string;
|
|
14
|
+
getAggregateScore(): number;
|
|
15
|
+
getTotalCost(): number;
|
|
16
|
+
getTotalDuration(): number;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<OracleBreakdownTableComponent, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<OracleBreakdownTableComponent, "app-oracle-breakdown-table", never, { "results": { "alias": "results"; "required": false; }; }, {}, never, never, false, never>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=oracle-breakdown-table.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oracle-breakdown-table.component.d.ts","sourceRoot":"","sources":["../../../../src/Testing/components/widgets/oracle-breakdown-table.component.ts"],"names":[],"mappings":";AAEA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,qBA+Sa,6BAA6B;IAC/B,OAAO,EAAE,YAAY,EAAE,CAAM;IAEtC,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAkB5C,iBAAiB,IAAI,MAAM;IAM3B,YAAY,IAAI,MAAM;IAKtB,gBAAgB,IAAI,MAAM;yCAhCf,6BAA6B;2CAA7B,6BAA6B;CAoCzC"}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "./test-status-badge.component";
|
|
5
|
+
import * as i3 from "./score-indicator.component";
|
|
6
|
+
import * as i4 from "./cost-display.component";
|
|
7
|
+
const _forTrack0 = ($index, $item) => $item.name;
|
|
8
|
+
function OracleBreakdownTableComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
9
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "span", 7);
|
|
10
|
+
i0.ɵɵtext(2, "Aggregate:");
|
|
11
|
+
i0.ɵɵelementEnd();
|
|
12
|
+
i0.ɵɵelement(3, "app-score-indicator", 8);
|
|
13
|
+
i0.ɵɵelementEnd();
|
|
14
|
+
} if (rf & 2) {
|
|
15
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
16
|
+
i0.ɵɵadvance(3);
|
|
17
|
+
i0.ɵɵproperty("score", ctx_r0.getAggregateScore())("showBar", false);
|
|
18
|
+
} }
|
|
19
|
+
function OracleBreakdownTableComponent_Conditional_7_For_13_i_3_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
+
i0.ɵɵelement(0, "i", 27);
|
|
21
|
+
} }
|
|
22
|
+
function OracleBreakdownTableComponent_Conditional_7_For_13_i_4_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
i0.ɵɵelement(0, "i", 28);
|
|
24
|
+
} }
|
|
25
|
+
function OracleBreakdownTableComponent_Conditional_7_For_13_i_5_Template(rf, ctx) { if (rf & 1) {
|
|
26
|
+
i0.ɵɵelement(0, "i", 29);
|
|
27
|
+
} }
|
|
28
|
+
function OracleBreakdownTableComponent_Conditional_7_For_13_i_6_Template(rf, ctx) { if (rf & 1) {
|
|
29
|
+
i0.ɵɵelement(0, "i", 30);
|
|
30
|
+
} }
|
|
31
|
+
function OracleBreakdownTableComponent_Conditional_7_For_13_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
+
i0.ɵɵelementStart(0, "div", 26)(1, "div", 31);
|
|
33
|
+
i0.ɵɵelement(2, "i", 32);
|
|
34
|
+
i0.ɵɵtext(3);
|
|
35
|
+
i0.ɵɵelementEnd()();
|
|
36
|
+
} if (rf & 2) {
|
|
37
|
+
const oracle_r2 = i0.ɵɵnextContext().$implicit;
|
|
38
|
+
i0.ɵɵadvance(3);
|
|
39
|
+
i0.ɵɵtextInterpolate1(" ", oracle_r2.errorMessage, " ");
|
|
40
|
+
} }
|
|
41
|
+
function OracleBreakdownTableComponent_Conditional_7_For_13_Template(rf, ctx) { if (rf & 1) {
|
|
42
|
+
i0.ɵɵelementStart(0, "div", 17)(1, "div", 18)(2, "div", 19);
|
|
43
|
+
i0.ɵɵtemplate(3, OracleBreakdownTableComponent_Conditional_7_For_13_i_3_Template, 1, 0, "i", 20)(4, OracleBreakdownTableComponent_Conditional_7_For_13_i_4_Template, 1, 0, "i", 21)(5, OracleBreakdownTableComponent_Conditional_7_For_13_i_5_Template, 1, 0, "i", 22)(6, OracleBreakdownTableComponent_Conditional_7_For_13_i_6_Template, 1, 0, "i", 23);
|
|
44
|
+
i0.ɵɵelementStart(7, "span");
|
|
45
|
+
i0.ɵɵtext(8);
|
|
46
|
+
i0.ɵɵelementEnd()()();
|
|
47
|
+
i0.ɵɵelementStart(9, "div", 18);
|
|
48
|
+
i0.ɵɵelement(10, "app-test-status-badge", 24);
|
|
49
|
+
i0.ɵɵelementEnd();
|
|
50
|
+
i0.ɵɵelementStart(11, "div", 18);
|
|
51
|
+
i0.ɵɵelement(12, "app-score-indicator", 8);
|
|
52
|
+
i0.ɵɵelementEnd();
|
|
53
|
+
i0.ɵɵelementStart(13, "div", 18);
|
|
54
|
+
i0.ɵɵelement(14, "app-cost-display", 25);
|
|
55
|
+
i0.ɵɵelementEnd();
|
|
56
|
+
i0.ɵɵelementStart(15, "div", 18);
|
|
57
|
+
i0.ɵɵtext(16);
|
|
58
|
+
i0.ɵɵelementEnd()();
|
|
59
|
+
i0.ɵɵtemplate(17, OracleBreakdownTableComponent_Conditional_7_For_13_Conditional_17_Template, 4, 1, "div", 26);
|
|
60
|
+
} if (rf & 2) {
|
|
61
|
+
const oracle_r2 = ctx.$implicit;
|
|
62
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
63
|
+
i0.ɵɵclassProp("has-error", oracle_r2.errorMessage);
|
|
64
|
+
i0.ɵɵadvance(3);
|
|
65
|
+
i0.ɵɵproperty("ngIf", oracle_r2.status === "Passed");
|
|
66
|
+
i0.ɵɵadvance();
|
|
67
|
+
i0.ɵɵproperty("ngIf", oracle_r2.status === "Failed");
|
|
68
|
+
i0.ɵɵadvance();
|
|
69
|
+
i0.ɵɵproperty("ngIf", oracle_r2.status === "Error");
|
|
70
|
+
i0.ɵɵadvance();
|
|
71
|
+
i0.ɵɵproperty("ngIf", oracle_r2.status === "Skipped");
|
|
72
|
+
i0.ɵɵadvance(2);
|
|
73
|
+
i0.ɵɵtextInterpolate(oracle_r2.name);
|
|
74
|
+
i0.ɵɵadvance(2);
|
|
75
|
+
i0.ɵɵproperty("status", oracle_r2.status)("showIcon", false);
|
|
76
|
+
i0.ɵɵadvance(2);
|
|
77
|
+
i0.ɵɵproperty("score", oracle_r2.score)("showBar", true);
|
|
78
|
+
i0.ɵɵadvance(2);
|
|
79
|
+
i0.ɵɵproperty("cost", oracle_r2.cost)("showIcon", true)("decimals", 6);
|
|
80
|
+
i0.ɵɵadvance(2);
|
|
81
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.formatDuration(oracle_r2.duration), " ");
|
|
82
|
+
i0.ɵɵadvance();
|
|
83
|
+
i0.ɵɵconditional(oracle_r2.errorMessage ? 17 : -1);
|
|
84
|
+
} }
|
|
85
|
+
function OracleBreakdownTableComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
86
|
+
i0.ɵɵelementStart(0, "div", 9)(1, "div", 10)(2, "div", 11);
|
|
87
|
+
i0.ɵɵtext(3, "Oracle");
|
|
88
|
+
i0.ɵɵelementEnd();
|
|
89
|
+
i0.ɵɵelementStart(4, "div", 11);
|
|
90
|
+
i0.ɵɵtext(5, "Status");
|
|
91
|
+
i0.ɵɵelementEnd();
|
|
92
|
+
i0.ɵɵelementStart(6, "div", 11);
|
|
93
|
+
i0.ɵɵtext(7, "Score");
|
|
94
|
+
i0.ɵɵelementEnd();
|
|
95
|
+
i0.ɵɵelementStart(8, "div", 11);
|
|
96
|
+
i0.ɵɵtext(9, "Cost");
|
|
97
|
+
i0.ɵɵelementEnd();
|
|
98
|
+
i0.ɵɵelementStart(10, "div", 11);
|
|
99
|
+
i0.ɵɵtext(11, "Duration");
|
|
100
|
+
i0.ɵɵelementEnd()();
|
|
101
|
+
i0.ɵɵrepeaterCreate(12, OracleBreakdownTableComponent_Conditional_7_For_13_Template, 18, 16, null, null, _forTrack0);
|
|
102
|
+
i0.ɵɵelementEnd();
|
|
103
|
+
i0.ɵɵelementStart(14, "div", 12)(15, "div", 13)(16, "span", 14);
|
|
104
|
+
i0.ɵɵtext(17, "Total Cost:");
|
|
105
|
+
i0.ɵɵelementEnd();
|
|
106
|
+
i0.ɵɵelement(18, "app-cost-display", 15);
|
|
107
|
+
i0.ɵɵelementEnd();
|
|
108
|
+
i0.ɵɵelementStart(19, "div", 13)(20, "span", 14);
|
|
109
|
+
i0.ɵɵtext(21, "Total Duration:");
|
|
110
|
+
i0.ɵɵelementEnd();
|
|
111
|
+
i0.ɵɵelementStart(22, "span", 16);
|
|
112
|
+
i0.ɵɵtext(23);
|
|
113
|
+
i0.ɵɵelementEnd()();
|
|
114
|
+
i0.ɵɵelementStart(24, "div", 13)(25, "span", 14);
|
|
115
|
+
i0.ɵɵtext(26, "Oracles Run:");
|
|
116
|
+
i0.ɵɵelementEnd();
|
|
117
|
+
i0.ɵɵelementStart(27, "span", 16);
|
|
118
|
+
i0.ɵɵtext(28);
|
|
119
|
+
i0.ɵɵelementEnd()()();
|
|
120
|
+
} if (rf & 2) {
|
|
121
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
122
|
+
i0.ɵɵadvance(12);
|
|
123
|
+
i0.ɵɵrepeater(ctx_r0.results);
|
|
124
|
+
i0.ɵɵadvance(6);
|
|
125
|
+
i0.ɵɵproperty("cost", ctx_r0.getTotalCost())("showIcon", true);
|
|
126
|
+
i0.ɵɵadvance(5);
|
|
127
|
+
i0.ɵɵtextInterpolate(ctx_r0.formatDuration(ctx_r0.getTotalDuration()));
|
|
128
|
+
i0.ɵɵadvance(5);
|
|
129
|
+
i0.ɵɵtextInterpolate(ctx_r0.results.length);
|
|
130
|
+
} }
|
|
131
|
+
function OracleBreakdownTableComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
132
|
+
i0.ɵɵelementStart(0, "div", 5);
|
|
133
|
+
i0.ɵɵelement(1, "i", 33);
|
|
134
|
+
i0.ɵɵelementStart(2, "p");
|
|
135
|
+
i0.ɵɵtext(3, "No oracle results available");
|
|
136
|
+
i0.ɵɵelementEnd()();
|
|
137
|
+
} }
|
|
138
|
+
export class OracleBreakdownTableComponent {
|
|
139
|
+
results = [];
|
|
140
|
+
formatDuration(milliseconds) {
|
|
141
|
+
if (milliseconds < 1000) {
|
|
142
|
+
return `${milliseconds}ms`;
|
|
143
|
+
}
|
|
144
|
+
const seconds = Math.floor(milliseconds / 1000);
|
|
145
|
+
const minutes = Math.floor(seconds / 60);
|
|
146
|
+
const hours = Math.floor(minutes / 60);
|
|
147
|
+
if (hours > 0) {
|
|
148
|
+
return `${hours}h ${minutes % 60}m ${seconds % 60}s`;
|
|
149
|
+
}
|
|
150
|
+
else if (minutes > 0) {
|
|
151
|
+
return `${minutes}m ${seconds % 60}s`;
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
return `${seconds}s`;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
getAggregateScore() {
|
|
158
|
+
if (!this.results || this.results.length === 0)
|
|
159
|
+
return 0;
|
|
160
|
+
const total = this.results.reduce((sum, r) => sum + r.score, 0);
|
|
161
|
+
return total / this.results.length;
|
|
162
|
+
}
|
|
163
|
+
getTotalCost() {
|
|
164
|
+
if (!this.results || this.results.length === 0)
|
|
165
|
+
return 0;
|
|
166
|
+
return this.results.reduce((sum, r) => sum + r.cost, 0);
|
|
167
|
+
}
|
|
168
|
+
getTotalDuration() {
|
|
169
|
+
if (!this.results || this.results.length === 0)
|
|
170
|
+
return 0;
|
|
171
|
+
return this.results.reduce((sum, r) => sum + r.duration, 0);
|
|
172
|
+
}
|
|
173
|
+
static ɵfac = function OracleBreakdownTableComponent_Factory(t) { return new (t || OracleBreakdownTableComponent)(); };
|
|
174
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OracleBreakdownTableComponent, selectors: [["app-oracle-breakdown-table"]], inputs: { results: "results" }, decls: 9, vars: 2, consts: [[1, "oracle-breakdown"], [1, "breakdown-header"], [1, "fa-solid", "fa-balance-scale"], ["class", "aggregate-score", 4, "ngIf"], [1, "breakdown-content"], [1, "no-results"], [1, "aggregate-score"], [1, "label"], [3, "score", "showBar"], [1, "oracle-table"], [1, "table-header"], [1, "header-cell"], [1, "breakdown-summary"], [1, "summary-item"], [1, "summary-label"], [3, "cost", "showIcon"], [1, "summary-value"], [1, "table-row"], [1, "table-cell"], [1, "oracle-name"], ["class", "fa-solid fa-check-circle oracle-icon", 4, "ngIf"], ["class", "fa-solid fa-times-circle oracle-icon", 4, "ngIf"], ["class", "fa-solid fa-exclamation-triangle oracle-icon", 4, "ngIf"], ["class", "fa-solid fa-forward oracle-icon", 4, "ngIf"], [3, "status", "showIcon"], [3, "cost", "showIcon", "decimals"], [1, "error-row"], [1, "fa-solid", "fa-check-circle", "oracle-icon"], [1, "fa-solid", "fa-times-circle", "oracle-icon"], [1, "fa-solid", "fa-exclamation-triangle", "oracle-icon"], [1, "fa-solid", "fa-forward", "oracle-icon"], [1, "error-message"], [1, "fa-solid", "fa-exclamation-circle"], [1, "fa-solid", "fa-inbox"]], template: function OracleBreakdownTableComponent_Template(rf, ctx) { if (rf & 1) {
|
|
175
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h4");
|
|
176
|
+
i0.ɵɵelement(3, "i", 2);
|
|
177
|
+
i0.ɵɵtext(4, " Oracle Results ");
|
|
178
|
+
i0.ɵɵelementEnd();
|
|
179
|
+
i0.ɵɵtemplate(5, OracleBreakdownTableComponent_div_5_Template, 4, 2, "div", 3);
|
|
180
|
+
i0.ɵɵelementEnd();
|
|
181
|
+
i0.ɵɵelementStart(6, "div", 4);
|
|
182
|
+
i0.ɵɵtemplate(7, OracleBreakdownTableComponent_Conditional_7_Template, 29, 4)(8, OracleBreakdownTableComponent_Conditional_8_Template, 4, 0, "div", 5);
|
|
183
|
+
i0.ɵɵelementEnd()();
|
|
184
|
+
} if (rf & 2) {
|
|
185
|
+
i0.ɵɵadvance(5);
|
|
186
|
+
i0.ɵɵproperty("ngIf", ctx.results && ctx.results.length > 0);
|
|
187
|
+
i0.ɵɵadvance(2);
|
|
188
|
+
i0.ɵɵconditional(ctx.results && ctx.results.length > 0 ? 7 : 8);
|
|
189
|
+
} }, dependencies: [i1.NgIf, i2.TestStatusBadgeComponent, i3.ScoreIndicatorComponent, i4.CostDisplayComponent], styles: [".oracle-breakdown[_ngcontent-%COMP%] {\n background: white;\n border-radius: 8px;\n overflow: hidden;\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .breakdown-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 .breakdown-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 .breakdown-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #2196f3;\n }\n\n .aggregate-score[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n }\n\n .aggregate-score[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] {\n color: #666;\n font-weight: 500;\n }\n\n .breakdown-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n }\n\n .oracle-table[_ngcontent-%COMP%] {\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n overflow: hidden;\n }\n\n .table-header[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 2fr 120px 150px 120px 100px;\n gap: 12px;\n padding: 12px 16px;\n background: #f8f9fa;\n border-bottom: 1px solid #e0e0e0;\n font-size: 11px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .table-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 2fr 120px 150px 120px 100px;\n gap: 12px;\n padding: 12px 16px;\n border-bottom: 1px solid #f0f0f0;\n align-items: center;\n transition: background 0.2s ease;\n }\n\n .table-row[_ngcontent-%COMP%]:hover {\n background: #f8f9fa;\n }\n\n .table-row[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n }\n\n .table-row.has-error[_ngcontent-%COMP%] {\n border-left: 3px solid #f44336;\n }\n\n .table-cell[_ngcontent-%COMP%] {\n font-size: 12px;\n color: #333;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .oracle-name[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 500;\n }\n\n .oracle-icon[_ngcontent-%COMP%] {\n font-size: 11px;\n }\n\n .oracle-icon.fa-check-circle[_ngcontent-%COMP%] {\n color: #4caf50;\n }\n\n .oracle-icon.fa-times-circle[_ngcontent-%COMP%] {\n color: #f44336;\n }\n\n .oracle-icon.fa-exclamation-triangle[_ngcontent-%COMP%] {\n color: #ff9800;\n }\n\n .oracle-icon.fa-forward[_ngcontent-%COMP%] {\n color: #9e9e9e;\n }\n\n .error-row[_ngcontent-%COMP%] {\n padding: 8px 16px;\n background: #fff3e0;\n border-bottom: 1px solid #f0f0f0;\n border-left: 3px solid #ff9800;\n }\n\n .error-message[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n font-size: 11px;\n color: #e65100;\n font-family: monospace;\n line-height: 1.4;\n }\n\n .error-message[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n flex-shrink: 0;\n margin-top: 2px;\n }\n\n .breakdown-summary[_ngcontent-%COMP%] {\n margin-top: 16px;\n padding: 16px;\n background: #f8f9fa;\n border-radius: 6px;\n display: flex;\n justify-content: space-around;\n gap: 16px;\n }\n\n .summary-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n align-items: center;\n }\n\n .summary-label[_ngcontent-%COMP%] {\n font-size: 10px;\n color: #666;\n font-weight: 500;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .summary-value[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: #333;\n }\n\n .no-results[_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-results[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 36px;\n color: #ddd;\n }\n\n .no-results[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 13px;\n }\n\n @media (max-width: 768px) {\n .table-header[_ngcontent-%COMP%], \n .table-row[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n gap: 8px;\n }\n\n .table-cell[_ngcontent-%COMP%] {\n display: block;\n }\n\n .breakdown-summary[_ngcontent-%COMP%] {\n flex-direction: column;\n gap: 12px;\n }\n }"] });
|
|
190
|
+
}
|
|
191
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OracleBreakdownTableComponent, [{
|
|
192
|
+
type: Component,
|
|
193
|
+
args: [{ selector: 'app-oracle-breakdown-table', template: `
|
|
194
|
+
<div class="oracle-breakdown">
|
|
195
|
+
<div class="breakdown-header">
|
|
196
|
+
<h4>
|
|
197
|
+
<i class="fa-solid fa-balance-scale"></i>
|
|
198
|
+
Oracle Results
|
|
199
|
+
</h4>
|
|
200
|
+
<div class="aggregate-score" *ngIf="results && results.length > 0">
|
|
201
|
+
<span class="label">Aggregate:</span>
|
|
202
|
+
<app-score-indicator [score]="getAggregateScore()" [showBar]="false"></app-score-indicator>
|
|
203
|
+
</div>
|
|
204
|
+
</div>
|
|
205
|
+
|
|
206
|
+
<div class="breakdown-content">
|
|
207
|
+
@if (results && results.length > 0) {
|
|
208
|
+
<div class="oracle-table">
|
|
209
|
+
<div class="table-header">
|
|
210
|
+
<div class="header-cell">Oracle</div>
|
|
211
|
+
<div class="header-cell">Status</div>
|
|
212
|
+
<div class="header-cell">Score</div>
|
|
213
|
+
<div class="header-cell">Cost</div>
|
|
214
|
+
<div class="header-cell">Duration</div>
|
|
215
|
+
</div>
|
|
216
|
+
|
|
217
|
+
@for (oracle of results; track oracle.name) {
|
|
218
|
+
<div class="table-row" [class.has-error]="oracle.errorMessage">
|
|
219
|
+
<div class="table-cell">
|
|
220
|
+
<div class="oracle-name">
|
|
221
|
+
<i class="fa-solid fa-check-circle oracle-icon" *ngIf="oracle.status === 'Passed'"></i>
|
|
222
|
+
<i class="fa-solid fa-times-circle oracle-icon" *ngIf="oracle.status === 'Failed'"></i>
|
|
223
|
+
<i class="fa-solid fa-exclamation-triangle oracle-icon" *ngIf="oracle.status === 'Error'"></i>
|
|
224
|
+
<i class="fa-solid fa-forward oracle-icon" *ngIf="oracle.status === 'Skipped'"></i>
|
|
225
|
+
<span>{{ oracle.name }}</span>
|
|
226
|
+
</div>
|
|
227
|
+
</div>
|
|
228
|
+
<div class="table-cell">
|
|
229
|
+
<app-test-status-badge [status]="oracle.status" [showIcon]="false"></app-test-status-badge>
|
|
230
|
+
</div>
|
|
231
|
+
<div class="table-cell">
|
|
232
|
+
<app-score-indicator [score]="oracle.score" [showBar]="true"></app-score-indicator>
|
|
233
|
+
</div>
|
|
234
|
+
<div class="table-cell">
|
|
235
|
+
<app-cost-display [cost]="oracle.cost" [showIcon]="true" [decimals]="6"></app-cost-display>
|
|
236
|
+
</div>
|
|
237
|
+
<div class="table-cell">
|
|
238
|
+
{{ formatDuration(oracle.duration) }}
|
|
239
|
+
</div>
|
|
240
|
+
</div>
|
|
241
|
+
|
|
242
|
+
@if (oracle.errorMessage) {
|
|
243
|
+
<div class="error-row">
|
|
244
|
+
<div class="error-message">
|
|
245
|
+
<i class="fa-solid fa-exclamation-circle"></i>
|
|
246
|
+
{{ oracle.errorMessage }}
|
|
247
|
+
</div>
|
|
248
|
+
</div>
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
</div>
|
|
252
|
+
|
|
253
|
+
<div class="breakdown-summary">
|
|
254
|
+
<div class="summary-item">
|
|
255
|
+
<span class="summary-label">Total Cost:</span>
|
|
256
|
+
<app-cost-display [cost]="getTotalCost()" [showIcon]="true"></app-cost-display>
|
|
257
|
+
</div>
|
|
258
|
+
<div class="summary-item">
|
|
259
|
+
<span class="summary-label">Total Duration:</span>
|
|
260
|
+
<span class="summary-value">{{ formatDuration(getTotalDuration()) }}</span>
|
|
261
|
+
</div>
|
|
262
|
+
<div class="summary-item">
|
|
263
|
+
<span class="summary-label">Oracles Run:</span>
|
|
264
|
+
<span class="summary-value">{{ results.length }}</span>
|
|
265
|
+
</div>
|
|
266
|
+
</div>
|
|
267
|
+
} @else {
|
|
268
|
+
<div class="no-results">
|
|
269
|
+
<i class="fa-solid fa-inbox"></i>
|
|
270
|
+
<p>No oracle results available</p>
|
|
271
|
+
</div>
|
|
272
|
+
}
|
|
273
|
+
</div>
|
|
274
|
+
</div>
|
|
275
|
+
`, styles: ["\n .oracle-breakdown {\n background: white;\n border-radius: 8px;\n overflow: hidden;\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .breakdown-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 .breakdown-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 .breakdown-header h4 i {\n color: #2196f3;\n }\n\n .aggregate-score {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n }\n\n .aggregate-score .label {\n color: #666;\n font-weight: 500;\n }\n\n .breakdown-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n }\n\n .oracle-table {\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n overflow: hidden;\n }\n\n .table-header {\n display: grid;\n grid-template-columns: 2fr 120px 150px 120px 100px;\n gap: 12px;\n padding: 12px 16px;\n background: #f8f9fa;\n border-bottom: 1px solid #e0e0e0;\n font-size: 11px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .table-row {\n display: grid;\n grid-template-columns: 2fr 120px 150px 120px 100px;\n gap: 12px;\n padding: 12px 16px;\n border-bottom: 1px solid #f0f0f0;\n align-items: center;\n transition: background 0.2s ease;\n }\n\n .table-row:hover {\n background: #f8f9fa;\n }\n\n .table-row:last-child {\n border-bottom: none;\n }\n\n .table-row.has-error {\n border-left: 3px solid #f44336;\n }\n\n .table-cell {\n font-size: 12px;\n color: #333;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .oracle-name {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 500;\n }\n\n .oracle-icon {\n font-size: 11px;\n }\n\n .oracle-icon.fa-check-circle {\n color: #4caf50;\n }\n\n .oracle-icon.fa-times-circle {\n color: #f44336;\n }\n\n .oracle-icon.fa-exclamation-triangle {\n color: #ff9800;\n }\n\n .oracle-icon.fa-forward {\n color: #9e9e9e;\n }\n\n .error-row {\n padding: 8px 16px;\n background: #fff3e0;\n border-bottom: 1px solid #f0f0f0;\n border-left: 3px solid #ff9800;\n }\n\n .error-message {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n font-size: 11px;\n color: #e65100;\n font-family: monospace;\n line-height: 1.4;\n }\n\n .error-message i {\n flex-shrink: 0;\n margin-top: 2px;\n }\n\n .breakdown-summary {\n margin-top: 16px;\n padding: 16px;\n background: #f8f9fa;\n border-radius: 6px;\n display: flex;\n justify-content: space-around;\n gap: 16px;\n }\n\n .summary-item {\n display: flex;\n flex-direction: column;\n gap: 6px;\n align-items: center;\n }\n\n .summary-label {\n font-size: 10px;\n color: #666;\n font-weight: 500;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .summary-value {\n font-size: 14px;\n font-weight: 600;\n color: #333;\n }\n\n .no-results {\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-results i {\n font-size: 36px;\n color: #ddd;\n }\n\n .no-results p {\n margin: 0;\n font-size: 13px;\n }\n\n @media (max-width: 768px) {\n .table-header,\n .table-row {\n grid-template-columns: 1fr;\n gap: 8px;\n }\n\n .table-cell {\n display: block;\n }\n\n .breakdown-summary {\n flex-direction: column;\n gap: 12px;\n }\n }\n "] }]
|
|
276
|
+
}], null, { results: [{
|
|
277
|
+
type: Input
|
|
278
|
+
}] }); })();
|
|
279
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OracleBreakdownTableComponent, { className: "OracleBreakdownTableComponent", filePath: "src/Testing/components/widgets/oracle-breakdown-table.component.ts", lineNumber: 316 }); })();
|
|
280
|
+
//# sourceMappingURL=oracle-breakdown-table.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oracle-breakdown-table.component.js","sourceRoot":"","sources":["../../../../src/Testing/components/widgets/oracle-breakdown-table.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ScoreIndicatorComponent {
|
|
3
|
+
score: number;
|
|
4
|
+
showBar: boolean;
|
|
5
|
+
showIcon: boolean;
|
|
6
|
+
decimals: number;
|
|
7
|
+
formatScore(score: number): string;
|
|
8
|
+
getColorClass(): string;
|
|
9
|
+
getIcon(): string;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScoreIndicatorComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScoreIndicatorComponent, "app-score-indicator", never, { "score": { "alias": "score"; "required": false; }; "showBar": { "alias": "showBar"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "decimals": { "alias": "decimals"; "required": false; }; }, {}, never, never, false, never>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=score-indicator.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"score-indicator.component.d.ts","sourceRoot":"","sources":["../../../../src/Testing/components/widgets/score-indicator.component.ts"],"names":[],"mappings":";AAEA,qBAsGa,uBAAuB;IACzB,KAAK,EAAG,MAAM,CAAC;IACf,OAAO,UAAQ;IACf,QAAQ,UAAQ;IAChB,QAAQ,SAAK;IAEtB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAKlC,aAAa,IAAI,MAAM;IAQvB,OAAO,IAAI,MAAM;yCAnBN,uBAAuB;2CAAvB,uBAAuB;CA0BnC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
function ScoreIndicatorComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
5
|
+
i0.ɵɵelementStart(0, "div", 5);
|
|
6
|
+
i0.ɵɵelement(1, "div", 6);
|
|
7
|
+
i0.ɵɵelementEnd();
|
|
8
|
+
} if (rf & 2) {
|
|
9
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
10
|
+
i0.ɵɵadvance();
|
|
11
|
+
i0.ɵɵstyleProp("width", ctx_r0.score * 100, "%");
|
|
12
|
+
} }
|
|
13
|
+
function ScoreIndicatorComponent_i_3_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
i0.ɵɵelement(0, "i");
|
|
15
|
+
} if (rf & 2) {
|
|
16
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
17
|
+
i0.ɵɵclassMap(ctx_r0.getIcon());
|
|
18
|
+
} }
|
|
19
|
+
export class ScoreIndicatorComponent {
|
|
20
|
+
score; // 0-1.0000
|
|
21
|
+
showBar = true;
|
|
22
|
+
showIcon = true;
|
|
23
|
+
decimals = 4;
|
|
24
|
+
formatScore(score) {
|
|
25
|
+
if (score == null)
|
|
26
|
+
return 'N/A';
|
|
27
|
+
return score.toFixed(this.decimals);
|
|
28
|
+
}
|
|
29
|
+
getColorClass() {
|
|
30
|
+
if (this.score >= 0.9)
|
|
31
|
+
return 'score-indicator--excellent';
|
|
32
|
+
if (this.score >= 0.8)
|
|
33
|
+
return 'score-indicator--good';
|
|
34
|
+
if (this.score >= 0.6)
|
|
35
|
+
return 'score-indicator--fair';
|
|
36
|
+
if (this.score >= 0.4)
|
|
37
|
+
return 'score-indicator--poor';
|
|
38
|
+
return 'score-indicator--fail';
|
|
39
|
+
}
|
|
40
|
+
getIcon() {
|
|
41
|
+
if (this.score >= 0.9)
|
|
42
|
+
return 'fa-solid fa-star';
|
|
43
|
+
if (this.score >= 0.8)
|
|
44
|
+
return 'fa-solid fa-check';
|
|
45
|
+
if (this.score >= 0.6)
|
|
46
|
+
return 'fa-solid fa-minus';
|
|
47
|
+
if (this.score >= 0.4)
|
|
48
|
+
return 'fa-solid fa-exclamation';
|
|
49
|
+
return 'fa-solid fa-times';
|
|
50
|
+
}
|
|
51
|
+
static ɵfac = function ScoreIndicatorComponent_Factory(t) { return new (t || ScoreIndicatorComponent)(); };
|
|
52
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ScoreIndicatorComponent, selectors: [["app-score-indicator"]], inputs: { score: "score", showBar: "showBar", showIcon: "showIcon", decimals: "decimals" }, decls: 6, vars: 5, consts: [[1, "score-indicator"], ["class", "score-bar-container", 4, "ngIf"], [1, "score-value"], [3, "class", 4, "ngIf"], [1, "score-text"], [1, "score-bar-container"], [1, "score-bar"]], template: function ScoreIndicatorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
53
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
54
|
+
i0.ɵɵtemplate(1, ScoreIndicatorComponent_div_1_Template, 2, 2, "div", 1);
|
|
55
|
+
i0.ɵɵelementStart(2, "div", 2);
|
|
56
|
+
i0.ɵɵtemplate(3, ScoreIndicatorComponent_i_3_Template, 1, 2, "i", 3);
|
|
57
|
+
i0.ɵɵelementStart(4, "span", 4);
|
|
58
|
+
i0.ɵɵtext(5);
|
|
59
|
+
i0.ɵɵelementEnd()()();
|
|
60
|
+
} if (rf & 2) {
|
|
61
|
+
i0.ɵɵclassMap(ctx.getColorClass());
|
|
62
|
+
i0.ɵɵadvance();
|
|
63
|
+
i0.ɵɵproperty("ngIf", ctx.showBar);
|
|
64
|
+
i0.ɵɵadvance(2);
|
|
65
|
+
i0.ɵɵproperty("ngIf", ctx.showIcon);
|
|
66
|
+
i0.ɵɵadvance(2);
|
|
67
|
+
i0.ɵɵtextInterpolate(ctx.formatScore(ctx.score));
|
|
68
|
+
} }, dependencies: [i1.NgIf], styles: [".score-indicator[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n }\n\n .score-bar-container[_ngcontent-%COMP%] {\n width: 60px;\n height: 6px;\n background: #e0e0e0;\n border-radius: 3px;\n overflow: hidden;\n }\n\n .score-bar[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: 3px;\n transition: width 0.3s ease, background-color 0.3s ease;\n }\n\n .score-indicator--excellent[_ngcontent-%COMP%] .score-bar[_ngcontent-%COMP%] {\n background: linear-gradient(90deg, #4caf50, #66bb6a);\n }\n\n .score-indicator--good[_ngcontent-%COMP%] .score-bar[_ngcontent-%COMP%] {\n background: linear-gradient(90deg, #8bc34a, #9ccc65);\n }\n\n .score-indicator--fair[_ngcontent-%COMP%] .score-bar[_ngcontent-%COMP%] {\n background: linear-gradient(90deg, #ffc107, #ffca28);\n }\n\n .score-indicator--poor[_ngcontent-%COMP%] .score-bar[_ngcontent-%COMP%] {\n background: linear-gradient(90deg, #ff9800, #ffa726);\n }\n\n .score-indicator--fail[_ngcontent-%COMP%] .score-bar[_ngcontent-%COMP%] {\n background: linear-gradient(90deg, #f44336, #e57373);\n }\n\n .score-value[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n font-weight: 600;\n font-size: 13px;\n }\n\n .score-indicator--excellent[_ngcontent-%COMP%] .score-value[_ngcontent-%COMP%] {\n color: #4caf50;\n }\n\n .score-indicator--good[_ngcontent-%COMP%] .score-value[_ngcontent-%COMP%] {\n color: #8bc34a;\n }\n\n .score-indicator--fair[_ngcontent-%COMP%] .score-value[_ngcontent-%COMP%] {\n color: #ffc107;\n }\n\n .score-indicator--poor[_ngcontent-%COMP%] .score-value[_ngcontent-%COMP%] {\n color: #ff9800;\n }\n\n .score-indicator--fail[_ngcontent-%COMP%] .score-value[_ngcontent-%COMP%] {\n color: #f44336;\n }\n\n .score-value[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n }\n\n .score-text[_ngcontent-%COMP%] {\n font-family: 'Courier New', monospace;\n letter-spacing: 0.5px;\n }\n\n @media (max-width: 768px) {\n .score-bar-container[_ngcontent-%COMP%] {\n width: 40px;\n }\n\n .score-value[_ngcontent-%COMP%] {\n font-size: 12px;\n }\n }"] });
|
|
69
|
+
}
|
|
70
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ScoreIndicatorComponent, [{
|
|
71
|
+
type: Component,
|
|
72
|
+
args: [{ selector: 'app-score-indicator', template: `
|
|
73
|
+
<div class="score-indicator" [class]="getColorClass()">
|
|
74
|
+
<div class="score-bar-container" *ngIf="showBar">
|
|
75
|
+
<div class="score-bar" [style.width.%]="score * 100"></div>
|
|
76
|
+
</div>
|
|
77
|
+
<div class="score-value">
|
|
78
|
+
<i [class]="getIcon()" *ngIf="showIcon"></i>
|
|
79
|
+
<span class="score-text">{{ formatScore(score) }}</span>
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
`, styles: ["\n .score-indicator {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n }\n\n .score-bar-container {\n width: 60px;\n height: 6px;\n background: #e0e0e0;\n border-radius: 3px;\n overflow: hidden;\n }\n\n .score-bar {\n height: 100%;\n border-radius: 3px;\n transition: width 0.3s ease, background-color 0.3s ease;\n }\n\n .score-indicator--excellent .score-bar {\n background: linear-gradient(90deg, #4caf50, #66bb6a);\n }\n\n .score-indicator--good .score-bar {\n background: linear-gradient(90deg, #8bc34a, #9ccc65);\n }\n\n .score-indicator--fair .score-bar {\n background: linear-gradient(90deg, #ffc107, #ffca28);\n }\n\n .score-indicator--poor .score-bar {\n background: linear-gradient(90deg, #ff9800, #ffa726);\n }\n\n .score-indicator--fail .score-bar {\n background: linear-gradient(90deg, #f44336, #e57373);\n }\n\n .score-value {\n display: flex;\n align-items: center;\n gap: 4px;\n font-weight: 600;\n font-size: 13px;\n }\n\n .score-indicator--excellent .score-value {\n color: #4caf50;\n }\n\n .score-indicator--good .score-value {\n color: #8bc34a;\n }\n\n .score-indicator--fair .score-value {\n color: #ffc107;\n }\n\n .score-indicator--poor .score-value {\n color: #ff9800;\n }\n\n .score-indicator--fail .score-value {\n color: #f44336;\n }\n\n .score-value i {\n font-size: 11px;\n }\n\n .score-text {\n font-family: 'Courier New', monospace;\n letter-spacing: 0.5px;\n }\n\n @media (max-width: 768px) {\n .score-bar-container {\n width: 40px;\n }\n\n .score-value {\n font-size: 12px;\n }\n }\n "] }]
|
|
83
|
+
}], null, { score: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], showBar: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], showIcon: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], decimals: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}] }); })();
|
|
92
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ScoreIndicatorComponent, { className: "ScoreIndicatorComponent", filePath: "src/Testing/components/widgets/score-indicator.component.ts", lineNumber: 105 }); })();
|
|
93
|
+
//# sourceMappingURL=score-indicator.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"score-indicator.component.js","sourceRoot":"","sources":["../../../../src/Testing/components/widgets/score-indicator.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;;;;IAM3C,8BAAiD;IAC/C,yBAA2D;IAC7D,iBAAM;;;IADmB,cAA6B;IAA7B,gDAA6B;;;IAGpD,oBAA4C;;;IAAzC,+BAAmB;;AA8F9B,MAAM,OAAO,uBAAuB;IACzB,KAAK,CAAU,CAAC,WAAW;IAC3B,OAAO,GAAG,IAAI,CAAC;IACf,QAAQ,GAAG,IAAI,CAAC;IAChB,QAAQ,GAAG,CAAC,CAAC;IAEtB,WAAW,CAAC,KAAa;QACvB,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAChC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG;YAAE,OAAO,4BAA4B,CAAC;QAC3D,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG;YAAE,OAAO,uBAAuB,CAAC;QACtD,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG;YAAE,OAAO,uBAAuB,CAAC;QACtD,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG;YAAE,OAAO,uBAAuB,CAAC;QACtD,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG;YAAE,OAAO,kBAAkB,CAAC;QACjD,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG;YAAE,OAAO,mBAAmB,CAAC;QAClD,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG;YAAE,OAAO,mBAAmB,CAAC;QAClD,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG;YAAE,OAAO,yBAAyB,CAAC;QACxD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;iFAzBU,uBAAuB;6DAAvB,uBAAuB;YAnGhC,8BAAuD;YACrD,wEAAiD;YAGjD,8BAAyB;YACvB,oEAAwC;YACxC,+BAAyB;YAAA,YAAwB;YAErD,AADE,AADmD,iBAAO,EACpD,EACF;;YARuB,kCAAyB;YAClB,cAAa;YAAb,kCAAa;YAIrB,eAAc;YAAd,mCAAc;YACb,eAAwB;YAAxB,gDAAwB;;;iFA6F5C,uBAAuB;cAtGnC,SAAS;2BACE,qBAAqB,YACrB;;;;;;;;;;GAUT;gBA2FQ,KAAK;kBAAb,KAAK;YACG,OAAO;kBAAf,KAAK;YACG,QAAQ;kBAAhB,KAAK;YACG,QAAQ;kBAAhB,KAAK;;kFAJK,uBAAuB"}
|