@memberjunction/ng-dashboards 5.34.0 → 5.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AI/components/agents/agent-configuration.component.d.ts +51 -0
- package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +399 -292
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts +8 -2
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js +87 -85
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts +75 -0
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.js +400 -89
- package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
- package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts +5 -0
- package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/analytics-filter-bar.component.js +184 -135
- package/dist/AI/components/analytics/analytics-filter-bar.component.js.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +8 -2
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js +104 -103
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts +8 -2
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.js +76 -74
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.js +67 -87
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.js.map +1 -1
- package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts +12 -19
- package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/model-performance/model-performance.component.js +96 -203
- package/dist/AI/components/analytics/model-performance/model-performance.component.js.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +110 -126
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +61 -77
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +990 -992
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +6 -3
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +493 -490
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.d.ts +17 -0
- package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
- package/dist/AI/components/models/model-management.component.js +370 -425
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.d.ts +17 -0
- package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +317 -357
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.d.ts +11 -0
- package/dist/AI/components/requests/agent-requests-resource.component.d.ts.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.js +170 -175
- package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.d.ts +19 -0
- package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +403 -362
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +781 -783
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts +8 -3
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.js +547 -521
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.d.ts +6 -0
- package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +79 -30
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.d.ts +9 -3
- package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +196 -142
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts +41 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.js +388 -94
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
- package/dist/Actions/components/explorer/index.d.ts +0 -1
- package/dist/Actions/components/explorer/index.d.ts.map +1 -1
- package/dist/Actions/components/explorer/index.js +0 -1
- package/dist/Actions/components/explorer/index.js.map +1 -1
- package/dist/Admin/admin-data-schema.component.js +32 -40
- package/dist/Admin/admin-data-schema.component.js.map +1 -1
- package/dist/Admin/admin-dev-tools-resource.component.js +32 -40
- package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
- package/dist/Admin/admin-identity-access.component.js +32 -40
- package/dist/Admin/admin-identity-access.component.js.map +1 -1
- package/dist/Admin/admin-monitoring.component.js +32 -40
- package/dist/Admin/admin-monitoring.component.js.map +1 -1
- package/dist/ApplicationRoles/application-roles-resource.component.js +76 -82
- package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
- package/dist/Archiving/components/archive-config-resource.component.d.ts.map +1 -1
- package/dist/Archiving/components/archive-config-resource.component.js +24 -5
- package/dist/Archiving/components/archive-config-resource.component.js.map +1 -1
- package/dist/Archiving/components/archive-runs-resource.component.d.ts.map +1 -1
- package/dist/Archiving/components/archive-runs-resource.component.js +24 -5
- package/dist/Archiving/components/archive-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js +80 -99
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +127 -106
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js +44 -45
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +60 -58
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-templates-resource.component.js +139 -162
- package/dist/Communication/communication-templates-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts +7 -0
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.js +310 -297
- package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js +245 -266
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.d.ts +7 -0
- package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +381 -399
- package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.js +222 -228
- package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.d.ts +6 -0
- package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +294 -305
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts +8 -0
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +21 -0
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/entity-list.component.js +147 -160
- package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js +19 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +20 -16
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/Home/home-dashboard.component.d.ts +6 -0
- package/dist/Home/home-dashboard.component.d.ts.map +1 -1
- package/dist/Home/home-dashboard.component.js +521 -485
- package/dist/Home/home-dashboard.component.js.map +1 -1
- package/dist/Integration/components/activity/activity.component.d.ts +8 -0
- package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
- package/dist/Integration/components/activity/activity.component.js +309 -318
- package/dist/Integration/components/activity/activity.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +866 -847
- package/dist/Integration/components/connections/connections.component.js.map +1 -1
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +234 -233
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
- package/dist/Integration/components/overview/overview.component.js +182 -163
- package/dist/Integration/components/overview/overview.component.js.map +1 -1
- package/dist/Integration/components/pipelines/pipelines.component.d.ts +2 -0
- package/dist/Integration/components/pipelines/pipelines.component.d.ts.map +1 -1
- package/dist/Integration/components/pipelines/pipelines.component.js +610 -606
- package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
- package/dist/Integration/components/schedules/schedules.component.js +241 -241
- package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
- package/dist/Integration/integration.module.d.ts +1 -1
- package/dist/Integration/integration.module.d.ts.map +1 -1
- package/dist/Integration/integration.module.js +28 -1
- package/dist/Integration/integration.module.js.map +1 -1
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +673 -674
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +54 -51
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +745 -703
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts +12 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +191 -120
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +18 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +486 -532
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.js +152 -160
- package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +302 -319
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.js +234 -246
- package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
- package/dist/MCP/mcp-dashboard.component.d.ts +20 -0
- package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
- package/dist/MCP/mcp-dashboard.component.js +1248 -1338
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/MCP/mcp.module.d.ts +1 -1
- package/dist/MCP/mcp.module.d.ts.map +1 -1
- package/dist/MCP/mcp.module.js +34 -1
- package/dist/MCP/mcp.module.js.map +1 -1
- package/dist/Permissions/audit-log-resource.component.js +76 -85
- package/dist/Permissions/audit-log-resource.component.js.map +1 -1
- package/dist/Permissions/resource-access-resource.component.js +64 -69
- package/dist/Permissions/resource-access-resource.component.js.map +1 -1
- package/dist/Permissions/user-access-resource.component.js +63 -74
- package/dist/Permissions/user-access-resource.component.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +2 -2
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +2 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.js +11 -12
- package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts +9 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.js +250 -197
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +2 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js +11 -12
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts +9 -1
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js +203 -147
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +2 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.js +11 -12
- package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.d.ts +3 -1
- package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.js +224 -190
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.d.ts +19 -6
- package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +262 -104
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +4 -0
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.js +812 -784
- package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.js +7 -14
- package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics.component.d.ts +3 -1
- package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics.component.js +420 -393
- package/dist/Testing/components/testing-analytics.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +16 -19
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts +3 -1
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.js +157 -122
- package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.js +7 -12
- package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer.component.d.ts +8 -1
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer.component.js +587 -608
- package/dist/Testing/components/testing-explorer.component.js.map +1 -1
- package/dist/Testing/components/testing-review-resource.component.d.ts +4 -1
- package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-review-resource.component.js +9 -12
- package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-review.component.d.ts +3 -1
- package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-review.component.js +310 -274
- package/dist/Testing/components/testing-review.component.js.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.js +16 -19
- package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-runs.component.d.ts +3 -1
- package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs.component.js +307 -273
- package/dist/Testing/components/testing-runs.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.d.ts +2 -0
- package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +107 -93
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/VersionHistory/components/diff-resource.component.js +185 -188
- package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/graph-resource.component.js +154 -184
- package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.d.ts +7 -0
- package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.js +350 -354
- package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.js +163 -169
- package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
- package/dist/actions-dashboards.module.d.ts +15 -16
- package/dist/actions-dashboards.module.d.ts.map +1 -1
- package/dist/actions-dashboards.module.js +34 -11
- package/dist/actions-dashboards.module.js.map +1 -1
- package/dist/ai-dashboards.module.d.ts +45 -48
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +36 -10
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/archiving-dashboards.module.d.ts +2 -1
- package/dist/archiving-dashboards.module.d.ts.map +1 -1
- package/dist/archiving-dashboards.module.js +12 -2
- package/dist/archiving-dashboards.module.js.map +1 -1
- package/dist/communication-dashboards.module.d.ts +2 -1
- package/dist/communication-dashboards.module.d.ts.map +1 -1
- package/dist/communication-dashboards.module.js +24 -3
- package/dist/communication-dashboards.module.js.map +1 -1
- package/dist/core-dashboards.module.d.ts +1 -1
- package/dist/core-dashboards.module.d.ts.map +1 -1
- package/dist/core-dashboards.module.js +31 -1
- package/dist/core-dashboards.module.js.map +1 -1
- package/dist/credentials-dashboards.module.d.ts +1 -1
- package/dist/credentials-dashboards.module.d.ts.map +1 -1
- package/dist/credentials-dashboards.module.js +28 -1
- package/dist/credentials-dashboards.module.js.map +1 -1
- package/dist/lists-dashboards.module.d.ts +1 -1
- package/dist/lists-dashboards.module.d.ts.map +1 -1
- package/dist/lists-dashboards.module.js +28 -1
- package/dist/lists-dashboards.module.js.map +1 -1
- package/dist/public-api.d.ts +2 -2
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -3
- package/dist/public-api.js.map +1 -1
- package/dist/scheduling-dashboards.module.d.ts +1 -1
- package/dist/scheduling-dashboards.module.d.ts.map +1 -1
- package/dist/scheduling-dashboards.module.js +31 -1
- package/dist/scheduling-dashboards.module.js.map +1 -1
- package/dist/testing-dashboards.module.d.ts +8 -7
- package/dist/testing-dashboards.module.d.ts.map +1 -1
- package/dist/testing-dashboards.module.js +30 -0
- package/dist/testing-dashboards.module.js.map +1 -1
- package/package.json +52 -52
- package/dist/AI/components/agents/agent-filter-panel.component.d.ts +0 -56
- package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +0 -1
- package/dist/AI/components/agents/agent-filter-panel.component.js +0 -285
- package/dist/AI/components/agents/agent-filter-panel.component.js.map +0 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts +0 -49
- package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +0 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.js +0 -184
- package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +0 -1
- package/dist/AI/components/system/system-config-filter-panel.component.d.ts +0 -33
- package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +0 -1
- package/dist/AI/components/system/system-config-filter-panel.component.js +0 -144
- package/dist/AI/components/system/system-config-filter-panel.component.js.map +0 -1
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts +0 -63
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +0 -1
- package/dist/Actions/components/explorer/action-toolbar.component.js +0 -463
- package/dist/Actions/components/explorer/action-toolbar.component.js.map +0 -1
|
@@ -4,540 +4,673 @@ import { map, shareReplay } from 'rxjs/operators';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../services/testing-instrumentation.service";
|
|
6
6
|
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@memberjunction/ng-ui-components";
|
|
7
8
|
const _forTrack0 = ($index, $item) => $item.days;
|
|
8
9
|
const _forTrack1 = ($index, $item) => $item.testName;
|
|
9
10
|
const _forTrack2 = ($index, $item) => $item.label;
|
|
10
11
|
const _forTrack3 = ($index, $item) => $item.version;
|
|
11
|
-
function
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
i0.ɵɵ
|
|
12
|
+
function TestingAnalyticsComponent_Conditional_0_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
13
|
+
i0.ɵɵelementContainer(0);
|
|
14
|
+
} }
|
|
15
|
+
function TestingAnalyticsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
+
i0.ɵɵtemplate(0, TestingAnalyticsComponent_Conditional_0_ng_container_0_Template, 1, 0, "ng-container", 1);
|
|
17
|
+
} if (rf & 2) {
|
|
18
|
+
i0.ɵɵnextContext();
|
|
19
|
+
const content_r1 = i0.ɵɵreference(3);
|
|
20
|
+
i0.ɵɵproperty("ngTemplateOutlet", content_r1);
|
|
21
|
+
} }
|
|
22
|
+
function TestingAnalyticsComponent_Conditional_1_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
24
|
+
i0.ɵɵelementStart(0, "mj-filter-chip", 6);
|
|
25
|
+
i0.ɵɵlistener("Clicked", function TestingAnalyticsComponent_Conditional_1_For_4_Template_mj_filter_chip_Clicked_0_listener() { const range_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.OnTimeRangeSelect(range_r4.days)); });
|
|
16
26
|
i0.ɵɵelementEnd();
|
|
17
27
|
} if (rf & 2) {
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
i0.ɵɵ
|
|
21
|
-
i0.ɵɵadvance();
|
|
22
|
-
i0.ɵɵtextInterpolate1(" ", range_r2.label, " ");
|
|
28
|
+
const range_r4 = ctx.$implicit;
|
|
29
|
+
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
30
|
+
i0.ɵɵproperty("Label", range_r4.label)("Active", ctx_r4.SelectedDays === range_r4.days);
|
|
23
31
|
} }
|
|
24
|
-
function
|
|
25
|
-
i0.ɵɵ
|
|
26
|
-
|
|
32
|
+
function TestingAnalyticsComponent_Conditional_1_ng_container_7_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
i0.ɵɵelementContainer(0);
|
|
34
|
+
} }
|
|
35
|
+
function TestingAnalyticsComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
36
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
37
|
+
i0.ɵɵelementStart(0, "mj-page-layout")(1, "mj-page-header", 2)(2, "div", 3);
|
|
38
|
+
i0.ɵɵrepeaterCreate(3, TestingAnalyticsComponent_Conditional_1_For_4_Template, 1, 2, "mj-filter-chip", 4, _forTrack0);
|
|
39
|
+
i0.ɵɵelementStart(5, "mj-refresh-button", 5);
|
|
40
|
+
i0.ɵɵlistener("Clicked", function TestingAnalyticsComponent_Conditional_1_Template_mj_refresh_button_Clicked_5_listener() { i0.ɵɵrestoreView(_r2); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.Refresh()); });
|
|
41
|
+
i0.ɵɵelementEnd()()();
|
|
42
|
+
i0.ɵɵelementStart(6, "mj-page-body");
|
|
43
|
+
i0.ɵɵtemplate(7, TestingAnalyticsComponent_Conditional_1_ng_container_7_Template, 1, 0, "ng-container", 1);
|
|
44
|
+
i0.ɵɵelementEnd()();
|
|
45
|
+
} if (rf & 2) {
|
|
46
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
47
|
+
const content_r1 = i0.ɵɵreference(3);
|
|
48
|
+
i0.ɵɵadvance(3);
|
|
49
|
+
i0.ɵɵrepeater(ctx_r4.TimeRanges);
|
|
50
|
+
i0.ɵɵadvance(4);
|
|
51
|
+
i0.ɵɵproperty("ngTemplateOutlet", content_r1);
|
|
52
|
+
} }
|
|
53
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_9_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
54
|
+
i0.ɵɵelementStart(0, "div", 27);
|
|
55
|
+
i0.ɵɵelement(1, "i", 29);
|
|
27
56
|
i0.ɵɵelementStart(2, "span");
|
|
28
57
|
i0.ɵɵtext(3, "No trend data");
|
|
29
58
|
i0.ɵɵelementEnd()();
|
|
30
59
|
} }
|
|
31
|
-
function
|
|
32
|
-
i0.ɵɵelementStart(0, "div",
|
|
60
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_9_Conditional_1_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
61
|
+
i0.ɵɵelementStart(0, "div", 31)(1, "span", 33);
|
|
33
62
|
i0.ɵɵtext(2);
|
|
34
63
|
i0.ɵɵelementEnd();
|
|
35
|
-
i0.ɵɵelementStart(3, "div",
|
|
36
|
-
i0.ɵɵelement(4, "div",
|
|
64
|
+
i0.ɵɵelementStart(3, "div", 34);
|
|
65
|
+
i0.ɵɵelement(4, "div", 35);
|
|
37
66
|
i0.ɵɵelementEnd();
|
|
38
|
-
i0.ɵɵelementStart(5, "span",
|
|
67
|
+
i0.ɵɵelementStart(5, "span", 36);
|
|
39
68
|
i0.ɵɵtext(6);
|
|
40
69
|
i0.ɵɵpipe(7, "number");
|
|
41
70
|
i0.ɵɵelementEnd()();
|
|
42
71
|
} if (rf & 2) {
|
|
43
|
-
const
|
|
44
|
-
const
|
|
72
|
+
const t_r6 = ctx.$implicit;
|
|
73
|
+
const ctx_r4 = i0.ɵɵnextContext(4);
|
|
45
74
|
i0.ɵɵadvance(2);
|
|
46
|
-
i0.ɵɵtextInterpolate(
|
|
75
|
+
i0.ɵɵtextInterpolate(ctx_r4.FormatBucketDate(t_r6.timestamp));
|
|
47
76
|
i0.ɵɵadvance(2);
|
|
48
|
-
i0.ɵɵstyleProp("width",
|
|
77
|
+
i0.ɵɵstyleProp("width", ctx_r4.PassRate(t_r6), "%");
|
|
49
78
|
i0.ɵɵadvance();
|
|
50
|
-
i0.ɵɵclassMap(
|
|
79
|
+
i0.ɵɵclassMap(ctx_r4.PassRateClass(t_r6));
|
|
51
80
|
i0.ɵɵadvance();
|
|
52
|
-
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(7, 6,
|
|
81
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(7, 6, ctx_r4.PassRate(t_r6), "1.0-0"), "%");
|
|
53
82
|
} }
|
|
54
|
-
function
|
|
55
|
-
i0.ɵɵelement(0, "i",
|
|
56
|
-
i0.ɵɵelementStart(1, "span",
|
|
83
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_9_Conditional_1_Conditional_4_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
84
|
+
i0.ɵɵelement(0, "i", 37);
|
|
85
|
+
i0.ɵɵelementStart(1, "span", 38);
|
|
57
86
|
i0.ɵɵtext(2, "Improving");
|
|
58
87
|
i0.ɵɵelementEnd();
|
|
59
88
|
} }
|
|
60
|
-
function
|
|
61
|
-
i0.ɵɵelement(0, "i",
|
|
62
|
-
i0.ɵɵelementStart(1, "span",
|
|
89
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_9_Conditional_1_Conditional_4_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
90
|
+
i0.ɵɵelement(0, "i", 39);
|
|
91
|
+
i0.ɵɵelementStart(1, "span", 40);
|
|
63
92
|
i0.ɵɵtext(2, "Declining");
|
|
64
93
|
i0.ɵɵelementEnd();
|
|
65
94
|
} }
|
|
66
|
-
function
|
|
67
|
-
i0.ɵɵelement(0, "i",
|
|
68
|
-
i0.ɵɵelementStart(1, "span",
|
|
95
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_9_Conditional_1_Conditional_4_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
96
|
+
i0.ɵɵelement(0, "i", 41);
|
|
97
|
+
i0.ɵɵelementStart(1, "span", 42);
|
|
69
98
|
i0.ɵɵtext(2, "Stable");
|
|
70
99
|
i0.ɵɵelementEnd();
|
|
71
100
|
} }
|
|
72
|
-
function
|
|
73
|
-
i0.ɵɵconditionalCreate(0,
|
|
101
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_9_Conditional_1_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
102
|
+
i0.ɵɵconditionalCreate(0, TestingAnalyticsComponent_ng_template_2_Conditional_9_Conditional_1_Conditional_4_Conditional_0_Template, 3, 0)(1, TestingAnalyticsComponent_ng_template_2_Conditional_9_Conditional_1_Conditional_4_Conditional_1_Template, 3, 0)(2, TestingAnalyticsComponent_ng_template_2_Conditional_9_Conditional_1_Conditional_4_Conditional_2_Template, 3, 0);
|
|
74
103
|
} if (rf & 2) {
|
|
75
|
-
const
|
|
76
|
-
i0.ɵɵconditional(
|
|
104
|
+
const dir_r7 = ctx;
|
|
105
|
+
i0.ɵɵconditional(dir_r7 === "up" ? 0 : dir_r7 === "down" ? 1 : 2);
|
|
77
106
|
} }
|
|
78
|
-
function
|
|
79
|
-
i0.ɵɵelementStart(0, "div",
|
|
80
|
-
i0.ɵɵrepeaterCreate(1,
|
|
107
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_9_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
108
|
+
i0.ɵɵelementStart(0, "div", 30);
|
|
109
|
+
i0.ɵɵrepeaterCreate(1, TestingAnalyticsComponent_ng_template_2_Conditional_9_Conditional_1_For_2_Template, 8, 9, "div", 31, i0.ɵɵcomponentInstance().trackTrend, true);
|
|
81
110
|
i0.ɵɵelementEnd();
|
|
82
|
-
i0.ɵɵelementStart(3, "div",
|
|
83
|
-
i0.ɵɵconditionalCreate(4,
|
|
111
|
+
i0.ɵɵelementStart(3, "div", 32);
|
|
112
|
+
i0.ɵɵconditionalCreate(4, TestingAnalyticsComponent_ng_template_2_Conditional_9_Conditional_1_Conditional_4_Template, 3, 1);
|
|
84
113
|
i0.ɵɵpipe(5, "async");
|
|
85
114
|
i0.ɵɵelementEnd();
|
|
86
115
|
} if (rf & 2) {
|
|
87
|
-
let
|
|
88
|
-
const
|
|
89
|
-
const
|
|
116
|
+
let tmp_6_0;
|
|
117
|
+
const trends_r8 = i0.ɵɵnextContext();
|
|
118
|
+
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
90
119
|
i0.ɵɵadvance();
|
|
91
|
-
i0.ɵɵrepeater(
|
|
120
|
+
i0.ɵɵrepeater(trends_r8);
|
|
92
121
|
i0.ɵɵadvance(3);
|
|
93
|
-
i0.ɵɵconditional((
|
|
122
|
+
i0.ɵɵconditional((tmp_6_0 = i0.ɵɵpipeBind1(5, 1, ctx_r4.PassRateTrendDirection$)) ? 4 : -1, tmp_6_0);
|
|
94
123
|
} }
|
|
95
|
-
function
|
|
96
|
-
i0.ɵɵconditionalCreate(0,
|
|
124
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
125
|
+
i0.ɵɵconditionalCreate(0, TestingAnalyticsComponent_ng_template_2_Conditional_9_Conditional_0_Template, 4, 0, "div", 27)(1, TestingAnalyticsComponent_ng_template_2_Conditional_9_Conditional_1_Template, 6, 3);
|
|
97
126
|
} if (rf & 2) {
|
|
98
127
|
i0.ɵɵconditional(ctx.length === 0 ? 0 : 1);
|
|
99
128
|
} }
|
|
100
|
-
function
|
|
101
|
-
i0.ɵɵelementStart(0, "div",
|
|
102
|
-
i0.ɵɵelement(1, "i",
|
|
129
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_15_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
130
|
+
i0.ɵɵelementStart(0, "div", 27);
|
|
131
|
+
i0.ɵɵelement(1, "i", 43);
|
|
103
132
|
i0.ɵɵelementStart(2, "span");
|
|
104
133
|
i0.ɵɵtext(3, "No volume data");
|
|
105
134
|
i0.ɵɵelementEnd()();
|
|
106
135
|
} }
|
|
107
|
-
function
|
|
108
|
-
i0.ɵɵelementStart(0, "div",
|
|
136
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_15_Conditional_1_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
137
|
+
i0.ɵɵelementStart(0, "div", 31)(1, "span", 33);
|
|
109
138
|
i0.ɵɵtext(2);
|
|
110
139
|
i0.ɵɵelementEnd();
|
|
111
|
-
i0.ɵɵelementStart(3, "div",
|
|
112
|
-
i0.ɵɵelement(4, "div",
|
|
140
|
+
i0.ɵɵelementStart(3, "div", 48);
|
|
141
|
+
i0.ɵɵelement(4, "div", 49)(5, "div", 50)(6, "div", 51);
|
|
113
142
|
i0.ɵɵelementEnd();
|
|
114
|
-
i0.ɵɵelementStart(7, "span",
|
|
143
|
+
i0.ɵɵelementStart(7, "span", 36);
|
|
115
144
|
i0.ɵɵtext(8);
|
|
116
145
|
i0.ɵɵelementEnd()();
|
|
117
146
|
} if (rf & 2) {
|
|
118
|
-
const
|
|
119
|
-
const
|
|
147
|
+
const t_r9 = ctx.$implicit;
|
|
148
|
+
const ctx_r4 = i0.ɵɵnextContext(4);
|
|
120
149
|
i0.ɵɵadvance(2);
|
|
121
|
-
i0.ɵɵtextInterpolate(
|
|
150
|
+
i0.ɵɵtextInterpolate(ctx_r4.FormatBucketDate(t_r9.timestamp));
|
|
122
151
|
i0.ɵɵadvance(2);
|
|
123
|
-
i0.ɵɵstyleProp("width",
|
|
152
|
+
i0.ɵɵstyleProp("width", ctx_r4.SegmentPct(t_r9, "passed"), "%");
|
|
124
153
|
i0.ɵɵadvance();
|
|
125
|
-
i0.ɵɵstyleProp("width",
|
|
154
|
+
i0.ɵɵstyleProp("width", ctx_r4.SegmentPct(t_r9, "failed"), "%");
|
|
126
155
|
i0.ɵɵadvance();
|
|
127
|
-
i0.ɵɵstyleProp("width",
|
|
156
|
+
i0.ɵɵstyleProp("width", ctx_r4.SegmentPct(t_r9, "skipped"), "%");
|
|
128
157
|
i0.ɵɵadvance(2);
|
|
129
|
-
i0.ɵɵtextInterpolate(
|
|
158
|
+
i0.ɵɵtextInterpolate(t_r9.totalRuns);
|
|
130
159
|
} }
|
|
131
|
-
function
|
|
132
|
-
i0.ɵɵelementStart(0, "div",
|
|
133
|
-
i0.ɵɵrepeaterCreate(1,
|
|
160
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_15_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
161
|
+
i0.ɵɵelementStart(0, "div", 30);
|
|
162
|
+
i0.ɵɵrepeaterCreate(1, TestingAnalyticsComponent_ng_template_2_Conditional_15_Conditional_1_For_2_Template, 9, 8, "div", 31, i0.ɵɵcomponentInstance().trackTrend, true);
|
|
134
163
|
i0.ɵɵelementEnd();
|
|
135
|
-
i0.ɵɵelementStart(3, "div",
|
|
136
|
-
i0.ɵɵelement(4, "span",
|
|
164
|
+
i0.ɵɵelementStart(3, "div", 44);
|
|
165
|
+
i0.ɵɵelement(4, "span", 45);
|
|
137
166
|
i0.ɵɵtext(5, " Passed ");
|
|
138
|
-
i0.ɵɵelement(6, "span",
|
|
167
|
+
i0.ɵɵelement(6, "span", 46);
|
|
139
168
|
i0.ɵɵtext(7, " Failed ");
|
|
140
|
-
i0.ɵɵelement(8, "span",
|
|
169
|
+
i0.ɵɵelement(8, "span", 47);
|
|
141
170
|
i0.ɵɵtext(9, " Skipped ");
|
|
142
171
|
i0.ɵɵelementEnd();
|
|
143
172
|
} if (rf & 2) {
|
|
144
|
-
const
|
|
173
|
+
const trends_r10 = i0.ɵɵnextContext();
|
|
145
174
|
i0.ɵɵadvance();
|
|
146
|
-
i0.ɵɵrepeater(
|
|
175
|
+
i0.ɵɵrepeater(trends_r10);
|
|
147
176
|
} }
|
|
148
|
-
function
|
|
149
|
-
i0.ɵɵconditionalCreate(0,
|
|
177
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
178
|
+
i0.ɵɵconditionalCreate(0, TestingAnalyticsComponent_ng_template_2_Conditional_15_Conditional_0_Template, 4, 0, "div", 27)(1, TestingAnalyticsComponent_ng_template_2_Conditional_15_Conditional_1_Template, 10, 0);
|
|
150
179
|
} if (rf & 2) {
|
|
151
180
|
i0.ɵɵconditional(ctx.length === 0 ? 0 : 1);
|
|
152
181
|
} }
|
|
153
|
-
function
|
|
154
|
-
i0.ɵɵelementStart(0, "div",
|
|
155
|
-
i0.ɵɵelement(1, "i",
|
|
182
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_21_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
183
|
+
i0.ɵɵelementStart(0, "div", 27);
|
|
184
|
+
i0.ɵɵelement(1, "i", 52);
|
|
156
185
|
i0.ɵɵelementStart(2, "span");
|
|
157
186
|
i0.ɵɵtext(3, "No score data");
|
|
158
187
|
i0.ɵɵelementEnd()();
|
|
159
188
|
} }
|
|
160
|
-
function
|
|
161
|
-
i0.ɵɵelementStart(0, "div",
|
|
189
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_21_Conditional_1_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
190
|
+
i0.ɵɵelementStart(0, "div", 31)(1, "span", 33);
|
|
162
191
|
i0.ɵɵtext(2);
|
|
163
192
|
i0.ɵɵelementEnd();
|
|
164
|
-
i0.ɵɵelementStart(3, "div",
|
|
165
|
-
i0.ɵɵelement(4, "div",
|
|
193
|
+
i0.ɵɵelementStart(3, "div", 34);
|
|
194
|
+
i0.ɵɵelement(4, "div", 53);
|
|
166
195
|
i0.ɵɵelementEnd();
|
|
167
|
-
i0.ɵɵelementStart(5, "span",
|
|
196
|
+
i0.ɵɵelementStart(5, "span", 36);
|
|
168
197
|
i0.ɵɵtext(6);
|
|
169
198
|
i0.ɵɵpipe(7, "number");
|
|
170
199
|
i0.ɵɵelementEnd()();
|
|
171
200
|
} if (rf & 2) {
|
|
172
|
-
const
|
|
173
|
-
const
|
|
201
|
+
const t_r11 = ctx.$implicit;
|
|
202
|
+
const ctx_r4 = i0.ɵɵnextContext(4);
|
|
174
203
|
i0.ɵɵadvance(2);
|
|
175
|
-
i0.ɵɵtextInterpolate(
|
|
204
|
+
i0.ɵɵtextInterpolate(ctx_r4.FormatBucketDate(t_r11.timestamp));
|
|
176
205
|
i0.ɵɵadvance(2);
|
|
177
|
-
i0.ɵɵclassMap(
|
|
178
|
-
i0.ɵɵstyleProp("width",
|
|
206
|
+
i0.ɵɵclassMap(ctx_r4.ScoreBarClass(t_r11.averageScore));
|
|
207
|
+
i0.ɵɵstyleProp("width", t_r11.averageScore * 100, "%");
|
|
179
208
|
i0.ɵɵadvance();
|
|
180
|
-
i0.ɵɵclassMap(
|
|
209
|
+
i0.ɵɵclassMap(ctx_r4.ScoreTextClass(t_r11.averageScore));
|
|
181
210
|
i0.ɵɵadvance();
|
|
182
|
-
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(7, 8,
|
|
211
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(7, 8, t_r11.averageScore * 100, "1.0-0"), "%");
|
|
183
212
|
} }
|
|
184
|
-
function
|
|
185
|
-
i0.ɵɵelementStart(0, "div",
|
|
186
|
-
i0.ɵɵrepeaterCreate(1,
|
|
213
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_21_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
214
|
+
i0.ɵɵelementStart(0, "div", 30);
|
|
215
|
+
i0.ɵɵrepeaterCreate(1, TestingAnalyticsComponent_ng_template_2_Conditional_21_Conditional_1_For_2_Template, 8, 11, "div", 31, i0.ɵɵcomponentInstance().trackTrend, true);
|
|
187
216
|
i0.ɵɵelementEnd();
|
|
188
217
|
} if (rf & 2) {
|
|
189
|
-
const
|
|
218
|
+
const trends_r12 = i0.ɵɵnextContext();
|
|
190
219
|
i0.ɵɵadvance();
|
|
191
|
-
i0.ɵɵrepeater(
|
|
220
|
+
i0.ɵɵrepeater(trends_r12);
|
|
192
221
|
} }
|
|
193
|
-
function
|
|
194
|
-
i0.ɵɵconditionalCreate(0,
|
|
222
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
223
|
+
i0.ɵɵconditionalCreate(0, TestingAnalyticsComponent_ng_template_2_Conditional_21_Conditional_0_Template, 4, 0, "div", 27)(1, TestingAnalyticsComponent_ng_template_2_Conditional_21_Conditional_1_Template, 3, 0, "div", 30);
|
|
195
224
|
} if (rf & 2) {
|
|
196
225
|
i0.ɵɵconditional(ctx.length === 0 ? 0 : 1);
|
|
197
226
|
} }
|
|
198
|
-
function
|
|
199
|
-
i0.ɵɵelementStart(0, "div",
|
|
200
|
-
i0.ɵɵelement(1, "i",
|
|
227
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_27_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
228
|
+
i0.ɵɵelementStart(0, "div", 27);
|
|
229
|
+
i0.ɵɵelement(1, "i", 54);
|
|
201
230
|
i0.ɵɵelementStart(2, "span");
|
|
202
231
|
i0.ɵɵtext(3, "No cost data");
|
|
203
232
|
i0.ɵɵelementEnd()();
|
|
204
233
|
} }
|
|
205
|
-
function
|
|
206
|
-
i0.ɵɵelementStart(0, "div",
|
|
234
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_27_Conditional_1_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
235
|
+
i0.ɵɵelementStart(0, "div", 31)(1, "span", 33);
|
|
207
236
|
i0.ɵɵtext(2);
|
|
208
237
|
i0.ɵɵelementEnd();
|
|
209
|
-
i0.ɵɵelementStart(3, "div",
|
|
210
|
-
i0.ɵɵelement(4, "div",
|
|
238
|
+
i0.ɵɵelementStart(3, "div", 34);
|
|
239
|
+
i0.ɵɵelement(4, "div", 55);
|
|
211
240
|
i0.ɵɵelementEnd();
|
|
212
|
-
i0.ɵɵelementStart(5, "span",
|
|
241
|
+
i0.ɵɵelementStart(5, "span", 36);
|
|
213
242
|
i0.ɵɵtext(6);
|
|
214
243
|
i0.ɵɵpipe(7, "number");
|
|
215
244
|
i0.ɵɵelementEnd()();
|
|
216
245
|
} if (rf & 2) {
|
|
217
|
-
const
|
|
218
|
-
const
|
|
219
|
-
const
|
|
246
|
+
const t_r13 = ctx.$implicit;
|
|
247
|
+
const trends_r14 = i0.ɵɵnextContext(2);
|
|
248
|
+
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
220
249
|
i0.ɵɵadvance(2);
|
|
221
|
-
i0.ɵɵtextInterpolate(
|
|
250
|
+
i0.ɵɵtextInterpolate(ctx_r4.FormatBucketDate(t_r13.timestamp));
|
|
222
251
|
i0.ɵɵadvance(2);
|
|
223
|
-
i0.ɵɵstyleProp("width",
|
|
252
|
+
i0.ɵɵstyleProp("width", ctx_r4.CostBarPct(t_r13, trends_r14), "%");
|
|
224
253
|
i0.ɵɵadvance(2);
|
|
225
|
-
i0.ɵɵtextInterpolate1("$", i0.ɵɵpipeBind2(7, 4,
|
|
254
|
+
i0.ɵɵtextInterpolate1("$", i0.ɵɵpipeBind2(7, 4, t_r13.totalCost, "1.2-2"));
|
|
226
255
|
} }
|
|
227
|
-
function
|
|
228
|
-
i0.ɵɵelementStart(0, "div",
|
|
229
|
-
i0.ɵɵrepeaterCreate(1,
|
|
256
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_27_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
257
|
+
i0.ɵɵelementStart(0, "div", 30);
|
|
258
|
+
i0.ɵɵrepeaterCreate(1, TestingAnalyticsComponent_ng_template_2_Conditional_27_Conditional_1_For_2_Template, 8, 7, "div", 31, i0.ɵɵcomponentInstance().trackTrend, true);
|
|
230
259
|
i0.ɵɵelementEnd();
|
|
231
260
|
} if (rf & 2) {
|
|
232
|
-
const
|
|
261
|
+
const trends_r14 = i0.ɵɵnextContext();
|
|
233
262
|
i0.ɵɵadvance();
|
|
234
|
-
i0.ɵɵrepeater(
|
|
263
|
+
i0.ɵɵrepeater(trends_r14);
|
|
235
264
|
} }
|
|
236
|
-
function
|
|
237
|
-
i0.ɵɵconditionalCreate(0,
|
|
265
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
266
|
+
i0.ɵɵconditionalCreate(0, TestingAnalyticsComponent_ng_template_2_Conditional_27_Conditional_0_Template, 4, 0, "div", 27)(1, TestingAnalyticsComponent_ng_template_2_Conditional_27_Conditional_1_Template, 3, 0, "div", 30);
|
|
238
267
|
} if (rf & 2) {
|
|
239
268
|
i0.ɵɵconditional(ctx.length === 0 ? 0 : 1);
|
|
240
269
|
} }
|
|
241
|
-
function
|
|
242
|
-
i0.ɵɵelementStart(0, "div",
|
|
243
|
-
i0.ɵɵelement(1, "i",
|
|
270
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_37_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
271
|
+
i0.ɵɵelementStart(0, "div", 27);
|
|
272
|
+
i0.ɵɵelement(1, "i", 57);
|
|
244
273
|
i0.ɵɵelementStart(2, "span");
|
|
245
274
|
i0.ɵɵtext(3, "No failing tests");
|
|
246
275
|
i0.ɵɵelementEnd()();
|
|
247
276
|
} }
|
|
248
|
-
function
|
|
249
|
-
i0.ɵɵelementStart(0, "div",
|
|
277
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_37_Conditional_1_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
278
|
+
i0.ɵɵelementStart(0, "div", 58)(1, "span", 59);
|
|
250
279
|
i0.ɵɵtext(2);
|
|
251
280
|
i0.ɵɵelementEnd();
|
|
252
|
-
i0.ɵɵelementStart(3, "span",
|
|
281
|
+
i0.ɵɵelementStart(3, "span", 60);
|
|
253
282
|
i0.ɵɵtext(4);
|
|
254
283
|
i0.ɵɵelementEnd();
|
|
255
|
-
i0.ɵɵelementStart(5, "span",
|
|
284
|
+
i0.ɵɵelementStart(5, "span", 61);
|
|
256
285
|
i0.ɵɵtext(6);
|
|
257
286
|
i0.ɵɵpipe(7, "number");
|
|
258
287
|
i0.ɵɵelementEnd()();
|
|
259
288
|
} if (rf & 2) {
|
|
260
|
-
const
|
|
289
|
+
const t_r15 = ctx.$implicit;
|
|
261
290
|
i0.ɵɵadvance();
|
|
262
|
-
i0.ɵɵproperty("title",
|
|
291
|
+
i0.ɵɵproperty("title", t_r15.testName);
|
|
263
292
|
i0.ɵɵadvance();
|
|
264
|
-
i0.ɵɵtextInterpolate(
|
|
293
|
+
i0.ɵɵtextInterpolate(t_r15.testName);
|
|
265
294
|
i0.ɵɵadvance(2);
|
|
266
|
-
i0.ɵɵtextInterpolate(
|
|
295
|
+
i0.ɵɵtextInterpolate(t_r15.failureCount);
|
|
267
296
|
i0.ɵɵadvance(2);
|
|
268
|
-
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(7, 4,
|
|
297
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(7, 4, t_r15.failureRate, "1.0-1"), "%");
|
|
269
298
|
} }
|
|
270
|
-
function
|
|
271
|
-
i0.ɵɵelementStart(0, "div",
|
|
272
|
-
i0.ɵɵrepeaterCreate(1,
|
|
299
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_37_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
300
|
+
i0.ɵɵelementStart(0, "div", 56);
|
|
301
|
+
i0.ɵɵrepeaterCreate(1, TestingAnalyticsComponent_ng_template_2_Conditional_37_Conditional_1_For_2_Template, 8, 7, "div", 58, _forTrack1);
|
|
273
302
|
i0.ɵɵelementEnd();
|
|
274
303
|
} if (rf & 2) {
|
|
275
|
-
const
|
|
304
|
+
const tests_r16 = i0.ɵɵnextContext();
|
|
276
305
|
i0.ɵɵadvance();
|
|
277
|
-
i0.ɵɵrepeater(
|
|
306
|
+
i0.ɵɵrepeater(tests_r16);
|
|
278
307
|
} }
|
|
279
|
-
function
|
|
280
|
-
i0.ɵɵconditionalCreate(0,
|
|
308
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_37_Template(rf, ctx) { if (rf & 1) {
|
|
309
|
+
i0.ɵɵconditionalCreate(0, TestingAnalyticsComponent_ng_template_2_Conditional_37_Conditional_0_Template, 4, 0, "div", 27)(1, TestingAnalyticsComponent_ng_template_2_Conditional_37_Conditional_1_Template, 3, 0, "div", 56);
|
|
281
310
|
} if (rf & 2) {
|
|
282
311
|
i0.ɵɵconditional(ctx.length === 0 ? 0 : 1);
|
|
283
312
|
} }
|
|
284
|
-
function
|
|
285
|
-
i0.ɵɵelementStart(0, "div",
|
|
286
|
-
i0.ɵɵelement(1, "i",
|
|
313
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_43_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
314
|
+
i0.ɵɵelementStart(0, "div", 27);
|
|
315
|
+
i0.ɵɵelement(1, "i", 62);
|
|
287
316
|
i0.ɵɵelementStart(2, "span");
|
|
288
317
|
i0.ɵɵtext(3, "No duration data");
|
|
289
318
|
i0.ɵɵelementEnd()();
|
|
290
319
|
} }
|
|
291
|
-
function
|
|
292
|
-
i0.ɵɵelementStart(0, "div",
|
|
320
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_43_Conditional_1_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
321
|
+
i0.ɵɵelementStart(0, "div", 58)(1, "span", 59);
|
|
293
322
|
i0.ɵɵtext(2);
|
|
294
323
|
i0.ɵɵelementEnd();
|
|
295
|
-
i0.ɵɵelementStart(3, "span",
|
|
324
|
+
i0.ɵɵelementStart(3, "span", 63);
|
|
296
325
|
i0.ɵɵtext(4);
|
|
297
326
|
i0.ɵɵelementEnd();
|
|
298
|
-
i0.ɵɵelementStart(5, "span",
|
|
327
|
+
i0.ɵɵelementStart(5, "span", 61);
|
|
299
328
|
i0.ɵɵtext(6);
|
|
300
329
|
i0.ɵɵelementEnd()();
|
|
301
330
|
} if (rf & 2) {
|
|
302
|
-
const
|
|
303
|
-
const
|
|
331
|
+
const t_r17 = ctx.$implicit;
|
|
332
|
+
const ctx_r4 = i0.ɵɵnextContext(4);
|
|
304
333
|
i0.ɵɵadvance();
|
|
305
|
-
i0.ɵɵproperty("title",
|
|
334
|
+
i0.ɵɵproperty("title", t_r17.testName);
|
|
306
335
|
i0.ɵɵadvance();
|
|
307
|
-
i0.ɵɵtextInterpolate(
|
|
336
|
+
i0.ɵɵtextInterpolate(t_r17.testName);
|
|
308
337
|
i0.ɵɵadvance(2);
|
|
309
|
-
i0.ɵɵtextInterpolate(
|
|
338
|
+
i0.ɵɵtextInterpolate(ctx_r4.FormatDuration(t_r17.avgDuration));
|
|
310
339
|
i0.ɵɵadvance(2);
|
|
311
|
-
i0.ɵɵtextInterpolate1("max ",
|
|
340
|
+
i0.ɵɵtextInterpolate1("max ", ctx_r4.FormatDuration(t_r17.maxDuration));
|
|
312
341
|
} }
|
|
313
|
-
function
|
|
314
|
-
i0.ɵɵelementStart(0, "div",
|
|
315
|
-
i0.ɵɵrepeaterCreate(1,
|
|
342
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_43_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
343
|
+
i0.ɵɵelementStart(0, "div", 56);
|
|
344
|
+
i0.ɵɵrepeaterCreate(1, TestingAnalyticsComponent_ng_template_2_Conditional_43_Conditional_1_For_2_Template, 7, 4, "div", 58, _forTrack1);
|
|
316
345
|
i0.ɵɵelementEnd();
|
|
317
346
|
} if (rf & 2) {
|
|
318
|
-
const
|
|
347
|
+
const tests_r18 = i0.ɵɵnextContext();
|
|
319
348
|
i0.ɵɵadvance();
|
|
320
|
-
i0.ɵɵrepeater(
|
|
349
|
+
i0.ɵɵrepeater(tests_r18);
|
|
321
350
|
} }
|
|
322
|
-
function
|
|
323
|
-
i0.ɵɵconditionalCreate(0,
|
|
351
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_43_Template(rf, ctx) { if (rf & 1) {
|
|
352
|
+
i0.ɵɵconditionalCreate(0, TestingAnalyticsComponent_ng_template_2_Conditional_43_Conditional_0_Template, 4, 0, "div", 27)(1, TestingAnalyticsComponent_ng_template_2_Conditional_43_Conditional_1_Template, 3, 0, "div", 56);
|
|
324
353
|
} if (rf & 2) {
|
|
325
354
|
i0.ɵɵconditional(ctx.length === 0 ? 0 : 1);
|
|
326
355
|
} }
|
|
327
|
-
function
|
|
328
|
-
i0.ɵɵelementStart(0, "div",
|
|
329
|
-
i0.ɵɵelement(1, "i",
|
|
356
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_49_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
357
|
+
i0.ɵɵelementStart(0, "div", 27);
|
|
358
|
+
i0.ɵɵelement(1, "i", 15);
|
|
330
359
|
i0.ɵɵelementStart(2, "span");
|
|
331
360
|
i0.ɵɵtext(3, "No cost data");
|
|
332
361
|
i0.ɵɵelementEnd()();
|
|
333
362
|
} }
|
|
334
|
-
function
|
|
335
|
-
i0.ɵɵelementStart(0, "div",
|
|
363
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_49_Conditional_1_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
364
|
+
i0.ɵɵelementStart(0, "div", 58)(1, "span", 59);
|
|
336
365
|
i0.ɵɵtext(2);
|
|
337
366
|
i0.ɵɵelementEnd();
|
|
338
|
-
i0.ɵɵelementStart(3, "span",
|
|
367
|
+
i0.ɵɵelementStart(3, "span", 63);
|
|
339
368
|
i0.ɵɵtext(4);
|
|
340
369
|
i0.ɵɵpipe(5, "number");
|
|
341
370
|
i0.ɵɵelementEnd();
|
|
342
|
-
i0.ɵɵelementStart(6, "span",
|
|
371
|
+
i0.ɵɵelementStart(6, "span", 61);
|
|
343
372
|
i0.ɵɵtext(7);
|
|
344
373
|
i0.ɵɵpipe(8, "number");
|
|
345
374
|
i0.ɵɵelementEnd()();
|
|
346
375
|
} if (rf & 2) {
|
|
347
|
-
const
|
|
376
|
+
const t_r19 = ctx.$implicit;
|
|
348
377
|
i0.ɵɵadvance();
|
|
349
|
-
i0.ɵɵproperty("title",
|
|
378
|
+
i0.ɵɵproperty("title", t_r19.testName);
|
|
350
379
|
i0.ɵɵadvance();
|
|
351
|
-
i0.ɵɵtextInterpolate(
|
|
380
|
+
i0.ɵɵtextInterpolate(t_r19.testName);
|
|
352
381
|
i0.ɵɵadvance(2);
|
|
353
|
-
i0.ɵɵtextInterpolate1("$", i0.ɵɵpipeBind2(5, 4,
|
|
382
|
+
i0.ɵɵtextInterpolate1("$", i0.ɵɵpipeBind2(5, 4, t_r19.totalCost, "1.2-2"));
|
|
354
383
|
i0.ɵɵadvance(3);
|
|
355
|
-
i0.ɵɵtextInterpolate1("$", i0.ɵɵpipeBind2(8, 7,
|
|
384
|
+
i0.ɵɵtextInterpolate1("$", i0.ɵɵpipeBind2(8, 7, t_r19.avgCost, "1.4-4"), "/run");
|
|
356
385
|
} }
|
|
357
|
-
function
|
|
358
|
-
i0.ɵɵelementStart(0, "div",
|
|
359
|
-
i0.ɵɵrepeaterCreate(1,
|
|
386
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_49_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
387
|
+
i0.ɵɵelementStart(0, "div", 56);
|
|
388
|
+
i0.ɵɵrepeaterCreate(1, TestingAnalyticsComponent_ng_template_2_Conditional_49_Conditional_1_For_2_Template, 9, 10, "div", 58, _forTrack1);
|
|
360
389
|
i0.ɵɵelementEnd();
|
|
361
390
|
} if (rf & 2) {
|
|
362
|
-
const
|
|
391
|
+
const tests_r20 = i0.ɵɵnextContext();
|
|
363
392
|
i0.ɵɵadvance();
|
|
364
|
-
i0.ɵɵrepeater(
|
|
393
|
+
i0.ɵɵrepeater(tests_r20);
|
|
365
394
|
} }
|
|
366
|
-
function
|
|
367
|
-
i0.ɵɵconditionalCreate(0,
|
|
395
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_49_Template(rf, ctx) { if (rf & 1) {
|
|
396
|
+
i0.ɵɵconditionalCreate(0, TestingAnalyticsComponent_ng_template_2_Conditional_49_Conditional_0_Template, 4, 0, "div", 27)(1, TestingAnalyticsComponent_ng_template_2_Conditional_49_Conditional_1_Template, 3, 0, "div", 56);
|
|
368
397
|
} if (rf & 2) {
|
|
369
398
|
i0.ɵɵconditional(ctx.length === 0 ? 0 : 1);
|
|
370
399
|
} }
|
|
371
|
-
function
|
|
372
|
-
i0.ɵɵelementStart(0, "div",
|
|
373
|
-
i0.ɵɵelement(1, "i",
|
|
400
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_55_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
401
|
+
i0.ɵɵelementStart(0, "div", 27);
|
|
402
|
+
i0.ɵɵelement(1, "i", 65);
|
|
374
403
|
i0.ɵɵelementStart(2, "span");
|
|
375
404
|
i0.ɵɵtext(3, "No score data available");
|
|
376
405
|
i0.ɵɵelementEnd()();
|
|
377
406
|
} }
|
|
378
|
-
function
|
|
379
|
-
i0.ɵɵelementStart(0, "div",
|
|
407
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_55_Conditional_1_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
408
|
+
i0.ɵɵelementStart(0, "div", 66)(1, "span", 67);
|
|
380
409
|
i0.ɵɵtext(2);
|
|
381
410
|
i0.ɵɵelementEnd();
|
|
382
|
-
i0.ɵɵelementStart(3, "div",
|
|
383
|
-
i0.ɵɵelement(4, "div",
|
|
411
|
+
i0.ɵɵelementStart(3, "div", 68);
|
|
412
|
+
i0.ɵɵelement(4, "div", 69);
|
|
384
413
|
i0.ɵɵelementEnd();
|
|
385
|
-
i0.ɵɵelementStart(5, "span",
|
|
414
|
+
i0.ɵɵelementStart(5, "span", 70);
|
|
386
415
|
i0.ɵɵtext(6);
|
|
387
416
|
i0.ɵɵelementEnd();
|
|
388
|
-
i0.ɵɵelementStart(7, "span",
|
|
417
|
+
i0.ɵɵelementStart(7, "span", 71);
|
|
389
418
|
i0.ɵɵtext(8);
|
|
390
419
|
i0.ɵɵpipe(9, "number");
|
|
391
420
|
i0.ɵɵelementEnd()();
|
|
392
421
|
} if (rf & 2) {
|
|
393
|
-
const
|
|
422
|
+
const b_r21 = ctx.$implicit;
|
|
394
423
|
i0.ɵɵadvance(2);
|
|
395
|
-
i0.ɵɵtextInterpolate(
|
|
424
|
+
i0.ɵɵtextInterpolate(b_r21.label);
|
|
396
425
|
i0.ɵɵadvance(2);
|
|
397
|
-
i0.ɵɵstyleProp("width",
|
|
426
|
+
i0.ɵɵstyleProp("width", b_r21.percentage, "%")("background", b_r21.color);
|
|
398
427
|
i0.ɵɵadvance(2);
|
|
399
|
-
i0.ɵɵtextInterpolate(
|
|
428
|
+
i0.ɵɵtextInterpolate(b_r21.count);
|
|
400
429
|
i0.ɵɵadvance(2);
|
|
401
|
-
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(9, 7,
|
|
430
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(9, 7, b_r21.percentage, "1.0-1"), "%");
|
|
402
431
|
} }
|
|
403
|
-
function
|
|
404
|
-
i0.ɵɵelementStart(0, "div",
|
|
405
|
-
i0.ɵɵrepeaterCreate(1,
|
|
432
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_55_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
433
|
+
i0.ɵɵelementStart(0, "div", 64);
|
|
434
|
+
i0.ɵɵrepeaterCreate(1, TestingAnalyticsComponent_ng_template_2_Conditional_55_Conditional_1_For_2_Template, 10, 10, "div", 66, _forTrack2);
|
|
406
435
|
i0.ɵɵelementEnd();
|
|
407
436
|
} if (rf & 2) {
|
|
408
|
-
const
|
|
437
|
+
const buckets_r22 = i0.ɵɵnextContext();
|
|
409
438
|
i0.ɵɵadvance();
|
|
410
|
-
i0.ɵɵrepeater(
|
|
439
|
+
i0.ɵɵrepeater(buckets_r22);
|
|
411
440
|
} }
|
|
412
|
-
function
|
|
413
|
-
i0.ɵɵconditionalCreate(0,
|
|
441
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_55_Template(rf, ctx) { if (rf & 1) {
|
|
442
|
+
i0.ɵɵconditionalCreate(0, TestingAnalyticsComponent_ng_template_2_Conditional_55_Conditional_0_Template, 4, 0, "div", 27)(1, TestingAnalyticsComponent_ng_template_2_Conditional_55_Conditional_1_Template, 3, 0, "div", 64);
|
|
414
443
|
} if (rf & 2) {
|
|
415
444
|
i0.ɵɵconditional(ctx.length === 0 ? 0 : 1);
|
|
416
445
|
} }
|
|
417
|
-
function
|
|
418
|
-
i0.ɵɵelementStart(0, "div",
|
|
419
|
-
i0.ɵɵelement(1, "i",
|
|
446
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_63_Template(rf, ctx) { if (rf & 1) {
|
|
447
|
+
i0.ɵɵelementStart(0, "div", 27);
|
|
448
|
+
i0.ɵɵelement(1, "i", 72);
|
|
420
449
|
i0.ɵɵelementStart(2, "span");
|
|
421
450
|
i0.ɵɵtext(3, "Loading versions...");
|
|
422
451
|
i0.ɵɵelementEnd()();
|
|
423
452
|
} }
|
|
424
|
-
function
|
|
425
|
-
i0.ɵɵelementStart(0, "div",
|
|
426
|
-
i0.ɵɵelement(1, "i",
|
|
453
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_64_Template(rf, ctx) { if (rf & 1) {
|
|
454
|
+
i0.ɵɵelementStart(0, "div", 27);
|
|
455
|
+
i0.ɵɵelement(1, "i", 73);
|
|
427
456
|
i0.ɵɵelementStart(2, "span");
|
|
428
457
|
i0.ɵɵtext(3, "No version data available");
|
|
429
458
|
i0.ɵɵelementEnd()();
|
|
430
459
|
} }
|
|
431
|
-
function
|
|
432
|
-
i0.ɵɵelement(0, "i",
|
|
460
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_65_For_16_Conditional_15_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
461
|
+
i0.ɵɵelement(0, "i", 80);
|
|
433
462
|
} }
|
|
434
|
-
function
|
|
435
|
-
i0.ɵɵelement(0, "i",
|
|
463
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_65_For_16_Conditional_15_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
464
|
+
i0.ɵɵelement(0, "i", 81);
|
|
436
465
|
} }
|
|
437
|
-
function
|
|
438
|
-
i0.ɵɵelementStart(0, "span",
|
|
439
|
-
i0.ɵɵconditionalCreate(1,
|
|
466
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_65_For_16_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
467
|
+
i0.ɵɵelementStart(0, "span", 79);
|
|
468
|
+
i0.ɵɵconditionalCreate(1, TestingAnalyticsComponent_ng_template_2_Conditional_65_For_16_Conditional_15_Conditional_1_Template, 1, 0, "i", 80)(2, TestingAnalyticsComponent_ng_template_2_Conditional_65_For_16_Conditional_15_Conditional_2_Template, 1, 0, "i", 81);
|
|
440
469
|
i0.ɵɵtext(3);
|
|
441
470
|
i0.ɵɵpipe(4, "number");
|
|
442
471
|
i0.ɵɵelementEnd();
|
|
443
472
|
} if (rf & 2) {
|
|
444
|
-
const
|
|
445
|
-
const
|
|
446
|
-
i0.ɵɵclassProp("delta-up",
|
|
473
|
+
const row_r23 = i0.ɵɵnextContext().$implicit;
|
|
474
|
+
const ctx_r4 = i0.ɵɵnextContext(3);
|
|
475
|
+
i0.ɵɵclassProp("delta-up", row_r23.passRateDelta > 0)("delta-down", row_r23.passRateDelta < 0)("delta-neutral", row_r23.passRateDelta === 0);
|
|
447
476
|
i0.ɵɵadvance();
|
|
448
|
-
i0.ɵɵconditional(
|
|
477
|
+
i0.ɵɵconditional(row_r23.passRateDelta > 0 ? 1 : row_r23.passRateDelta < 0 ? 2 : -1);
|
|
449
478
|
i0.ɵɵadvance(2);
|
|
450
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(4, 8,
|
|
479
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(4, 8, ctx_r4.AbsNum(row_r23.passRateDelta), "1.1-1"), "% ");
|
|
451
480
|
} }
|
|
452
|
-
function
|
|
453
|
-
i0.ɵɵelement(0, "i",
|
|
481
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_65_For_16_Conditional_20_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
482
|
+
i0.ɵɵelement(0, "i", 80);
|
|
454
483
|
} }
|
|
455
|
-
function
|
|
456
|
-
i0.ɵɵelement(0, "i",
|
|
484
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_65_For_16_Conditional_20_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
485
|
+
i0.ɵɵelement(0, "i", 81);
|
|
457
486
|
} }
|
|
458
|
-
function
|
|
459
|
-
i0.ɵɵelementStart(0, "span",
|
|
460
|
-
i0.ɵɵconditionalCreate(1,
|
|
487
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_65_For_16_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
488
|
+
i0.ɵɵelementStart(0, "span", 79);
|
|
489
|
+
i0.ɵɵconditionalCreate(1, TestingAnalyticsComponent_ng_template_2_Conditional_65_For_16_Conditional_20_Conditional_1_Template, 1, 0, "i", 80)(2, TestingAnalyticsComponent_ng_template_2_Conditional_65_For_16_Conditional_20_Conditional_2_Template, 1, 0, "i", 81);
|
|
461
490
|
i0.ɵɵtext(3);
|
|
462
491
|
i0.ɵɵpipe(4, "number");
|
|
463
492
|
i0.ɵɵelementEnd();
|
|
464
493
|
} if (rf & 2) {
|
|
465
|
-
const
|
|
466
|
-
const
|
|
467
|
-
i0.ɵɵclassProp("delta-up",
|
|
494
|
+
const row_r23 = i0.ɵɵnextContext().$implicit;
|
|
495
|
+
const ctx_r4 = i0.ɵɵnextContext(3);
|
|
496
|
+
i0.ɵɵclassProp("delta-up", row_r23.costDelta < 0)("delta-down", row_r23.costDelta > 0)("delta-neutral", row_r23.costDelta === 0);
|
|
468
497
|
i0.ɵɵadvance();
|
|
469
|
-
i0.ɵɵconditional(
|
|
498
|
+
i0.ɵɵconditional(row_r23.costDelta > 0 ? 1 : row_r23.costDelta < 0 ? 2 : -1);
|
|
470
499
|
i0.ɵɵadvance(2);
|
|
471
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(4, 8,
|
|
500
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(4, 8, ctx_r4.AbsNum(row_r23.costDelta), "1.1-1"), "% ");
|
|
472
501
|
} }
|
|
473
|
-
function
|
|
474
|
-
i0.ɵɵelementStart(0, "tr")(1, "td")(2, "span",
|
|
502
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_65_For_16_Template(rf, ctx) { if (rf & 1) {
|
|
503
|
+
i0.ɵɵelementStart(0, "tr")(1, "td")(2, "span", 76);
|
|
475
504
|
i0.ɵɵtext(3);
|
|
476
505
|
i0.ɵɵelementEnd();
|
|
477
|
-
i0.ɵɵelementStart(4, "span",
|
|
506
|
+
i0.ɵɵelementStart(4, "span", 77);
|
|
478
507
|
i0.ɵɵtext(5);
|
|
479
508
|
i0.ɵɵelementEnd()();
|
|
480
509
|
i0.ɵɵelementStart(6, "td");
|
|
481
510
|
i0.ɵɵtext(7);
|
|
482
511
|
i0.ɵɵpipe(8, "date");
|
|
483
512
|
i0.ɵɵelementEnd();
|
|
484
|
-
i0.ɵɵelementStart(9, "td",
|
|
513
|
+
i0.ɵɵelementStart(9, "td", 75);
|
|
485
514
|
i0.ɵɵtext(10);
|
|
486
515
|
i0.ɵɵelementEnd();
|
|
487
|
-
i0.ɵɵelementStart(11, "td",
|
|
516
|
+
i0.ɵɵelementStart(11, "td", 75)(12, "span");
|
|
488
517
|
i0.ɵɵtext(13);
|
|
489
518
|
i0.ɵɵpipe(14, "number");
|
|
490
519
|
i0.ɵɵelementEnd();
|
|
491
|
-
i0.ɵɵconditionalCreate(15,
|
|
520
|
+
i0.ɵɵconditionalCreate(15, TestingAnalyticsComponent_ng_template_2_Conditional_65_For_16_Conditional_15_Template, 5, 11, "span", 78);
|
|
492
521
|
i0.ɵɵelementEnd();
|
|
493
|
-
i0.ɵɵelementStart(16, "td",
|
|
522
|
+
i0.ɵɵelementStart(16, "td", 75)(17, "span");
|
|
494
523
|
i0.ɵɵtext(18);
|
|
495
524
|
i0.ɵɵpipe(19, "number");
|
|
496
525
|
i0.ɵɵelementEnd();
|
|
497
|
-
i0.ɵɵconditionalCreate(20,
|
|
526
|
+
i0.ɵɵconditionalCreate(20, TestingAnalyticsComponent_ng_template_2_Conditional_65_For_16_Conditional_20_Template, 5, 11, "span", 78);
|
|
498
527
|
i0.ɵɵelementEnd()();
|
|
499
528
|
} if (rf & 2) {
|
|
500
|
-
const
|
|
529
|
+
const row_r23 = ctx.$implicit;
|
|
501
530
|
i0.ɵɵadvance(3);
|
|
502
|
-
i0.ɵɵtextInterpolate(
|
|
531
|
+
i0.ɵɵtextInterpolate(row_r23.gitCommitShort);
|
|
503
532
|
i0.ɵɵadvance(2);
|
|
504
|
-
i0.ɵɵtextInterpolate(
|
|
533
|
+
i0.ɵɵtextInterpolate(row_r23.agentVersion);
|
|
505
534
|
i0.ɵɵadvance(2);
|
|
506
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(8, 8,
|
|
535
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(8, 8, row_r23.date, "mediumDate"));
|
|
507
536
|
i0.ɵɵadvance(3);
|
|
508
|
-
i0.ɵɵtextInterpolate(
|
|
537
|
+
i0.ɵɵtextInterpolate(row_r23.totalTests);
|
|
509
538
|
i0.ɵɵadvance(3);
|
|
510
|
-
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(14, 11,
|
|
539
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(14, 11, row_r23.passRate, "1.1-1"), "%");
|
|
511
540
|
i0.ɵɵadvance(2);
|
|
512
|
-
i0.ɵɵconditional(
|
|
541
|
+
i0.ɵɵconditional(row_r23.passRateDelta !== null ? 15 : -1);
|
|
513
542
|
i0.ɵɵadvance(3);
|
|
514
|
-
i0.ɵɵtextInterpolate1("$", i0.ɵɵpipeBind2(19, 14,
|
|
543
|
+
i0.ɵɵtextInterpolate1("$", i0.ɵɵpipeBind2(19, 14, row_r23.totalCost, "1.2-2"));
|
|
515
544
|
i0.ɵɵadvance(2);
|
|
516
|
-
i0.ɵɵconditional(
|
|
545
|
+
i0.ɵɵconditional(row_r23.costDelta !== null ? 20 : -1);
|
|
517
546
|
} }
|
|
518
|
-
function
|
|
519
|
-
i0.ɵɵelementStart(0, "div",
|
|
547
|
+
function TestingAnalyticsComponent_ng_template_2_Conditional_65_Template(rf, ctx) { if (rf & 1) {
|
|
548
|
+
i0.ɵɵelementStart(0, "div", 28)(1, "table", 74)(2, "thead")(3, "tr")(4, "th");
|
|
520
549
|
i0.ɵɵtext(5, "Version");
|
|
521
550
|
i0.ɵɵelementEnd();
|
|
522
551
|
i0.ɵɵelementStart(6, "th");
|
|
523
552
|
i0.ɵɵtext(7, "Date");
|
|
524
553
|
i0.ɵɵelementEnd();
|
|
525
|
-
i0.ɵɵelementStart(8, "th",
|
|
554
|
+
i0.ɵɵelementStart(8, "th", 75);
|
|
526
555
|
i0.ɵɵtext(9, "Tests");
|
|
527
556
|
i0.ɵɵelementEnd();
|
|
528
|
-
i0.ɵɵelementStart(10, "th",
|
|
557
|
+
i0.ɵɵelementStart(10, "th", 75);
|
|
529
558
|
i0.ɵɵtext(11, "Pass Rate");
|
|
530
559
|
i0.ɵɵelementEnd();
|
|
531
|
-
i0.ɵɵelementStart(12, "th",
|
|
560
|
+
i0.ɵɵelementStart(12, "th", 75);
|
|
532
561
|
i0.ɵɵtext(13, "Cost");
|
|
533
562
|
i0.ɵɵelementEnd()()();
|
|
534
563
|
i0.ɵɵelementStart(14, "tbody");
|
|
535
|
-
i0.ɵɵrepeaterCreate(15,
|
|
564
|
+
i0.ɵɵrepeaterCreate(15, TestingAnalyticsComponent_ng_template_2_Conditional_65_For_16_Template, 21, 17, "tr", null, _forTrack3);
|
|
536
565
|
i0.ɵɵelementEnd()()();
|
|
537
566
|
} if (rf & 2) {
|
|
538
|
-
const
|
|
567
|
+
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
539
568
|
i0.ɵɵadvance(15);
|
|
540
|
-
i0.ɵɵrepeater(
|
|
569
|
+
i0.ɵɵrepeater(ctx_r4.VersionRows);
|
|
570
|
+
} }
|
|
571
|
+
function TestingAnalyticsComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
572
|
+
i0.ɵɵelementStart(0, "div", 7)(1, "div", 8);
|
|
573
|
+
i0.ɵɵelement(2, "i", 9);
|
|
574
|
+
i0.ɵɵtext(3, " Trend Overview ");
|
|
575
|
+
i0.ɵɵelementEnd();
|
|
576
|
+
i0.ɵɵelementStart(4, "div", 10)(5, "div", 11)(6, "h4");
|
|
577
|
+
i0.ɵɵelement(7, "i", 12);
|
|
578
|
+
i0.ɵɵtext(8, " Pass Rate Trend");
|
|
579
|
+
i0.ɵɵelementEnd();
|
|
580
|
+
i0.ɵɵconditionalCreate(9, TestingAnalyticsComponent_ng_template_2_Conditional_9_Template, 2, 1);
|
|
581
|
+
i0.ɵɵpipe(10, "async");
|
|
582
|
+
i0.ɵɵelementEnd();
|
|
583
|
+
i0.ɵɵelementStart(11, "div", 11)(12, "h4");
|
|
584
|
+
i0.ɵɵelement(13, "i", 13);
|
|
585
|
+
i0.ɵɵtext(14, " Run Volume");
|
|
586
|
+
i0.ɵɵelementEnd();
|
|
587
|
+
i0.ɵɵconditionalCreate(15, TestingAnalyticsComponent_ng_template_2_Conditional_15_Template, 2, 1);
|
|
588
|
+
i0.ɵɵpipe(16, "async");
|
|
589
|
+
i0.ɵɵelementEnd();
|
|
590
|
+
i0.ɵɵelementStart(17, "div", 11)(18, "h4");
|
|
591
|
+
i0.ɵɵelement(19, "i", 14);
|
|
592
|
+
i0.ɵɵtext(20, " Score Trend");
|
|
593
|
+
i0.ɵɵelementEnd();
|
|
594
|
+
i0.ɵɵconditionalCreate(21, TestingAnalyticsComponent_ng_template_2_Conditional_21_Template, 2, 1);
|
|
595
|
+
i0.ɵɵpipe(22, "async");
|
|
596
|
+
i0.ɵɵelementEnd();
|
|
597
|
+
i0.ɵɵelementStart(23, "div", 11)(24, "h4");
|
|
598
|
+
i0.ɵɵelement(25, "i", 15);
|
|
599
|
+
i0.ɵɵtext(26, " Cost Trend");
|
|
600
|
+
i0.ɵɵelementEnd();
|
|
601
|
+
i0.ɵɵconditionalCreate(27, TestingAnalyticsComponent_ng_template_2_Conditional_27_Template, 2, 1);
|
|
602
|
+
i0.ɵɵpipe(28, "async");
|
|
603
|
+
i0.ɵɵelementEnd()();
|
|
604
|
+
i0.ɵɵelementStart(29, "div", 8);
|
|
605
|
+
i0.ɵɵelement(30, "i", 16);
|
|
606
|
+
i0.ɵɵtext(31, " Insights ");
|
|
607
|
+
i0.ɵɵelementEnd();
|
|
608
|
+
i0.ɵɵelementStart(32, "div", 17)(33, "div", 18)(34, "h4");
|
|
609
|
+
i0.ɵɵelement(35, "i", 19);
|
|
610
|
+
i0.ɵɵtext(36, " Top Failing Tests");
|
|
611
|
+
i0.ɵɵelementEnd();
|
|
612
|
+
i0.ɵɵconditionalCreate(37, TestingAnalyticsComponent_ng_template_2_Conditional_37_Template, 2, 1);
|
|
613
|
+
i0.ɵɵpipe(38, "async");
|
|
614
|
+
i0.ɵɵelementEnd();
|
|
615
|
+
i0.ɵɵelementStart(39, "div", 18)(40, "h4");
|
|
616
|
+
i0.ɵɵelement(41, "i", 20);
|
|
617
|
+
i0.ɵɵtext(42, " Slowest Tests");
|
|
618
|
+
i0.ɵɵelementEnd();
|
|
619
|
+
i0.ɵɵconditionalCreate(43, TestingAnalyticsComponent_ng_template_2_Conditional_43_Template, 2, 1);
|
|
620
|
+
i0.ɵɵpipe(44, "async");
|
|
621
|
+
i0.ɵɵelementEnd();
|
|
622
|
+
i0.ɵɵelementStart(45, "div", 18)(46, "h4");
|
|
623
|
+
i0.ɵɵelement(47, "i", 21);
|
|
624
|
+
i0.ɵɵtext(48, " Most Expensive Tests");
|
|
625
|
+
i0.ɵɵelementEnd();
|
|
626
|
+
i0.ɵɵconditionalCreate(49, TestingAnalyticsComponent_ng_template_2_Conditional_49_Template, 2, 1);
|
|
627
|
+
i0.ɵɵpipe(50, "async");
|
|
628
|
+
i0.ɵɵelementEnd()();
|
|
629
|
+
i0.ɵɵelementStart(51, "div", 8);
|
|
630
|
+
i0.ɵɵelement(52, "i", 22);
|
|
631
|
+
i0.ɵɵtext(53, " Score Distribution ");
|
|
632
|
+
i0.ɵɵelementEnd();
|
|
633
|
+
i0.ɵɵelementStart(54, "div", 23);
|
|
634
|
+
i0.ɵɵconditionalCreate(55, TestingAnalyticsComponent_ng_template_2_Conditional_55_Template, 2, 1);
|
|
635
|
+
i0.ɵɵpipe(56, "async");
|
|
636
|
+
i0.ɵɵelementEnd();
|
|
637
|
+
i0.ɵɵelementStart(57, "div", 8);
|
|
638
|
+
i0.ɵɵelement(58, "i", 24);
|
|
639
|
+
i0.ɵɵtext(59, " Version Comparison ");
|
|
640
|
+
i0.ɵɵelementStart(60, "span", 25);
|
|
641
|
+
i0.ɵɵtext(61, "Compare metrics across different builds");
|
|
642
|
+
i0.ɵɵelementEnd()();
|
|
643
|
+
i0.ɵɵelementStart(62, "div", 26);
|
|
644
|
+
i0.ɵɵconditionalCreate(63, TestingAnalyticsComponent_ng_template_2_Conditional_63_Template, 4, 0, "div", 27)(64, TestingAnalyticsComponent_ng_template_2_Conditional_64_Template, 4, 0, "div", 27)(65, TestingAnalyticsComponent_ng_template_2_Conditional_65_Template, 17, 0, "div", 28);
|
|
645
|
+
i0.ɵɵelementEnd()();
|
|
646
|
+
} if (rf & 2) {
|
|
647
|
+
let tmp_2_0;
|
|
648
|
+
let tmp_3_0;
|
|
649
|
+
let tmp_4_0;
|
|
650
|
+
let tmp_5_0;
|
|
651
|
+
let tmp_6_0;
|
|
652
|
+
let tmp_7_0;
|
|
653
|
+
let tmp_8_0;
|
|
654
|
+
let tmp_9_0;
|
|
655
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
656
|
+
i0.ɵɵadvance(9);
|
|
657
|
+
i0.ɵɵconditional((tmp_2_0 = i0.ɵɵpipeBind1(10, 9, ctx_r4.DisplayTrends$)) ? 9 : -1, tmp_2_0);
|
|
658
|
+
i0.ɵɵadvance(6);
|
|
659
|
+
i0.ɵɵconditional((tmp_3_0 = i0.ɵɵpipeBind1(16, 11, ctx_r4.DisplayTrends$)) ? 15 : -1, tmp_3_0);
|
|
660
|
+
i0.ɵɵadvance(6);
|
|
661
|
+
i0.ɵɵconditional((tmp_4_0 = i0.ɵɵpipeBind1(22, 13, ctx_r4.DisplayTrends$)) ? 21 : -1, tmp_4_0);
|
|
662
|
+
i0.ɵɵadvance(6);
|
|
663
|
+
i0.ɵɵconditional((tmp_5_0 = i0.ɵɵpipeBind1(28, 15, ctx_r4.DisplayTrends$)) ? 27 : -1, tmp_5_0);
|
|
664
|
+
i0.ɵɵadvance(10);
|
|
665
|
+
i0.ɵɵconditional((tmp_6_0 = i0.ɵɵpipeBind1(38, 17, ctx_r4.TopFailingTests$)) ? 37 : -1, tmp_6_0);
|
|
666
|
+
i0.ɵɵadvance(6);
|
|
667
|
+
i0.ɵɵconditional((tmp_7_0 = i0.ɵɵpipeBind1(44, 19, ctx_r4.SlowestTests$)) ? 43 : -1, tmp_7_0);
|
|
668
|
+
i0.ɵɵadvance(6);
|
|
669
|
+
i0.ɵɵconditional((tmp_8_0 = i0.ɵɵpipeBind1(50, 21, ctx_r4.MostExpensiveTests$)) ? 49 : -1, tmp_8_0);
|
|
670
|
+
i0.ɵɵadvance(6);
|
|
671
|
+
i0.ɵɵconditional((tmp_9_0 = i0.ɵɵpipeBind1(56, 23, ctx_r4.ScoreDistribution$)) ? 55 : -1, tmp_9_0);
|
|
672
|
+
i0.ɵɵadvance(8);
|
|
673
|
+
i0.ɵɵconditional(ctx_r4.IsLoadingVersions ? 63 : ctx_r4.VersionRows.length === 0 ? 64 : 65);
|
|
541
674
|
} }
|
|
542
675
|
// ---------------------------------------------------------------------------
|
|
543
676
|
// Component
|
|
@@ -547,6 +680,8 @@ export class TestingAnalyticsComponent {
|
|
|
547
680
|
cdr;
|
|
548
681
|
// ------- Inputs / Outputs -------
|
|
549
682
|
initialState = null;
|
|
683
|
+
/** When true, the inner bespoke .page-header is hidden — the parent shell owns the chrome. */
|
|
684
|
+
HideToolbar = false;
|
|
550
685
|
stateChange = new EventEmitter();
|
|
551
686
|
// ------- Public state -------
|
|
552
687
|
TimeRanges = [
|
|
@@ -767,154 +902,43 @@ export class TestingAnalyticsComponent {
|
|
|
767
902
|
});
|
|
768
903
|
}
|
|
769
904
|
static ɵfac = function TestingAnalyticsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TestingAnalyticsComponent)(i0.ɵɵdirectiveInject(i1.TestingInstrumentationService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
770
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TestingAnalyticsComponent, selectors: [["app-testing-analytics"]], inputs: { initialState: "initialState" }, outputs: { stateChange: "stateChange" }, standalone: false, decls:
|
|
771
|
-
i0.ɵɵ
|
|
772
|
-
i0.ɵɵ
|
|
773
|
-
i0.ɵɵtext(5, " Testing Analytics ");
|
|
774
|
-
i0.ɵɵelementEnd()();
|
|
775
|
-
i0.ɵɵelementStart(6, "div", 4)(7, "div", 5);
|
|
776
|
-
i0.ɵɵrepeaterCreate(8, TestingAnalyticsComponent_For_9_Template, 2, 3, "button", 6, _forTrack0);
|
|
777
|
-
i0.ɵɵelementEnd();
|
|
778
|
-
i0.ɵɵelementStart(10, "button", 7);
|
|
779
|
-
i0.ɵɵlistener("click", function TestingAnalyticsComponent_Template_button_click_10_listener() { return ctx.Refresh(); });
|
|
780
|
-
i0.ɵɵelement(11, "i", 8);
|
|
781
|
-
i0.ɵɵtext(12, " Refresh ");
|
|
782
|
-
i0.ɵɵelementEnd()()();
|
|
783
|
-
i0.ɵɵelementStart(13, "div", 9);
|
|
784
|
-
i0.ɵɵelement(14, "i", 10);
|
|
785
|
-
i0.ɵɵtext(15, " Trend Overview ");
|
|
786
|
-
i0.ɵɵelementEnd();
|
|
787
|
-
i0.ɵɵelementStart(16, "div", 11)(17, "div", 12)(18, "h4");
|
|
788
|
-
i0.ɵɵelement(19, "i", 13);
|
|
789
|
-
i0.ɵɵtext(20, " Pass Rate Trend");
|
|
790
|
-
i0.ɵɵelementEnd();
|
|
791
|
-
i0.ɵɵconditionalCreate(21, TestingAnalyticsComponent_Conditional_21_Template, 2, 1);
|
|
792
|
-
i0.ɵɵpipe(22, "async");
|
|
793
|
-
i0.ɵɵelementEnd();
|
|
794
|
-
i0.ɵɵelementStart(23, "div", 12)(24, "h4");
|
|
795
|
-
i0.ɵɵelement(25, "i", 14);
|
|
796
|
-
i0.ɵɵtext(26, " Run Volume");
|
|
797
|
-
i0.ɵɵelementEnd();
|
|
798
|
-
i0.ɵɵconditionalCreate(27, TestingAnalyticsComponent_Conditional_27_Template, 2, 1);
|
|
799
|
-
i0.ɵɵpipe(28, "async");
|
|
800
|
-
i0.ɵɵelementEnd();
|
|
801
|
-
i0.ɵɵelementStart(29, "div", 12)(30, "h4");
|
|
802
|
-
i0.ɵɵelement(31, "i", 15);
|
|
803
|
-
i0.ɵɵtext(32, " Score Trend");
|
|
804
|
-
i0.ɵɵelementEnd();
|
|
805
|
-
i0.ɵɵconditionalCreate(33, TestingAnalyticsComponent_Conditional_33_Template, 2, 1);
|
|
806
|
-
i0.ɵɵpipe(34, "async");
|
|
807
|
-
i0.ɵɵelementEnd();
|
|
808
|
-
i0.ɵɵelementStart(35, "div", 12)(36, "h4");
|
|
809
|
-
i0.ɵɵelement(37, "i", 16);
|
|
810
|
-
i0.ɵɵtext(38, " Cost Trend");
|
|
811
|
-
i0.ɵɵelementEnd();
|
|
812
|
-
i0.ɵɵconditionalCreate(39, TestingAnalyticsComponent_Conditional_39_Template, 2, 1);
|
|
813
|
-
i0.ɵɵpipe(40, "async");
|
|
814
|
-
i0.ɵɵelementEnd()();
|
|
815
|
-
i0.ɵɵelementStart(41, "div", 9);
|
|
816
|
-
i0.ɵɵelement(42, "i", 17);
|
|
817
|
-
i0.ɵɵtext(43, " Insights ");
|
|
818
|
-
i0.ɵɵelementEnd();
|
|
819
|
-
i0.ɵɵelementStart(44, "div", 18)(45, "div", 19)(46, "h4");
|
|
820
|
-
i0.ɵɵelement(47, "i", 20);
|
|
821
|
-
i0.ɵɵtext(48, " Top Failing Tests");
|
|
822
|
-
i0.ɵɵelementEnd();
|
|
823
|
-
i0.ɵɵconditionalCreate(49, TestingAnalyticsComponent_Conditional_49_Template, 2, 1);
|
|
824
|
-
i0.ɵɵpipe(50, "async");
|
|
825
|
-
i0.ɵɵelementEnd();
|
|
826
|
-
i0.ɵɵelementStart(51, "div", 19)(52, "h4");
|
|
827
|
-
i0.ɵɵelement(53, "i", 21);
|
|
828
|
-
i0.ɵɵtext(54, " Slowest Tests");
|
|
829
|
-
i0.ɵɵelementEnd();
|
|
830
|
-
i0.ɵɵconditionalCreate(55, TestingAnalyticsComponent_Conditional_55_Template, 2, 1);
|
|
831
|
-
i0.ɵɵpipe(56, "async");
|
|
832
|
-
i0.ɵɵelementEnd();
|
|
833
|
-
i0.ɵɵelementStart(57, "div", 19)(58, "h4");
|
|
834
|
-
i0.ɵɵelement(59, "i", 22);
|
|
835
|
-
i0.ɵɵtext(60, " Most Expensive Tests");
|
|
836
|
-
i0.ɵɵelementEnd();
|
|
837
|
-
i0.ɵɵconditionalCreate(61, TestingAnalyticsComponent_Conditional_61_Template, 2, 1);
|
|
838
|
-
i0.ɵɵpipe(62, "async");
|
|
839
|
-
i0.ɵɵelementEnd()();
|
|
840
|
-
i0.ɵɵelementStart(63, "div", 9);
|
|
841
|
-
i0.ɵɵelement(64, "i", 23);
|
|
842
|
-
i0.ɵɵtext(65, " Score Distribution ");
|
|
843
|
-
i0.ɵɵelementEnd();
|
|
844
|
-
i0.ɵɵelementStart(66, "div", 24);
|
|
845
|
-
i0.ɵɵconditionalCreate(67, TestingAnalyticsComponent_Conditional_67_Template, 2, 1);
|
|
846
|
-
i0.ɵɵpipe(68, "async");
|
|
847
|
-
i0.ɵɵelementEnd();
|
|
848
|
-
i0.ɵɵelementStart(69, "div", 9);
|
|
849
|
-
i0.ɵɵelement(70, "i", 25);
|
|
850
|
-
i0.ɵɵtext(71, " Version Comparison ");
|
|
851
|
-
i0.ɵɵelementStart(72, "span", 26);
|
|
852
|
-
i0.ɵɵtext(73, "Compare metrics across different builds");
|
|
853
|
-
i0.ɵɵelementEnd()();
|
|
854
|
-
i0.ɵɵelementStart(74, "div", 27);
|
|
855
|
-
i0.ɵɵconditionalCreate(75, TestingAnalyticsComponent_Conditional_75_Template, 4, 0, "div", 28)(76, TestingAnalyticsComponent_Conditional_76_Template, 4, 0, "div", 28)(77, TestingAnalyticsComponent_Conditional_77_Template, 17, 0, "div", 29);
|
|
856
|
-
i0.ɵɵelementEnd()();
|
|
905
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TestingAnalyticsComponent, selectors: [["app-testing-analytics"]], inputs: { initialState: "initialState", HideToolbar: "HideToolbar" }, outputs: { stateChange: "stateChange" }, standalone: false, decls: 4, vars: 1, consts: [["content", ""], [4, "ngTemplateOutlet"], ["Title", "Testing Analytics", "Icon", "fa-solid fa-chart-bar", "Subtitle", "Test trends, pass rates, and version metrics"], ["actions", ""], [3, "Label", "Active"], [3, "Clicked"], [3, "Clicked", "Label", "Active"], [1, "testing-analytics"], [1, "section-title"], [1, "fa-solid", "fa-chart-line"], [1, "trend-grid"], [1, "card", "trend-card"], [1, "fa-solid", "fa-check-double"], [1, "fa-solid", "fa-layer-group"], [1, "fa-solid", "fa-star-half-stroke"], [1, "fa-solid", "fa-dollar-sign"], [1, "fa-solid", "fa-magnifying-glass-chart"], [1, "insights-grid"], [1, "card", "insight-card"], [1, "fa-solid", "fa-triangle-exclamation"], [1, "fa-solid", "fa-clock"], [1, "fa-solid", "fa-coins"], [1, "fa-solid", "fa-chart-pie"], [1, "card", "distribution-card"], [1, "fa-solid", "fa-code-compare"], [1, "section-subtitle"], [1, "card", "version-card"], [1, "empty-mini"], [1, "version-table-wrap"], [1, "fa-solid", "fa-chart-area"], [1, "bar-chart"], [1, "bar-row"], [1, "trend-direction"], [1, "bar-label"], [1, "bar-track"], [1, "bar-fill", "pass-rate-bar"], [1, "bar-value"], [1, "fa-solid", "fa-arrow-trend-up", "trend-up"], [1, "trend-up"], [1, "fa-solid", "fa-arrow-trend-down", "trend-down"], [1, "trend-down"], [1, "fa-solid", "fa-minus", "trend-neutral"], [1, "trend-neutral"], [1, "fa-solid", "fa-chart-bar"], [1, "legend-row"], [1, "legend-dot", "passed-seg"], [1, "legend-dot", "failed-seg"], [1, "legend-dot", "skipped-seg"], [1, "bar-track", "stacked"], [1, "bar-segment", "passed-seg"], [1, "bar-segment", "failed-seg"], [1, "bar-segment", "skipped-seg"], [1, "fa-solid", "fa-star"], [1, "bar-fill"], [1, "fa-solid", "fa-wallet"], [1, "bar-fill", "cost-bar"], [1, "insight-list"], [1, "fa-solid", "fa-circle-check"], [1, "insight-row"], [1, "insight-name", 3, "title"], [1, "badge-fail"], [1, "insight-secondary"], [1, "fa-solid", "fa-bolt"], [1, "insight-primary"], [1, "distribution-bars"], [1, "fa-solid", "fa-chart-simple"], [1, "dist-row"], [1, "dist-label"], [1, "dist-track"], [1, "dist-fill"], [1, "dist-count"], [1, "dist-pct"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "fa-solid", "fa-code-branch"], [1, "version-table"], [1, "num"], [1, "version-label"], [1, "version-agent"], [1, "delta", 3, "delta-up", "delta-down", "delta-neutral"], [1, "delta"], [1, "fa-solid", "fa-arrow-up"], [1, "fa-solid", "fa-arrow-down"]], template: function TestingAnalyticsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
906
|
+
i0.ɵɵconditionalCreate(0, TestingAnalyticsComponent_Conditional_0_Template, 1, 1, "ng-container")(1, TestingAnalyticsComponent_Conditional_1_Template, 8, 1, "mj-page-layout");
|
|
907
|
+
i0.ɵɵtemplate(2, TestingAnalyticsComponent_ng_template_2_Template, 66, 25, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
857
908
|
} if (rf & 2) {
|
|
858
|
-
|
|
859
|
-
let tmp_2_0;
|
|
860
|
-
let tmp_3_0;
|
|
861
|
-
let tmp_4_0;
|
|
862
|
-
let tmp_5_0;
|
|
863
|
-
let tmp_6_0;
|
|
864
|
-
let tmp_7_0;
|
|
865
|
-
let tmp_8_0;
|
|
866
|
-
i0.ɵɵadvance(8);
|
|
867
|
-
i0.ɵɵrepeater(ctx.TimeRanges);
|
|
868
|
-
i0.ɵɵadvance(13);
|
|
869
|
-
i0.ɵɵconditional((tmp_1_0 = i0.ɵɵpipeBind1(22, 9, ctx.DisplayTrends$)) ? 21 : -1, tmp_1_0);
|
|
870
|
-
i0.ɵɵadvance(6);
|
|
871
|
-
i0.ɵɵconditional((tmp_2_0 = i0.ɵɵpipeBind1(28, 11, ctx.DisplayTrends$)) ? 27 : -1, tmp_2_0);
|
|
872
|
-
i0.ɵɵadvance(6);
|
|
873
|
-
i0.ɵɵconditional((tmp_3_0 = i0.ɵɵpipeBind1(34, 13, ctx.DisplayTrends$)) ? 33 : -1, tmp_3_0);
|
|
874
|
-
i0.ɵɵadvance(6);
|
|
875
|
-
i0.ɵɵconditional((tmp_4_0 = i0.ɵɵpipeBind1(40, 15, ctx.DisplayTrends$)) ? 39 : -1, tmp_4_0);
|
|
876
|
-
i0.ɵɵadvance(10);
|
|
877
|
-
i0.ɵɵconditional((tmp_5_0 = i0.ɵɵpipeBind1(50, 17, ctx.TopFailingTests$)) ? 49 : -1, tmp_5_0);
|
|
878
|
-
i0.ɵɵadvance(6);
|
|
879
|
-
i0.ɵɵconditional((tmp_6_0 = i0.ɵɵpipeBind1(56, 19, ctx.SlowestTests$)) ? 55 : -1, tmp_6_0);
|
|
880
|
-
i0.ɵɵadvance(6);
|
|
881
|
-
i0.ɵɵconditional((tmp_7_0 = i0.ɵɵpipeBind1(62, 21, ctx.MostExpensiveTests$)) ? 61 : -1, tmp_7_0);
|
|
882
|
-
i0.ɵɵadvance(6);
|
|
883
|
-
i0.ɵɵconditional((tmp_8_0 = i0.ɵɵpipeBind1(68, 23, ctx.ScoreDistribution$)) ? 67 : -1, tmp_8_0);
|
|
884
|
-
i0.ɵɵadvance(8);
|
|
885
|
-
i0.ɵɵconditional(ctx.IsLoadingVersions ? 75 : ctx.VersionRows.length === 0 ? 76 : 77);
|
|
886
|
-
} }, dependencies: [i2.AsyncPipe, i2.DecimalPipe, i2.DatePipe], styles: ["\n\n \n\n \n\n .testing-analytics[_ngcontent-%COMP%] {\n padding: 24px;\n height: 100%;\n overflow-y: auto;\n background: var(--mj-bg-surface-card);\n }\n\n \n\n \n\n \n\n .page-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 12px;\n background: var(--mj-bg-surface);\n padding: 20px 24px;\n border-radius: 12px;\n box-shadow: var(--mj-shadow-sm);\n margin-bottom: 24px;\n }\n .header-left[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 10px;\n }\n .header-left[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n .header-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n }\n\n \n\n .time-range-pills[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 8px;\n padding: 3px;\n }\n .pill[_ngcontent-%COMP%] {\n padding: 6px 14px;\n border: none;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n background: transparent;\n cursor: pointer;\n transition: all 0.2s ease;\n }\n .pill[_ngcontent-%COMP%]:hover { background: var(--mj-border-default); }\n .pill.active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n box-shadow: var(--mj-shadow-sm);\n }\n\n .refresh-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 16px;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s ease;\n }\n .refresh-btn[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-card); border-color: var(--mj-border-strong); }\n\n \n\n \n\n \n\n .section-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 14px;\n }\n .section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n .section-subtitle[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 400;\n color: var(--mj-text-disabled);\n margin-left: 4px;\n }\n\n \n\n \n\n \n\n .card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border-radius: 12px;\n box-shadow: var(--mj-shadow-sm);\n padding: 20px;\n transition: transform 0.2s ease, box-shadow 0.2s ease;\n }\n .card[_ngcontent-%COMP%]:hover {\n transform: translateY(-2px);\n box-shadow: var(--mj-shadow-md);\n }\n .card[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0 0 14px 0;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n .card[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { color: var(--mj-brand-primary); font-size: 14px; }\n\n \n\n \n\n \n\n .trend-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n margin-bottom: 28px;\n }\n\n \n\n .bar-chart[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n .bar-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 60px 1fr 52px;\n align-items: center;\n gap: 8px;\n }\n .bar-label[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-disabled);\n font-weight: 500;\n text-align: right;\n white-space: nowrap;\n }\n .bar-track[_ngcontent-%COMP%] {\n height: 14px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 7px;\n overflow: hidden;\n position: relative;\n }\n .bar-track.stacked[_ngcontent-%COMP%] {\n display: flex;\n }\n .bar-fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: 7px;\n transition: width 0.4s ease;\n }\n .bar-value[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-align: right;\n }\n\n \n\n .pass-rate-bar[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n }\n .cost-bar[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n }\n .score-excellent[_ngcontent-%COMP%] { background: var(--mj-status-success); }\n .score-good[_ngcontent-%COMP%] { background: var(--mj-brand-primary); }\n .score-fair[_ngcontent-%COMP%] { background: var(--mj-status-warning); }\n .score-poor[_ngcontent-%COMP%] { background: var(--mj-status-error); }\n\n \n\n .text-excellent[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .text-good[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n .text-fair[_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .text-poor[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n .text-pass-good[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .text-pass-warn[_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .text-pass-bad[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n\n \n\n .bar-segment[_ngcontent-%COMP%] { height: 100%; transition: width 0.4s ease; }\n .passed-seg[_ngcontent-%COMP%] { background: var(--mj-status-success); }\n .failed-seg[_ngcontent-%COMP%] { background: var(--mj-status-error); }\n .skipped-seg[_ngcontent-%COMP%] { background: var(--mj-text-disabled); }\n\n .legend-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-top: 8px;\n font-size: 10px;\n color: var(--mj-text-disabled);\n }\n .legend-dot[_ngcontent-%COMP%] {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n display: inline-block;\n margin-left: 8px;\n }\n .legend-dot[_ngcontent-%COMP%]:first-child { margin-left: 0; }\n .legend-dot.passed-seg[_ngcontent-%COMP%] { background: var(--mj-status-success); }\n .legend-dot.failed-seg[_ngcontent-%COMP%] { background: var(--mj-status-error); }\n .legend-dot.skipped-seg[_ngcontent-%COMP%] { background: var(--mj-text-disabled); }\n\n .trend-direction[_ngcontent-%COMP%] {\n margin-top: 10px;\n font-size: 12px;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 6px;\n }\n .trend-up[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .trend-down[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n .trend-neutral[_ngcontent-%COMP%] { color: var(--mj-text-disabled); }\n\n \n\n \n\n \n\n .insights-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 16px;\n margin-bottom: 28px;\n }\n\n .insight-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n .insight-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr auto auto;\n align-items: center;\n gap: 10px;\n padding: 8px 10px;\n border-radius: 6px;\n transition: background 0.15s ease;\n }\n .insight-row[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-card); }\n .insight-name[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .badge-fail[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n font-size: 11px;\n font-weight: 700;\n padding: 2px 8px;\n border-radius: 10px;\n }\n .insight-primary[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-brand-primary);\n }\n .insight-secondary[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 500;\n color: var(--mj-text-disabled);\n }\n\n \n\n \n\n \n\n .distribution-card[_ngcontent-%COMP%] {\n margin-bottom: 28px;\n }\n .distribution-bars[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 10px;\n }\n .dist-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 110px 1fr 40px 50px;\n align-items: center;\n gap: 10px;\n }\n .dist-label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n }\n .dist-track[_ngcontent-%COMP%] {\n height: 22px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 6px;\n overflow: hidden;\n }\n .dist-fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: 6px;\n transition: width 0.4s ease;\n }\n .dist-count[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-text-primary);\n text-align: right;\n }\n .dist-pct[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n text-align: right;\n }\n\n \n\n \n\n \n\n .version-card[_ngcontent-%COMP%] {\n margin-bottom: 28px;\n }\n .version-table-wrap[_ngcontent-%COMP%] {\n overflow-x: auto;\n }\n .version-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n }\n .version-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n text-align: left;\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n padding: 10px 12px;\n border-bottom: 2px solid var(--mj-border-default);\n }\n .version-table[_ngcontent-%COMP%] th.num[_ngcontent-%COMP%], \n .version-table[_ngcontent-%COMP%] td.num[_ngcontent-%COMP%] { text-align: right; }\n .version-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 12px;\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n vertical-align: middle;\n }\n .version-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-card); }\n .version-label[_ngcontent-%COMP%] {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;\n font-weight: 600;\n font-size: 12px;\n color: var(--mj-brand-primary);\n }\n .version-agent[_ngcontent-%COMP%] {\n display: block;\n font-size: 11px;\n color: var(--mj-text-disabled);\n margin-top: 2px;\n }\n\n .delta[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n font-size: 11px;\n font-weight: 600;\n margin-left: 6px;\n padding: 1px 6px;\n border-radius: 4px;\n }\n .delta[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 9px; }\n .delta-up[_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface)); color: var(--mj-status-success); }\n .delta-down[_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface)); color: var(--mj-status-error); }\n .delta-neutral[_ngcontent-%COMP%] { background: var(--mj-bg-surface-card); color: var(--mj-text-disabled); }\n\n \n\n \n\n \n\n .empty-mini[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 32px 16px;\n color: var(--mj-border-strong);\n gap: 8px;\n }\n .empty-mini[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 28px; opacity: 0.5; }\n .empty-mini[_ngcontent-%COMP%] span[_ngcontent-%COMP%] { font-size: 12px; }\n\n \n\n \n\n \n\n @media (max-width: 1100px) {\n .trend-grid[_ngcontent-%COMP%] { grid-template-columns: 1fr; }\n .insights-grid[_ngcontent-%COMP%] { grid-template-columns: 1fr 1fr; }\n }\n @media (max-width: 720px) {\n .page-header[_ngcontent-%COMP%] { flex-direction: column; align-items: flex-start; }\n .insights-grid[_ngcontent-%COMP%] { grid-template-columns: 1fr; }\n .dist-row[_ngcontent-%COMP%] { grid-template-columns: 80px 1fr 32px 42px; }\n }"], changeDetection: 0 });
|
|
909
|
+
i0.ɵɵconditional(ctx.HideToolbar ? 0 : 1);
|
|
910
|
+
} }, dependencies: [i2.NgTemplateOutlet, i3.MJPageHeaderComponent, i3.MJPageLayoutComponent, i3.MJPageBodyComponent, i3.MJFilterChipComponent, i3.MJRefreshButtonComponent, i2.AsyncPipe, i2.DecimalPipe, i2.DatePipe], styles: ["\n\n \n\n \n\n .testing-analytics[_ngcontent-%COMP%] {\n padding: 24px;\n height: 100%;\n overflow-y: auto;\n background: var(--mj-bg-surface-card);\n }\n\n \n\n \n\n \n\n .page-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 12px;\n background: var(--mj-bg-surface);\n padding: 20px 24px;\n border-radius: 12px;\n box-shadow: var(--mj-shadow-sm);\n margin-bottom: 24px;\n }\n .header-left[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 10px;\n }\n .header-left[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n .header-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n }\n\n \n\n .time-range-pills[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 8px;\n padding: 3px;\n }\n .pill[_ngcontent-%COMP%] {\n padding: 6px 14px;\n border: none;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n background: transparent;\n cursor: pointer;\n transition: all 0.2s ease;\n }\n .pill[_ngcontent-%COMP%]:hover { background: var(--mj-border-default); }\n .pill.active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n box-shadow: var(--mj-shadow-sm);\n }\n\n .refresh-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 16px;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s ease;\n }\n .refresh-btn[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-card); border-color: var(--mj-border-strong); }\n\n \n\n \n\n \n\n .section-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 14px;\n }\n .section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n .section-subtitle[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 400;\n color: var(--mj-text-disabled);\n margin-left: 4px;\n }\n\n \n\n \n\n \n\n .card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border-radius: 12px;\n box-shadow: var(--mj-shadow-sm);\n padding: 20px;\n transition: transform 0.2s ease, box-shadow 0.2s ease;\n }\n .card[_ngcontent-%COMP%]:hover {\n transform: translateY(-2px);\n box-shadow: var(--mj-shadow-md);\n }\n .card[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0 0 14px 0;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n .card[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { color: var(--mj-brand-primary); font-size: 14px; }\n\n \n\n \n\n \n\n .trend-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n margin-bottom: 28px;\n }\n\n \n\n .bar-chart[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n .bar-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 60px 1fr 52px;\n align-items: center;\n gap: 8px;\n }\n .bar-label[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-disabled);\n font-weight: 500;\n text-align: right;\n white-space: nowrap;\n }\n .bar-track[_ngcontent-%COMP%] {\n height: 14px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 7px;\n overflow: hidden;\n position: relative;\n }\n .bar-track.stacked[_ngcontent-%COMP%] {\n display: flex;\n }\n .bar-fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: 7px;\n transition: width 0.4s ease;\n }\n .bar-value[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-align: right;\n }\n\n \n\n .pass-rate-bar[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n }\n .cost-bar[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n }\n .score-excellent[_ngcontent-%COMP%] { background: var(--mj-status-success); }\n .score-good[_ngcontent-%COMP%] { background: var(--mj-brand-primary); }\n .score-fair[_ngcontent-%COMP%] { background: var(--mj-status-warning); }\n .score-poor[_ngcontent-%COMP%] { background: var(--mj-status-error); }\n\n \n\n .text-excellent[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .text-good[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n .text-fair[_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .text-poor[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n .text-pass-good[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .text-pass-warn[_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .text-pass-bad[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n\n \n\n .bar-segment[_ngcontent-%COMP%] { height: 100%; transition: width 0.4s ease; }\n .passed-seg[_ngcontent-%COMP%] { background: var(--mj-status-success); }\n .failed-seg[_ngcontent-%COMP%] { background: var(--mj-status-error); }\n .skipped-seg[_ngcontent-%COMP%] { background: var(--mj-text-disabled); }\n\n .legend-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-top: 8px;\n font-size: 10px;\n color: var(--mj-text-disabled);\n }\n .legend-dot[_ngcontent-%COMP%] {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n display: inline-block;\n margin-left: 8px;\n }\n .legend-dot[_ngcontent-%COMP%]:first-child { margin-left: 0; }\n .legend-dot.passed-seg[_ngcontent-%COMP%] { background: var(--mj-status-success); }\n .legend-dot.failed-seg[_ngcontent-%COMP%] { background: var(--mj-status-error); }\n .legend-dot.skipped-seg[_ngcontent-%COMP%] { background: var(--mj-text-disabled); }\n\n .trend-direction[_ngcontent-%COMP%] {\n margin-top: 10px;\n font-size: 12px;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 6px;\n }\n .trend-up[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .trend-down[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n .trend-neutral[_ngcontent-%COMP%] { color: var(--mj-text-disabled); }\n\n \n\n \n\n \n\n .insights-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 16px;\n margin-bottom: 28px;\n }\n\n .insight-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n .insight-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr auto auto;\n align-items: center;\n gap: 10px;\n padding: 8px 10px;\n border-radius: 6px;\n transition: background 0.15s ease;\n }\n .insight-row[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-card); }\n .insight-name[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .badge-fail[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n font-size: 11px;\n font-weight: 700;\n padding: 2px 8px;\n border-radius: 10px;\n }\n .insight-primary[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-brand-primary);\n }\n .insight-secondary[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 500;\n color: var(--mj-text-disabled);\n }\n\n \n\n \n\n \n\n .distribution-card[_ngcontent-%COMP%] {\n margin-bottom: 28px;\n }\n .distribution-bars[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 10px;\n }\n .dist-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 110px 1fr 40px 50px;\n align-items: center;\n gap: 10px;\n }\n .dist-label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n }\n .dist-track[_ngcontent-%COMP%] {\n height: 22px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 6px;\n overflow: hidden;\n }\n .dist-fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: 6px;\n transition: width 0.4s ease;\n }\n .dist-count[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-text-primary);\n text-align: right;\n }\n .dist-pct[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n text-align: right;\n }\n\n \n\n \n\n \n\n .version-card[_ngcontent-%COMP%] {\n margin-bottom: 28px;\n }\n .version-table-wrap[_ngcontent-%COMP%] {\n overflow-x: auto;\n }\n .version-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n }\n .version-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n text-align: left;\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n padding: 10px 12px;\n border-bottom: 2px solid var(--mj-border-default);\n }\n .version-table[_ngcontent-%COMP%] th.num[_ngcontent-%COMP%], \n .version-table[_ngcontent-%COMP%] td.num[_ngcontent-%COMP%] { text-align: right; }\n .version-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 12px;\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n vertical-align: middle;\n }\n .version-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-card); }\n .version-label[_ngcontent-%COMP%] {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;\n font-weight: 600;\n font-size: 12px;\n color: var(--mj-brand-primary);\n }\n .version-agent[_ngcontent-%COMP%] {\n display: block;\n font-size: 11px;\n color: var(--mj-text-disabled);\n margin-top: 2px;\n }\n\n .delta[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n font-size: 11px;\n font-weight: 600;\n margin-left: 6px;\n padding: 1px 6px;\n border-radius: 4px;\n }\n .delta[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 9px; }\n .delta-up[_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface)); color: var(--mj-status-success); }\n .delta-down[_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface)); color: var(--mj-status-error); }\n .delta-neutral[_ngcontent-%COMP%] { background: var(--mj-bg-surface-card); color: var(--mj-text-disabled); }\n\n \n\n \n\n \n\n .empty-mini[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 32px 16px;\n color: var(--mj-border-strong);\n gap: 8px;\n }\n .empty-mini[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 28px; opacity: 0.5; }\n .empty-mini[_ngcontent-%COMP%] span[_ngcontent-%COMP%] { font-size: 12px; }\n\n \n\n \n\n \n\n @media (max-width: 1100px) {\n .trend-grid[_ngcontent-%COMP%] { grid-template-columns: 1fr; }\n .insights-grid[_ngcontent-%COMP%] { grid-template-columns: 1fr 1fr; }\n }\n @media (max-width: 720px) {\n .page-header[_ngcontent-%COMP%] { flex-direction: column; align-items: flex-start; }\n .insights-grid[_ngcontent-%COMP%] { grid-template-columns: 1fr; }\n .dist-row[_ngcontent-%COMP%] { grid-template-columns: 80px 1fr 32px 42px; }\n }"], changeDetection: 0 });
|
|
887
911
|
}
|
|
888
912
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TestingAnalyticsComponent, [{
|
|
889
913
|
type: Component,
|
|
890
914
|
args: [{ standalone: false, selector: 'app-testing-analytics', changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
<
|
|
895
|
-
<
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
</div>
|
|
901
|
-
<div class="header-actions">
|
|
902
|
-
<div class="time-range-pills">
|
|
915
|
+
@if (HideToolbar) {
|
|
916
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
917
|
+
} @else {
|
|
918
|
+
<mj-page-layout>
|
|
919
|
+
<mj-page-header
|
|
920
|
+
Title="Testing Analytics"
|
|
921
|
+
Icon="fa-solid fa-chart-bar"
|
|
922
|
+
Subtitle="Test trends, pass rates, and version metrics">
|
|
923
|
+
<div actions>
|
|
903
924
|
@for (range of TimeRanges; track range.days) {
|
|
904
|
-
<
|
|
905
|
-
|
|
906
|
-
[
|
|
907
|
-
(
|
|
908
|
-
|
|
909
|
-
</button>
|
|
925
|
+
<mj-filter-chip
|
|
926
|
+
[Label]="range.label"
|
|
927
|
+
[Active]="SelectedDays === range.days"
|
|
928
|
+
(Clicked)="OnTimeRangeSelect(range.days)">
|
|
929
|
+
</mj-filter-chip>
|
|
910
930
|
}
|
|
931
|
+
<mj-refresh-button (Clicked)="Refresh()"></mj-refresh-button>
|
|
911
932
|
</div>
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
933
|
+
</mj-page-header>
|
|
934
|
+
<mj-page-body>
|
|
935
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
936
|
+
</mj-page-body>
|
|
937
|
+
</mj-page-layout>
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
<ng-template #content>
|
|
941
|
+
<div class="testing-analytics">
|
|
918
942
|
|
|
919
943
|
<!-- ===== 2. Trend Overview (2-column CSS charts) ===== -->
|
|
920
944
|
<div class="section-title">
|
|
@@ -1190,11 +1214,14 @@ export class TestingAnalyticsComponent {
|
|
|
1190
1214
|
}
|
|
1191
1215
|
</div>
|
|
1192
1216
|
</div>
|
|
1217
|
+
</ng-template>
|
|
1193
1218
|
`, styles: ["\n /* ------------------------------------------------------------------ */\n /* Layout & page */\n /* ------------------------------------------------------------------ */\n .testing-analytics {\n padding: 24px;\n height: 100%;\n overflow-y: auto;\n background: var(--mj-bg-surface-card);\n }\n\n /* ------------------------------------------------------------------ */\n /* Page header */\n /* ------------------------------------------------------------------ */\n .page-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 12px;\n background: var(--mj-bg-surface);\n padding: 20px 24px;\n border-radius: 12px;\n box-shadow: var(--mj-shadow-sm);\n margin-bottom: 24px;\n }\n .header-left h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 10px;\n }\n .header-left h2 i { color: var(--mj-brand-primary); }\n .header-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n }\n\n /* time-range pills */\n .time-range-pills {\n display: flex;\n gap: 4px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 8px;\n padding: 3px;\n }\n .pill {\n padding: 6px 14px;\n border: none;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n background: transparent;\n cursor: pointer;\n transition: all 0.2s ease;\n }\n .pill:hover { background: var(--mj-border-default); }\n .pill.active {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n box-shadow: var(--mj-shadow-sm);\n }\n\n .refresh-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 16px;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s ease;\n }\n .refresh-btn:hover { background: var(--mj-bg-surface-card); border-color: var(--mj-border-strong); }\n\n /* ------------------------------------------------------------------ */\n /* Section titles */\n /* ------------------------------------------------------------------ */\n .section-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 14px;\n }\n .section-title i { color: var(--mj-brand-primary); }\n .section-subtitle {\n font-size: 12px;\n font-weight: 400;\n color: var(--mj-text-disabled);\n margin-left: 4px;\n }\n\n /* ------------------------------------------------------------------ */\n /* Cards */\n /* ------------------------------------------------------------------ */\n .card {\n background: var(--mj-bg-surface);\n border-radius: 12px;\n box-shadow: var(--mj-shadow-sm);\n padding: 20px;\n transition: transform 0.2s ease, box-shadow 0.2s ease;\n }\n .card:hover {\n transform: translateY(-2px);\n box-shadow: var(--mj-shadow-md);\n }\n .card h4 {\n margin: 0 0 14px 0;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n .card h4 i { color: var(--mj-brand-primary); font-size: 14px; }\n\n /* ------------------------------------------------------------------ */\n /* Trend grid (2 columns) */\n /* ------------------------------------------------------------------ */\n .trend-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n margin-bottom: 28px;\n }\n\n /* CSS bar charts */\n .bar-chart {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n .bar-row {\n display: grid;\n grid-template-columns: 60px 1fr 52px;\n align-items: center;\n gap: 8px;\n }\n .bar-label {\n font-size: 10px;\n color: var(--mj-text-disabled);\n font-weight: 500;\n text-align: right;\n white-space: nowrap;\n }\n .bar-track {\n height: 14px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 7px;\n overflow: hidden;\n position: relative;\n }\n .bar-track.stacked {\n display: flex;\n }\n .bar-fill {\n height: 100%;\n border-radius: 7px;\n transition: width 0.4s ease;\n }\n .bar-value {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-align: right;\n }\n\n /* colour classes for bars */\n .pass-rate-bar {\n background: var(--mj-status-success);\n }\n .cost-bar {\n background: var(--mj-status-warning);\n }\n .score-excellent { background: var(--mj-status-success); }\n .score-good { background: var(--mj-brand-primary); }\n .score-fair { background: var(--mj-status-warning); }\n .score-poor { background: var(--mj-status-error); }\n\n /* text colour classes */\n .text-excellent { color: var(--mj-status-success); }\n .text-good { color: var(--mj-brand-primary); }\n .text-fair { color: var(--mj-status-warning); }\n .text-poor { color: var(--mj-status-error); }\n .text-pass-good { color: var(--mj-status-success); }\n .text-pass-warn { color: var(--mj-status-warning); }\n .text-pass-bad { color: var(--mj-status-error); }\n\n /* stacked segments */\n .bar-segment { height: 100%; transition: width 0.4s ease; }\n .passed-seg { background: var(--mj-status-success); }\n .failed-seg { background: var(--mj-status-error); }\n .skipped-seg { background: var(--mj-text-disabled); }\n\n .legend-row {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-top: 8px;\n font-size: 10px;\n color: var(--mj-text-disabled);\n }\n .legend-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n display: inline-block;\n margin-left: 8px;\n }\n .legend-dot:first-child { margin-left: 0; }\n .legend-dot.passed-seg { background: var(--mj-status-success); }\n .legend-dot.failed-seg { background: var(--mj-status-error); }\n .legend-dot.skipped-seg { background: var(--mj-text-disabled); }\n\n .trend-direction {\n margin-top: 10px;\n font-size: 12px;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 6px;\n }\n .trend-up { color: var(--mj-status-success); }\n .trend-down { color: var(--mj-status-error); }\n .trend-neutral { color: var(--mj-text-disabled); }\n\n /* ------------------------------------------------------------------ */\n /* Insights grid (3 columns) */\n /* ------------------------------------------------------------------ */\n .insights-grid {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 16px;\n margin-bottom: 28px;\n }\n\n .insight-list {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n .insight-row {\n display: grid;\n grid-template-columns: 1fr auto auto;\n align-items: center;\n gap: 10px;\n padding: 8px 10px;\n border-radius: 6px;\n transition: background 0.15s ease;\n }\n .insight-row:hover { background: var(--mj-bg-surface-card); }\n .insight-name {\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .badge-fail {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n font-size: 11px;\n font-weight: 700;\n padding: 2px 8px;\n border-radius: 10px;\n }\n .insight-primary {\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-brand-primary);\n }\n .insight-secondary {\n font-size: 11px;\n font-weight: 500;\n color: var(--mj-text-disabled);\n }\n\n /* ------------------------------------------------------------------ */\n /* Score Distribution */\n /* ------------------------------------------------------------------ */\n .distribution-card {\n margin-bottom: 28px;\n }\n .distribution-bars {\n display: flex;\n flex-direction: column;\n gap: 10px;\n }\n .dist-row {\n display: grid;\n grid-template-columns: 110px 1fr 40px 50px;\n align-items: center;\n gap: 10px;\n }\n .dist-label {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n }\n .dist-track {\n height: 22px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 6px;\n overflow: hidden;\n }\n .dist-fill {\n height: 100%;\n border-radius: 6px;\n transition: width 0.4s ease;\n }\n .dist-count {\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-text-primary);\n text-align: right;\n }\n .dist-pct {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n text-align: right;\n }\n\n /* ------------------------------------------------------------------ */\n /* Version Comparison */\n /* ------------------------------------------------------------------ */\n .version-card {\n margin-bottom: 28px;\n }\n .version-table-wrap {\n overflow-x: auto;\n }\n .version-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n }\n .version-table th {\n text-align: left;\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n padding: 10px 12px;\n border-bottom: 2px solid var(--mj-border-default);\n }\n .version-table th.num,\n .version-table td.num { text-align: right; }\n .version-table td {\n padding: 10px 12px;\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n vertical-align: middle;\n }\n .version-table tbody tr:hover { background: var(--mj-bg-surface-card); }\n .version-label {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;\n font-weight: 600;\n font-size: 12px;\n color: var(--mj-brand-primary);\n }\n .version-agent {\n display: block;\n font-size: 11px;\n color: var(--mj-text-disabled);\n margin-top: 2px;\n }\n\n .delta {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n font-size: 11px;\n font-weight: 600;\n margin-left: 6px;\n padding: 1px 6px;\n border-radius: 4px;\n }\n .delta i { font-size: 9px; }\n .delta-up { background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface)); color: var(--mj-status-success); }\n .delta-down { background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface)); color: var(--mj-status-error); }\n .delta-neutral { background: var(--mj-bg-surface-card); color: var(--mj-text-disabled); }\n\n /* ------------------------------------------------------------------ */\n /* Empty / mini empty states */\n /* ------------------------------------------------------------------ */\n .empty-mini {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 32px 16px;\n color: var(--mj-border-strong);\n gap: 8px;\n }\n .empty-mini i { font-size: 28px; opacity: 0.5; }\n .empty-mini span { font-size: 12px; }\n\n /* ------------------------------------------------------------------ */\n /* Responsive */\n /* ------------------------------------------------------------------ */\n @media (max-width: 1100px) {\n .trend-grid { grid-template-columns: 1fr; }\n .insights-grid { grid-template-columns: 1fr 1fr; }\n }\n @media (max-width: 720px) {\n .page-header { flex-direction: column; align-items: flex-start; }\n .insights-grid { grid-template-columns: 1fr; }\n .dist-row { grid-template-columns: 80px 1fr 32px 42px; }\n }\n "] }]
|
|
1194
1219
|
}], () => [{ type: i1.TestingInstrumentationService }, { type: i0.ChangeDetectorRef }], { initialState: [{
|
|
1195
1220
|
type: Input
|
|
1221
|
+
}], HideToolbar: [{
|
|
1222
|
+
type: Input
|
|
1196
1223
|
}], stateChange: [{
|
|
1197
1224
|
type: Output
|
|
1198
1225
|
}] }); })();
|
|
1199
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TestingAnalyticsComponent, { className: "TestingAnalyticsComponent", filePath: "src/Testing/components/testing-analytics.component.ts", lineNumber:
|
|
1226
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TestingAnalyticsComponent, { className: "TestingAnalyticsComponent", filePath: "src/Testing/components/testing-analytics.component.ts", lineNumber: 780 }); })();
|
|
1200
1227
|
//# sourceMappingURL=testing-analytics.component.js.map
|