@memberjunction/ng-dashboards 5.34.1 → 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.js +773 -783
- 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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
1
|
+
import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
|
|
2
2
|
import { Subject, BehaviorSubject, combineLatest } from 'rxjs';
|
|
3
3
|
import { takeUntil, debounceTime } from 'rxjs/operators';
|
|
4
4
|
import { RunView, CompositeKey } from '@memberjunction/core';
|
|
@@ -12,90 +12,168 @@ import * as i1 from "@memberjunction/ng-testing";
|
|
|
12
12
|
import * as i2 from "../services/testing-instrumentation.service";
|
|
13
13
|
import * as i3 from "@angular/common";
|
|
14
14
|
import * as i4 from "@angular/forms";
|
|
15
|
-
import * as i5 from "@memberjunction/ng-
|
|
16
|
-
import * as i6 from "@memberjunction/ng-
|
|
17
|
-
import * as i7 from "
|
|
15
|
+
import * as i5 from "@memberjunction/ng-ui-components";
|
|
16
|
+
import * as i6 from "@memberjunction/ng-versions";
|
|
17
|
+
import * as i7 from "@memberjunction/ng-shared-generic";
|
|
18
|
+
import * as i8 from "../../shared/pipes/highlight-search.pipe";
|
|
18
19
|
const _c0 = a0 => ({ node: a0, depth: 0 });
|
|
19
20
|
const _c1 = (a0, a1) => ({ node: a0, depth: a1 });
|
|
20
21
|
const _forTrack0 = ($index, $item) => $item.ID;
|
|
21
22
|
const _forTrack1 = ($index, $item) => $item.TestID;
|
|
23
|
+
function TestingExplorerComponent_Conditional_0_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
+
i0.ɵɵelementContainer(0);
|
|
25
|
+
} }
|
|
22
26
|
function TestingExplorerComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
-
i0.ɵɵ
|
|
24
|
-
|
|
27
|
+
i0.ɵɵtemplate(0, TestingExplorerComponent_Conditional_0_ng_container_0_Template, 1, 0, "ng-container", 2);
|
|
28
|
+
} if (rf & 2) {
|
|
29
|
+
i0.ɵɵnextContext();
|
|
30
|
+
const content_r1 = i0.ɵɵreference(3);
|
|
31
|
+
i0.ɵɵproperty("ngTemplateOutlet", content_r1);
|
|
32
|
+
} }
|
|
33
|
+
function TestingExplorerComponent_Conditional_1_For_18_Template(rf, ctx) { if (rf & 1) {
|
|
34
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
35
|
+
i0.ɵɵelementStart(0, "mj-filter-chip", 19);
|
|
36
|
+
i0.ɵɵlistener("Clicked", function TestingExplorerComponent_Conditional_1_For_18_Template_mj_filter_chip_Clicked_0_listener() { const status_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.ToggleStatus(status_r5)); });
|
|
37
|
+
i0.ɵɵelementEnd();
|
|
38
|
+
} if (rf & 2) {
|
|
39
|
+
const status_r5 = ctx.$implicit;
|
|
40
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
41
|
+
i0.ɵɵproperty("Label", status_r5)("Active", ctx_r2.IsStatusActive(status_r5));
|
|
42
|
+
} }
|
|
43
|
+
function TestingExplorerComponent_Conditional_1_ng_container_21_Template(rf, ctx) { if (rf & 1) {
|
|
44
|
+
i0.ɵɵelementContainer(0);
|
|
45
|
+
} }
|
|
46
|
+
function TestingExplorerComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
47
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
48
|
+
i0.ɵɵelementStart(0, "mj-page-layout")(1, "mj-page-header", 3)(2, "div", 4);
|
|
49
|
+
i0.ɵɵelement(3, "mj-stat-badge", 5);
|
|
50
|
+
i0.ɵɵelementEnd();
|
|
51
|
+
i0.ɵɵelementStart(4, "div", 6)(5, "mj-view-toggle", 7);
|
|
52
|
+
i0.ɵɵlistener("KeyChange", function TestingExplorerComponent_Conditional_1_Template_mj_view_toggle_KeyChange_5_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SetViewMode($event)); });
|
|
53
|
+
i0.ɵɵelementEnd();
|
|
54
|
+
i0.ɵɵelementStart(6, "button", 8);
|
|
55
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.ToggleSortDirection()); });
|
|
56
|
+
i0.ɵɵelement(7, "i", 9)(8, "i", 10);
|
|
57
|
+
i0.ɵɵelementEnd();
|
|
58
|
+
i0.ɵɵelementStart(9, "button", 11);
|
|
59
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnNewSuite()); });
|
|
60
|
+
i0.ɵɵelement(10, "i", 12);
|
|
61
|
+
i0.ɵɵtext(11, " New Suite ");
|
|
62
|
+
i0.ɵɵelementEnd();
|
|
63
|
+
i0.ɵɵelementStart(12, "button", 13);
|
|
64
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnNewTest()); });
|
|
65
|
+
i0.ɵɵelement(13, "i", 14);
|
|
66
|
+
i0.ɵɵtext(14, " New Test ");
|
|
67
|
+
i0.ɵɵelementEnd()();
|
|
68
|
+
i0.ɵɵelementStart(15, "div", 15)(16, "mj-page-search", 16);
|
|
69
|
+
i0.ɵɵlistener("ValueChange", function TestingExplorerComponent_Conditional_1_Template_mj_page_search_ValueChange_16_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnSearchInputValue($event)); });
|
|
70
|
+
i0.ɵɵelementEnd();
|
|
71
|
+
i0.ɵɵrepeaterCreate(17, TestingExplorerComponent_Conditional_1_For_18_Template, 1, 2, "mj-filter-chip", 17, i0.ɵɵrepeaterTrackByIdentity);
|
|
72
|
+
i0.ɵɵelementStart(19, "mj-view-toggle", 7);
|
|
73
|
+
i0.ɵɵlistener("KeyChange", function TestingExplorerComponent_Conditional_1_Template_mj_view_toggle_KeyChange_19_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SetDisplayMode($event)); });
|
|
74
|
+
i0.ɵɵelementEnd()()();
|
|
75
|
+
i0.ɵɵelementStart(20, "mj-page-body", 18);
|
|
76
|
+
i0.ɵɵtemplate(21, TestingExplorerComponent_Conditional_1_ng_container_21_Template, 1, 0, "ng-container", 2);
|
|
77
|
+
i0.ɵɵelementEnd()();
|
|
78
|
+
} if (rf & 2) {
|
|
79
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
80
|
+
const content_r1 = i0.ɵɵreference(3);
|
|
81
|
+
i0.ɵɵadvance(3);
|
|
82
|
+
i0.ɵɵproperty("Count", ctx_r2.FilteredResultCount);
|
|
83
|
+
i0.ɵɵadvance(2);
|
|
84
|
+
i0.ɵɵproperty("Options", ctx_r2.HeaderViewOptions)("ActiveKey", ctx_r2.ViewMode);
|
|
85
|
+
i0.ɵɵadvance();
|
|
86
|
+
i0.ɵɵproperty("title", "Sort by " + ctx_r2.SortFieldLabel + " (" + (ctx_r2.SortDirection === "asc" ? "ascending" : "descending") + ")");
|
|
87
|
+
i0.ɵɵadvance(2);
|
|
88
|
+
i0.ɵɵclassProp("fa-arrow-up", ctx_r2.SortDirection === "asc")("fa-arrow-down", ctx_r2.SortDirection === "desc");
|
|
89
|
+
i0.ɵɵadvance(8);
|
|
90
|
+
i0.ɵɵproperty("Value", ctx_r2.SearchTerm);
|
|
91
|
+
i0.ɵɵadvance();
|
|
92
|
+
i0.ɵɵrepeater(ctx_r2.StatusOptions);
|
|
93
|
+
i0.ɵɵadvance(2);
|
|
94
|
+
i0.ɵɵproperty("Options", ctx_r2.DisplayModeOptions)("ActiveKey", ctx_r2.DisplayMode);
|
|
95
|
+
i0.ɵɵadvance();
|
|
96
|
+
i0.ɵɵproperty("Flex", true);
|
|
97
|
+
i0.ɵɵadvance();
|
|
98
|
+
i0.ɵɵproperty("ngTemplateOutlet", content_r1);
|
|
99
|
+
} }
|
|
100
|
+
function TestingExplorerComponent_ng_template_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
101
|
+
i0.ɵɵelementStart(0, "div", 20);
|
|
102
|
+
i0.ɵɵelement(1, "mj-loading", 27);
|
|
25
103
|
i0.ɵɵelementEnd();
|
|
26
104
|
} }
|
|
27
|
-
function
|
|
105
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_7_For_20_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
28
106
|
i0.ɵɵelementContainer(0);
|
|
29
107
|
} }
|
|
30
|
-
function
|
|
31
|
-
i0.ɵɵtemplate(0,
|
|
108
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_7_For_20_Template(rf, ctx) { if (rf & 1) {
|
|
109
|
+
i0.ɵɵtemplate(0, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_7_For_20_ng_container_0_Template, 1, 0, "ng-container", 43);
|
|
32
110
|
} if (rf & 2) {
|
|
33
|
-
const
|
|
111
|
+
const node_r9 = ctx.$implicit;
|
|
34
112
|
i0.ɵɵnextContext(3);
|
|
35
|
-
const
|
|
36
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
113
|
+
const suiteTreeTpl_r10 = i0.ɵɵreference(3);
|
|
114
|
+
i0.ɵɵproperty("ngTemplateOutlet", suiteTreeTpl_r10)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, node_r9));
|
|
37
115
|
} }
|
|
38
|
-
function
|
|
39
|
-
i0.ɵɵelementStart(0, "div",
|
|
116
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_7_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
117
|
+
i0.ɵɵelementStart(0, "div", 41);
|
|
40
118
|
i0.ɵɵtext(1, "No suites found");
|
|
41
119
|
i0.ɵɵelementEnd();
|
|
42
120
|
} }
|
|
43
|
-
function
|
|
44
|
-
const
|
|
45
|
-
i0.ɵɵelementStart(0, "div",
|
|
46
|
-
i0.ɵɵlistener("click", function
|
|
47
|
-
i0.ɵɵelement(1, "i",
|
|
121
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_7_For_26_Template(rf, ctx) { if (rf & 1) {
|
|
122
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
123
|
+
i0.ɵɵelementStart(0, "div", 37);
|
|
124
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_7_For_26_Template_div_click_0_listener() { const tt_r12 = i0.ɵɵrestoreView(_r11).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.SelectSidebarItem({ Type: "testType", ID: tt_r12.ID })); });
|
|
125
|
+
i0.ɵɵelement(1, "i", 44);
|
|
48
126
|
i0.ɵɵelementStart(2, "span");
|
|
49
127
|
i0.ɵɵtext(3);
|
|
50
128
|
i0.ɵɵelementEnd();
|
|
51
|
-
i0.ɵɵelementStart(4, "span",
|
|
129
|
+
i0.ɵɵelementStart(4, "span", 39);
|
|
52
130
|
i0.ɵɵtext(5);
|
|
53
131
|
i0.ɵɵelementEnd()();
|
|
54
132
|
} if (rf & 2) {
|
|
55
|
-
const
|
|
56
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
57
|
-
i0.ɵɵclassProp("active", ctx_r2.SelectedSidebar.Type === "testType" && ctx_r2.IsSidebarSelected(
|
|
133
|
+
const tt_r12 = ctx.$implicit;
|
|
134
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
135
|
+
i0.ɵɵclassProp("active", ctx_r2.SelectedSidebar.Type === "testType" && ctx_r2.IsSidebarSelected(tt_r12.ID));
|
|
58
136
|
i0.ɵɵadvance(3);
|
|
59
|
-
i0.ɵɵtextInterpolate(
|
|
137
|
+
i0.ɵɵtextInterpolate(tt_r12.Name);
|
|
60
138
|
i0.ɵɵadvance(2);
|
|
61
|
-
i0.ɵɵtextInterpolate(ctx_r2.GetTestCountForType(
|
|
139
|
+
i0.ɵɵtextInterpolate(ctx_r2.GetTestCountForType(tt_r12.ID));
|
|
62
140
|
} }
|
|
63
|
-
function
|
|
64
|
-
const
|
|
65
|
-
i0.ɵɵelementStart(0, "div",
|
|
141
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
142
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
143
|
+
i0.ɵɵelementStart(0, "div", 31)(1, "div", 35)(2, "div", 36);
|
|
66
144
|
i0.ɵɵtext(3, "Browse");
|
|
67
145
|
i0.ɵɵelementEnd();
|
|
68
|
-
i0.ɵɵelementStart(4, "div",
|
|
69
|
-
i0.ɵɵlistener("click", function
|
|
70
|
-
i0.ɵɵelement(5, "i",
|
|
146
|
+
i0.ɵɵelementStart(4, "div", 37);
|
|
147
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_7_Template_div_click_4_listener() { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.SelectSidebarItem({ Type: "all", ID: null })); });
|
|
148
|
+
i0.ɵɵelement(5, "i", 38);
|
|
71
149
|
i0.ɵɵelementStart(6, "span");
|
|
72
150
|
i0.ɵɵtext(7, "All Items");
|
|
73
151
|
i0.ɵɵelementEnd();
|
|
74
|
-
i0.ɵɵelementStart(8, "span",
|
|
152
|
+
i0.ɵɵelementStart(8, "span", 39);
|
|
75
153
|
i0.ɵɵtext(9);
|
|
76
154
|
i0.ɵɵelementEnd()();
|
|
77
|
-
i0.ɵɵelementStart(10, "div",
|
|
78
|
-
i0.ɵɵlistener("click", function
|
|
79
|
-
i0.ɵɵelement(11, "i",
|
|
155
|
+
i0.ɵɵelementStart(10, "div", 37);
|
|
156
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_7_Template_div_click_10_listener() { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.SelectSidebarItem({ Type: "standalone", ID: null })); });
|
|
157
|
+
i0.ɵɵelement(11, "i", 40);
|
|
80
158
|
i0.ɵɵelementStart(12, "span");
|
|
81
159
|
i0.ɵɵtext(13, "Standalone Tests");
|
|
82
160
|
i0.ɵɵelementEnd();
|
|
83
|
-
i0.ɵɵelementStart(14, "span",
|
|
161
|
+
i0.ɵɵelementStart(14, "span", 39);
|
|
84
162
|
i0.ɵɵtext(15);
|
|
85
163
|
i0.ɵɵelementEnd()()();
|
|
86
|
-
i0.ɵɵelementStart(16, "div",
|
|
164
|
+
i0.ɵɵelementStart(16, "div", 35)(17, "div", 36);
|
|
87
165
|
i0.ɵɵtext(18, "Test Suites");
|
|
88
166
|
i0.ɵɵelementEnd();
|
|
89
|
-
i0.ɵɵrepeaterCreate(19,
|
|
90
|
-
i0.ɵɵconditionalCreate(21,
|
|
167
|
+
i0.ɵɵrepeaterCreate(19, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_7_For_20_Template, 1, 4, "ng-container", null, _forTrack0);
|
|
168
|
+
i0.ɵɵconditionalCreate(21, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_7_Conditional_21_Template, 2, 0, "div", 41);
|
|
91
169
|
i0.ɵɵelementEnd();
|
|
92
|
-
i0.ɵɵelementStart(22, "div",
|
|
170
|
+
i0.ɵɵelementStart(22, "div", 35)(23, "div", 36);
|
|
93
171
|
i0.ɵɵtext(24, "Test Types");
|
|
94
172
|
i0.ɵɵelementEnd();
|
|
95
|
-
i0.ɵɵrepeaterCreate(25,
|
|
173
|
+
i0.ɵɵrepeaterCreate(25, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_7_For_26_Template, 6, 4, "div", 42, _forTrack0);
|
|
96
174
|
i0.ɵɵelementEnd()();
|
|
97
175
|
} if (rf & 2) {
|
|
98
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
176
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
99
177
|
i0.ɵɵadvance(4);
|
|
100
178
|
i0.ɵɵclassProp("active", ctx_r2.SelectedSidebar.Type === "all");
|
|
101
179
|
i0.ɵɵadvance(5);
|
|
@@ -111,777 +189,685 @@ function TestingExplorerComponent_Conditional_1_Conditional_7_Template(rf, ctx)
|
|
|
111
189
|
i0.ɵɵadvance(4);
|
|
112
190
|
i0.ɵɵrepeater(ctx_r2.FilteredTestTypes);
|
|
113
191
|
} }
|
|
114
|
-
function
|
|
115
|
-
|
|
116
|
-
i0.ɵɵelementStart(0, "button", 52);
|
|
117
|
-
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Conditional_14_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.ClearSearch()); });
|
|
118
|
-
i0.ɵɵelement(1, "i", 53);
|
|
119
|
-
i0.ɵɵelementEnd();
|
|
120
|
-
} }
|
|
121
|
-
function TestingExplorerComponent_Conditional_1_For_17_Template(rf, ctx) { if (rf & 1) {
|
|
122
|
-
const _r10 = i0.ɵɵgetCurrentView();
|
|
123
|
-
i0.ɵɵelementStart(0, "button", 54);
|
|
124
|
-
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_For_17_Template_button_click_0_listener() { const status_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.ToggleStatus(status_r11)); });
|
|
192
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
193
|
+
i0.ɵɵelement(0, "span", 69);
|
|
125
194
|
i0.ɵɵtext(1);
|
|
126
|
-
i0.ɵɵelementEnd();
|
|
127
195
|
} if (rf & 2) {
|
|
128
|
-
const
|
|
129
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
130
|
-
i0.ɵɵclassProp("active", ctx_r2.IsStatusActive(status_r11));
|
|
131
|
-
i0.ɵɵattribute("data-status", status_r11.toLowerCase());
|
|
196
|
+
const suite_r14 = i0.ɵɵnextContext().$implicit;
|
|
197
|
+
const ctx_r2 = i0.ɵɵnextContext(5);
|
|
132
198
|
i0.ɵɵadvance();
|
|
133
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
199
|
+
i0.ɵɵtextInterpolate1(" Last run ", ctx_r2.FormatRelativeTime(suite_r14.LastRunDate), " ");
|
|
134
200
|
} }
|
|
135
|
-
function
|
|
136
|
-
i0.ɵɵelement(0, "
|
|
137
|
-
i0.ɵɵtext(1);
|
|
138
|
-
} if (rf & 2) {
|
|
139
|
-
const suite_r13 = i0.ɵɵnextContext().$implicit;
|
|
140
|
-
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
141
|
-
i0.ɵɵadvance();
|
|
142
|
-
i0.ɵɵtextInterpolate1(" Last run ", ctx_r2.FormatRelativeTime(suite_r13.LastRunDate), " ");
|
|
143
|
-
} }
|
|
144
|
-
function TestingExplorerComponent_Conditional_1_Conditional_46_Conditional_0_For_8_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
145
|
-
i0.ɵɵelement(0, "p", 67);
|
|
201
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
202
|
+
i0.ɵɵelement(0, "p", 57);
|
|
146
203
|
i0.ɵɵpipe(1, "highlightSearch");
|
|
147
204
|
} if (rf & 2) {
|
|
148
|
-
const
|
|
149
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
150
|
-
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(1, 1,
|
|
205
|
+
const suite_r14 = i0.ɵɵnextContext().$implicit;
|
|
206
|
+
const ctx_r2 = i0.ɵɵnextContext(5);
|
|
207
|
+
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(1, 1, suite_r14.Description, ctx_r2.SearchTerm), i0.ɵɵsanitizeHtml);
|
|
151
208
|
} }
|
|
152
|
-
function
|
|
153
|
-
i0.ɵɵelementStart(0, "div",
|
|
154
|
-
i0.ɵɵelement(1, "span",
|
|
155
|
-
i0.ɵɵelementStart(2, "span",
|
|
209
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Conditional_33_For_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
210
|
+
i0.ɵɵelementStart(0, "div", 71);
|
|
211
|
+
i0.ɵɵelement(1, "span", 72);
|
|
212
|
+
i0.ɵɵelementStart(2, "span", 73);
|
|
156
213
|
i0.ɵɵtext(3);
|
|
157
214
|
i0.ɵɵelementEnd();
|
|
158
|
-
i0.ɵɵelementStart(4, "span",
|
|
215
|
+
i0.ɵɵelementStart(4, "span", 74);
|
|
159
216
|
i0.ɵɵtext(5);
|
|
160
217
|
i0.ɵɵelementEnd();
|
|
161
|
-
i0.ɵɵelementStart(6, "span",
|
|
162
|
-
i0.ɵɵelement(7, "span",
|
|
218
|
+
i0.ɵɵelementStart(6, "span", 75);
|
|
219
|
+
i0.ɵɵelement(7, "span", 76);
|
|
163
220
|
i0.ɵɵelementEnd();
|
|
164
|
-
i0.ɵɵelementStart(8, "span",
|
|
221
|
+
i0.ɵɵelementStart(8, "span", 77);
|
|
165
222
|
i0.ɵɵtext(9);
|
|
166
223
|
i0.ɵɵelementEnd()();
|
|
167
224
|
} if (rf & 2) {
|
|
168
|
-
const
|
|
169
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
225
|
+
const t_r15 = i0.ɵɵnextContext().$implicit;
|
|
226
|
+
const ctx_r2 = i0.ɵɵnextContext(7);
|
|
170
227
|
i0.ɵɵadvance();
|
|
171
|
-
i0.ɵɵattribute("data-status",
|
|
228
|
+
i0.ɵɵattribute("data-status", t_r15.LastStatus.toLowerCase());
|
|
172
229
|
i0.ɵɵadvance(2);
|
|
173
|
-
i0.ɵɵtextInterpolate(
|
|
230
|
+
i0.ɵɵtextInterpolate(t_r15.TestName);
|
|
174
231
|
i0.ɵɵadvance();
|
|
175
|
-
i0.ɵɵclassMap(ctx_r2.GetScoreClass(
|
|
232
|
+
i0.ɵɵclassMap(ctx_r2.GetScoreClass(t_r15.LastScore));
|
|
176
233
|
i0.ɵɵadvance();
|
|
177
|
-
i0.ɵɵtextInterpolate1("", (
|
|
234
|
+
i0.ɵɵtextInterpolate1("", (t_r15.LastScore * 100).toFixed(0), "%");
|
|
178
235
|
i0.ɵɵadvance(2);
|
|
179
|
-
i0.ɵɵclassMap(ctx_r2.GetScoreClass(
|
|
180
|
-
i0.ɵɵstyleProp("width",
|
|
236
|
+
i0.ɵɵclassMap(ctx_r2.GetScoreClass(t_r15.LastScore) + "-bg");
|
|
237
|
+
i0.ɵɵstyleProp("width", t_r15.LastScore * 100, "%");
|
|
181
238
|
i0.ɵɵadvance();
|
|
182
|
-
i0.ɵɵattribute("data-status",
|
|
239
|
+
i0.ɵɵattribute("data-status", t_r15.LastStatus.toLowerCase());
|
|
183
240
|
i0.ɵɵadvance();
|
|
184
|
-
i0.ɵɵtextInterpolate(
|
|
241
|
+
i0.ɵɵtextInterpolate(t_r15.LastStatus);
|
|
185
242
|
} }
|
|
186
|
-
function
|
|
187
|
-
i0.ɵɵconditionalCreate(0,
|
|
243
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Conditional_33_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
244
|
+
i0.ɵɵconditionalCreate(0, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Conditional_33_For_2_Conditional_0_Template, 10, 11, "div", 71);
|
|
188
245
|
} if (rf & 2) {
|
|
189
|
-
const ɵ$
|
|
190
|
-
i0.ɵɵconditional(ɵ$
|
|
246
|
+
const ɵ$index_210_r16 = ctx.$index;
|
|
247
|
+
i0.ɵɵconditional(ɵ$index_210_r16 < 4 ? 0 : -1);
|
|
191
248
|
} }
|
|
192
|
-
function
|
|
193
|
-
i0.ɵɵelementStart(0, "div",
|
|
249
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Conditional_33_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
250
|
+
i0.ɵɵelementStart(0, "div", 70);
|
|
194
251
|
i0.ɵɵtext(1);
|
|
195
252
|
i0.ɵɵelementEnd();
|
|
196
253
|
} if (rf & 2) {
|
|
197
|
-
const
|
|
254
|
+
const suite_r14 = i0.ɵɵnextContext(2).$implicit;
|
|
198
255
|
i0.ɵɵadvance();
|
|
199
|
-
i0.ɵɵtextInterpolate1("+",
|
|
256
|
+
i0.ɵɵtextInterpolate1("+", suite_r14.TotalTestsInSuite - 4, " more tests");
|
|
200
257
|
} }
|
|
201
|
-
function
|
|
202
|
-
i0.ɵɵelementStart(0, "div",
|
|
203
|
-
i0.ɵɵrepeaterCreate(1,
|
|
204
|
-
i0.ɵɵconditionalCreate(3,
|
|
258
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Conditional_33_Template(rf, ctx) { if (rf & 1) {
|
|
259
|
+
i0.ɵɵelementStart(0, "div", 62);
|
|
260
|
+
i0.ɵɵrepeaterCreate(1, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Conditional_33_For_2_Template, 1, 1, null, null, _forTrack1);
|
|
261
|
+
i0.ɵɵconditionalCreate(3, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Conditional_33_Conditional_3_Template, 2, 1, "div", 70);
|
|
205
262
|
i0.ɵɵelementEnd();
|
|
206
263
|
} if (rf & 2) {
|
|
207
|
-
const
|
|
264
|
+
const suite_r14 = i0.ɵɵnextContext().$implicit;
|
|
208
265
|
i0.ɵɵadvance();
|
|
209
|
-
i0.ɵɵrepeater(
|
|
266
|
+
i0.ɵɵrepeater(suite_r14.Tests);
|
|
210
267
|
i0.ɵɵadvance(2);
|
|
211
|
-
i0.ɵɵconditional(
|
|
268
|
+
i0.ɵɵconditional(suite_r14.TotalTestsInSuite > 4 ? 3 : -1);
|
|
212
269
|
} }
|
|
213
|
-
function
|
|
214
|
-
const
|
|
215
|
-
i0.ɵɵelementStart(0, "div",
|
|
216
|
-
i0.ɵɵelement(3, "i",
|
|
270
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
271
|
+
const _r13 = i0.ɵɵgetCurrentView();
|
|
272
|
+
i0.ɵɵelementStart(0, "div", 50)(1, "div", 51)(2, "div", 52);
|
|
273
|
+
i0.ɵɵelement(3, "i", 53)(4, "span", 54);
|
|
217
274
|
i0.ɵɵpipe(5, "highlightSearch");
|
|
218
|
-
i0.ɵɵelementStart(6, "span",
|
|
275
|
+
i0.ɵɵelementStart(6, "span", 55);
|
|
219
276
|
i0.ɵɵtext(7);
|
|
220
277
|
i0.ɵɵelementEnd()();
|
|
221
|
-
i0.ɵɵelementStart(8, "div",
|
|
278
|
+
i0.ɵɵelementStart(8, "div", 56);
|
|
222
279
|
i0.ɵɵtext(9);
|
|
223
|
-
i0.ɵɵconditionalCreate(10,
|
|
280
|
+
i0.ɵɵconditionalCreate(10, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Conditional_10_Template, 2, 1);
|
|
224
281
|
i0.ɵɵelementEnd();
|
|
225
|
-
i0.ɵɵconditionalCreate(11,
|
|
282
|
+
i0.ɵɵconditionalCreate(11, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Conditional_11_Template, 2, 4, "p", 57);
|
|
226
283
|
i0.ɵɵelementEnd();
|
|
227
|
-
i0.ɵɵelementStart(12, "div",
|
|
284
|
+
i0.ɵɵelementStart(12, "div", 58)(13, "div", 59)(14, "span", 60);
|
|
228
285
|
i0.ɵɵtext(15, "Pass Rate");
|
|
229
286
|
i0.ɵɵelementEnd();
|
|
230
|
-
i0.ɵɵelementStart(16, "span",
|
|
287
|
+
i0.ɵɵelementStart(16, "span", 61);
|
|
231
288
|
i0.ɵɵtext(17);
|
|
232
289
|
i0.ɵɵelementEnd()();
|
|
233
|
-
i0.ɵɵelementStart(18, "div",
|
|
290
|
+
i0.ɵɵelementStart(18, "div", 59)(19, "span", 60);
|
|
234
291
|
i0.ɵɵtext(20, "Tests");
|
|
235
292
|
i0.ɵɵelementEnd();
|
|
236
|
-
i0.ɵɵelementStart(21, "span",
|
|
293
|
+
i0.ɵɵelementStart(21, "span", 61);
|
|
237
294
|
i0.ɵɵtext(22);
|
|
238
295
|
i0.ɵɵelementEnd()();
|
|
239
|
-
i0.ɵɵelementStart(23, "div",
|
|
296
|
+
i0.ɵɵelementStart(23, "div", 59)(24, "span", 60);
|
|
240
297
|
i0.ɵɵtext(25, "Avg Score");
|
|
241
298
|
i0.ɵɵelementEnd();
|
|
242
|
-
i0.ɵɵelementStart(26, "span",
|
|
299
|
+
i0.ɵɵelementStart(26, "span", 61);
|
|
243
300
|
i0.ɵɵtext(27);
|
|
244
301
|
i0.ɵɵelementEnd()();
|
|
245
|
-
i0.ɵɵelementStart(28, "div",
|
|
302
|
+
i0.ɵɵelementStart(28, "div", 59)(29, "span", 60);
|
|
246
303
|
i0.ɵɵtext(30, "Avg Duration");
|
|
247
304
|
i0.ɵɵelementEnd();
|
|
248
|
-
i0.ɵɵelementStart(31, "span",
|
|
305
|
+
i0.ɵɵelementStart(31, "span", 61);
|
|
249
306
|
i0.ɵɵtext(32);
|
|
250
307
|
i0.ɵɵelementEnd()()();
|
|
251
|
-
i0.ɵɵconditionalCreate(33,
|
|
252
|
-
i0.ɵɵelementStart(34, "div",
|
|
253
|
-
i0.ɵɵlistener("click", function
|
|
254
|
-
i0.ɵɵelement(36, "i",
|
|
308
|
+
i0.ɵɵconditionalCreate(33, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Conditional_33_Template, 4, 1, "div", 62);
|
|
309
|
+
i0.ɵɵelementStart(34, "div", 63)(35, "button", 64);
|
|
310
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Template_button_click_35_listener() { const suite_r14 = i0.ɵɵrestoreView(_r13).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.RunSuite(suite_r14.ID)); });
|
|
311
|
+
i0.ɵɵelement(36, "i", 65);
|
|
255
312
|
i0.ɵɵtext(37, " Run Suite ");
|
|
256
313
|
i0.ɵɵelementEnd();
|
|
257
|
-
i0.ɵɵelementStart(38, "button",
|
|
258
|
-
i0.ɵɵlistener("click", function
|
|
259
|
-
i0.ɵɵelement(39, "i",
|
|
314
|
+
i0.ɵɵelementStart(38, "button", 66);
|
|
315
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Template_button_click_38_listener() { const suite_r14 = i0.ɵɵrestoreView(_r13).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.ViewSuiteResults(suite_r14.ID)); });
|
|
316
|
+
i0.ɵɵelement(39, "i", 67);
|
|
260
317
|
i0.ɵɵtext(40, " Results ");
|
|
261
318
|
i0.ɵɵelementEnd();
|
|
262
|
-
i0.ɵɵelementStart(41, "button",
|
|
263
|
-
i0.ɵɵlistener("click", function
|
|
264
|
-
i0.ɵɵelement(42, "i",
|
|
319
|
+
i0.ɵɵelementStart(41, "button", 66);
|
|
320
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Template_button_click_41_listener() { const suite_r14 = i0.ɵɵrestoreView(_r13).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.EditItem("MJ: Test Suites", suite_r14.ID)); });
|
|
321
|
+
i0.ɵɵelement(42, "i", 68);
|
|
265
322
|
i0.ɵɵtext(43, " Edit ");
|
|
266
323
|
i0.ɵɵelementEnd()()();
|
|
267
324
|
} if (rf & 2) {
|
|
268
|
-
const
|
|
269
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
325
|
+
const suite_r14 = ctx.$implicit;
|
|
326
|
+
const ctx_r2 = i0.ɵɵnextContext(5);
|
|
270
327
|
i0.ɵɵadvance(4);
|
|
271
|
-
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(5, 15,
|
|
328
|
+
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(5, 15, suite_r14.Name, ctx_r2.SearchTerm), i0.ɵɵsanitizeHtml);
|
|
272
329
|
i0.ɵɵadvance(2);
|
|
273
|
-
i0.ɵɵattribute("data-status",
|
|
330
|
+
i0.ɵɵattribute("data-status", suite_r14.Status.toLowerCase());
|
|
274
331
|
i0.ɵɵadvance();
|
|
275
|
-
i0.ɵɵtextInterpolate(
|
|
332
|
+
i0.ɵɵtextInterpolate(suite_r14.Status);
|
|
276
333
|
i0.ɵɵadvance(2);
|
|
277
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
334
|
+
i0.ɵɵtextInterpolate1(" ", suite_r14.TestCount, " tests ");
|
|
278
335
|
i0.ɵɵadvance();
|
|
279
|
-
i0.ɵɵconditional(
|
|
336
|
+
i0.ɵɵconditional(suite_r14.LastRunDate ? 10 : -1);
|
|
280
337
|
i0.ɵɵadvance();
|
|
281
|
-
i0.ɵɵconditional(
|
|
338
|
+
i0.ɵɵconditional(suite_r14.Description ? 11 : -1);
|
|
282
339
|
i0.ɵɵadvance(5);
|
|
283
|
-
i0.ɵɵclassMap(ctx_r2.GetScoreClass(
|
|
340
|
+
i0.ɵɵclassMap(ctx_r2.GetScoreClass(suite_r14.PassRate / 100));
|
|
284
341
|
i0.ɵɵadvance();
|
|
285
|
-
i0.ɵɵtextInterpolate(ctx_r2.FormatPercent(
|
|
342
|
+
i0.ɵɵtextInterpolate(ctx_r2.FormatPercent(suite_r14.PassRate));
|
|
286
343
|
i0.ɵɵadvance(5);
|
|
287
|
-
i0.ɵɵtextInterpolate(
|
|
344
|
+
i0.ɵɵtextInterpolate(suite_r14.TestCount);
|
|
288
345
|
i0.ɵɵadvance(4);
|
|
289
|
-
i0.ɵɵclassMap(ctx_r2.GetScoreClass(
|
|
346
|
+
i0.ɵɵclassMap(ctx_r2.GetScoreClass(suite_r14.AvgScore));
|
|
290
347
|
i0.ɵɵadvance();
|
|
291
|
-
i0.ɵɵtextInterpolate1("", (
|
|
348
|
+
i0.ɵɵtextInterpolate1("", (suite_r14.AvgScore * 100).toFixed(0), "%");
|
|
292
349
|
i0.ɵɵadvance(5);
|
|
293
|
-
i0.ɵɵtextInterpolate(ctx_r2.FormatDuration(
|
|
350
|
+
i0.ɵɵtextInterpolate(ctx_r2.FormatDuration(suite_r14.AvgDuration));
|
|
294
351
|
i0.ɵɵadvance();
|
|
295
|
-
i0.ɵɵconditional(
|
|
352
|
+
i0.ɵɵconditional(suite_r14.Tests.length > 0 ? 33 : -1);
|
|
296
353
|
} }
|
|
297
|
-
function
|
|
298
|
-
i0.ɵɵelementStart(0, "div",
|
|
299
|
-
i0.ɵɵelement(2, "i",
|
|
354
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
355
|
+
i0.ɵɵelementStart(0, "div", 45)(1, "h3", 46);
|
|
356
|
+
i0.ɵɵelement(2, "i", 47);
|
|
300
357
|
i0.ɵɵtext(3, " Test Suites ");
|
|
301
|
-
i0.ɵɵelementStart(4, "span",
|
|
358
|
+
i0.ɵɵelementStart(4, "span", 48);
|
|
302
359
|
i0.ɵɵtext(5);
|
|
303
360
|
i0.ɵɵelementEnd()();
|
|
304
|
-
i0.ɵɵelementStart(6, "div",
|
|
305
|
-
i0.ɵɵrepeaterCreate(7,
|
|
361
|
+
i0.ɵɵelementStart(6, "div", 49);
|
|
362
|
+
i0.ɵɵrepeaterCreate(7, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_For_8_Template, 44, 18, "div", 50, _forTrack0);
|
|
306
363
|
i0.ɵɵelementEnd()();
|
|
307
364
|
} if (rf & 2) {
|
|
308
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
365
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
309
366
|
i0.ɵɵadvance(5);
|
|
310
367
|
i0.ɵɵtextInterpolate(ctx_r2.FilteredSuites.length);
|
|
311
368
|
i0.ɵɵadvance(2);
|
|
312
369
|
i0.ɵɵrepeater(ctx_r2.FilteredSuites);
|
|
313
370
|
} }
|
|
314
|
-
function
|
|
315
|
-
i0.ɵɵconditionalCreate(0,
|
|
371
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
372
|
+
i0.ɵɵconditionalCreate(0, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Conditional_0_Template, 9, 1, "div", 45);
|
|
316
373
|
} if (rf & 2) {
|
|
317
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
374
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
318
375
|
i0.ɵɵconditional(ctx_r2.FilteredSuites.length > 0 ? 0 : -1);
|
|
319
376
|
} }
|
|
320
|
-
function
|
|
321
|
-
i0.ɵɵelement(0, "span",
|
|
377
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
378
|
+
i0.ɵɵelement(0, "span", 69);
|
|
322
379
|
i0.ɵɵtext(1);
|
|
323
380
|
} if (rf & 2) {
|
|
324
|
-
const
|
|
381
|
+
const test_r18 = i0.ɵɵnextContext().$implicit;
|
|
325
382
|
i0.ɵɵadvance();
|
|
326
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
383
|
+
i0.ɵɵtextInterpolate1(" ", test_r18.SuiteName, " ");
|
|
327
384
|
} }
|
|
328
|
-
function
|
|
329
|
-
i0.ɵɵelement(0, "p",
|
|
385
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
386
|
+
i0.ɵɵelement(0, "p", 57);
|
|
330
387
|
i0.ɵɵpipe(1, "highlightSearch");
|
|
331
388
|
} if (rf & 2) {
|
|
332
|
-
const
|
|
333
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
334
|
-
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(1, 1,
|
|
389
|
+
const test_r18 = i0.ɵɵnextContext().$implicit;
|
|
390
|
+
const ctx_r2 = i0.ɵɵnextContext(5);
|
|
391
|
+
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(1, 1, test_r18.Description, ctx_r2.SearchTerm), i0.ɵɵsanitizeHtml);
|
|
335
392
|
} }
|
|
336
|
-
function
|
|
337
|
-
i0.ɵɵelementStart(0, "span",
|
|
338
|
-
i0.ɵɵelement(1, "i",
|
|
393
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
394
|
+
i0.ɵɵelementStart(0, "span", 81);
|
|
395
|
+
i0.ɵɵelement(1, "i", 86);
|
|
339
396
|
i0.ɵɵtext(2);
|
|
340
397
|
i0.ɵɵelementEnd();
|
|
341
398
|
} if (rf & 2) {
|
|
342
|
-
const
|
|
399
|
+
const test_r18 = i0.ɵɵnextContext().$implicit;
|
|
343
400
|
i0.ɵɵadvance(2);
|
|
344
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
401
|
+
i0.ɵɵtextInterpolate1(" ", test_r18.TypeName);
|
|
345
402
|
} }
|
|
346
|
-
function
|
|
347
|
-
i0.ɵɵelementStart(0, "span",
|
|
348
|
-
i0.ɵɵelement(1, "i",
|
|
403
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
404
|
+
i0.ɵɵelementStart(0, "span", 81);
|
|
405
|
+
i0.ɵɵelement(1, "i", 87);
|
|
349
406
|
i0.ɵɵtext(2);
|
|
350
407
|
i0.ɵɵelementEnd();
|
|
351
408
|
} if (rf & 2) {
|
|
352
|
-
const
|
|
353
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
409
|
+
const test_r18 = i0.ɵɵnextContext().$implicit;
|
|
410
|
+
const ctx_r2 = i0.ɵɵnextContext(5);
|
|
354
411
|
i0.ɵɵadvance(2);
|
|
355
|
-
i0.ɵɵtextInterpolate1(" ~", ctx_r2.FormatDurationSeconds(
|
|
412
|
+
i0.ɵɵtextInterpolate1(" ~", ctx_r2.FormatDurationSeconds(test_r18.EstDuration));
|
|
356
413
|
} }
|
|
357
|
-
function
|
|
358
|
-
i0.ɵɵelementStart(0, "span",
|
|
359
|
-
i0.ɵɵelement(1, "i",
|
|
414
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
415
|
+
i0.ɵɵelementStart(0, "span", 81);
|
|
416
|
+
i0.ɵɵelement(1, "i", 88);
|
|
360
417
|
i0.ɵɵtext(2);
|
|
361
418
|
i0.ɵɵelementEnd();
|
|
362
419
|
} if (rf & 2) {
|
|
363
|
-
const
|
|
364
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
420
|
+
const test_r18 = i0.ɵɵnextContext().$implicit;
|
|
421
|
+
const ctx_r2 = i0.ɵɵnextContext(5);
|
|
365
422
|
i0.ɵɵadvance(2);
|
|
366
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r2.FormatCost(
|
|
423
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.FormatCost(test_r18.EstCost));
|
|
367
424
|
} }
|
|
368
|
-
function
|
|
369
|
-
i0.ɵɵelementStart(0, "span",
|
|
425
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_19_For_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
426
|
+
i0.ɵɵelementStart(0, "span", 90);
|
|
370
427
|
i0.ɵɵtext(1);
|
|
371
428
|
i0.ɵɵelementEnd();
|
|
372
429
|
} if (rf & 2) {
|
|
373
|
-
const
|
|
430
|
+
const tag_r19 = i0.ɵɵnextContext().$implicit;
|
|
374
431
|
i0.ɵɵadvance();
|
|
375
|
-
i0.ɵɵtextInterpolate(
|
|
432
|
+
i0.ɵɵtextInterpolate(tag_r19);
|
|
376
433
|
} }
|
|
377
|
-
function
|
|
378
|
-
i0.ɵɵconditionalCreate(0,
|
|
434
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_19_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
435
|
+
i0.ɵɵconditionalCreate(0, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_19_For_2_Conditional_0_Template, 2, 1, "span", 90);
|
|
379
436
|
} if (rf & 2) {
|
|
380
|
-
const ɵ$
|
|
381
|
-
i0.ɵɵconditional(ɵ$
|
|
437
|
+
const ɵ$index_318_r20 = ctx.$index;
|
|
438
|
+
i0.ɵɵconditional(ɵ$index_318_r20 < 4 ? 0 : -1);
|
|
382
439
|
} }
|
|
383
|
-
function
|
|
384
|
-
i0.ɵɵelementStart(0, "span",
|
|
440
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_19_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
441
|
+
i0.ɵɵelementStart(0, "span", 89);
|
|
385
442
|
i0.ɵɵtext(1);
|
|
386
443
|
i0.ɵɵelementEnd();
|
|
387
444
|
} if (rf & 2) {
|
|
388
|
-
const
|
|
445
|
+
const test_r18 = i0.ɵɵnextContext(2).$implicit;
|
|
389
446
|
i0.ɵɵadvance();
|
|
390
|
-
i0.ɵɵtextInterpolate1("+",
|
|
447
|
+
i0.ɵɵtextInterpolate1("+", test_r18.Tags.length - 4);
|
|
391
448
|
} }
|
|
392
|
-
function
|
|
393
|
-
i0.ɵɵelementStart(0, "div",
|
|
394
|
-
i0.ɵɵrepeaterCreate(1,
|
|
395
|
-
i0.ɵɵconditionalCreate(3,
|
|
449
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
450
|
+
i0.ɵɵelementStart(0, "div", 83);
|
|
451
|
+
i0.ɵɵrepeaterCreate(1, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_19_For_2_Template, 1, 1, null, null, i0.ɵɵrepeaterTrackByIdentity);
|
|
452
|
+
i0.ɵɵconditionalCreate(3, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_19_Conditional_3_Template, 2, 1, "span", 89);
|
|
396
453
|
i0.ɵɵelementEnd();
|
|
397
454
|
} if (rf & 2) {
|
|
398
|
-
const
|
|
455
|
+
const test_r18 = i0.ɵɵnextContext().$implicit;
|
|
399
456
|
i0.ɵɵadvance();
|
|
400
|
-
i0.ɵɵrepeater(
|
|
457
|
+
i0.ɵɵrepeater(test_r18.Tags);
|
|
401
458
|
i0.ɵɵadvance(2);
|
|
402
|
-
i0.ɵɵconditional(
|
|
459
|
+
i0.ɵɵconditional(test_r18.Tags.length > 4 ? 3 : -1);
|
|
403
460
|
} }
|
|
404
|
-
function
|
|
405
|
-
const
|
|
406
|
-
i0.ɵɵelementStart(0, "div",
|
|
407
|
-
i0.ɵɵelement(3, "i",
|
|
461
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
462
|
+
const _r17 = i0.ɵɵgetCurrentView();
|
|
463
|
+
i0.ɵɵelementStart(0, "div", 78)(1, "div", 51)(2, "div", 52);
|
|
464
|
+
i0.ɵɵelement(3, "i", 79)(4, "span", 54);
|
|
408
465
|
i0.ɵɵpipe(5, "highlightSearch");
|
|
409
|
-
i0.ɵɵelementStart(6, "span",
|
|
466
|
+
i0.ɵɵelementStart(6, "span", 55);
|
|
410
467
|
i0.ɵɵtext(7);
|
|
411
468
|
i0.ɵɵelementEnd()();
|
|
412
|
-
i0.ɵɵelementStart(8, "div",
|
|
469
|
+
i0.ɵɵelementStart(8, "div", 56);
|
|
413
470
|
i0.ɵɵtext(9);
|
|
414
|
-
i0.ɵɵconditionalCreate(10,
|
|
415
|
-
i0.ɵɵelementEnd();
|
|
416
|
-
i0.ɵɵconditionalCreate(11,
|
|
417
|
-
i0.ɵɵelementStart(12, "div",
|
|
418
|
-
i0.ɵɵconditionalCreate(13,
|
|
419
|
-
i0.ɵɵconditionalCreate(14,
|
|
420
|
-
i0.ɵɵconditionalCreate(15,
|
|
421
|
-
i0.ɵɵelementStart(16, "span",
|
|
422
|
-
i0.ɵɵelement(17, "i",
|
|
471
|
+
i0.ɵɵconditionalCreate(10, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_10_Template, 2, 1);
|
|
472
|
+
i0.ɵɵelementEnd();
|
|
473
|
+
i0.ɵɵconditionalCreate(11, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_11_Template, 2, 4, "p", 57);
|
|
474
|
+
i0.ɵɵelementStart(12, "div", 80);
|
|
475
|
+
i0.ɵɵconditionalCreate(13, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_13_Template, 3, 1, "span", 81);
|
|
476
|
+
i0.ɵɵconditionalCreate(14, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_14_Template, 3, 1, "span", 81);
|
|
477
|
+
i0.ɵɵconditionalCreate(15, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_15_Template, 3, 1, "span", 81);
|
|
478
|
+
i0.ɵɵelementStart(16, "span", 81);
|
|
479
|
+
i0.ɵɵelement(17, "i", 82);
|
|
423
480
|
i0.ɵɵtext(18);
|
|
424
481
|
i0.ɵɵelementEnd()();
|
|
425
|
-
i0.ɵɵconditionalCreate(19,
|
|
482
|
+
i0.ɵɵconditionalCreate(19, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Conditional_19_Template, 4, 1, "div", 83);
|
|
426
483
|
i0.ɵɵelementEnd();
|
|
427
|
-
i0.ɵɵelementStart(20, "div",
|
|
484
|
+
i0.ɵɵelementStart(20, "div", 58)(21, "div", 59)(22, "span", 60);
|
|
428
485
|
i0.ɵɵtext(23, "Last Status");
|
|
429
486
|
i0.ɵɵelementEnd();
|
|
430
|
-
i0.ɵɵelementStart(24, "span",
|
|
487
|
+
i0.ɵɵelementStart(24, "span", 84);
|
|
431
488
|
i0.ɵɵtext(25);
|
|
432
489
|
i0.ɵɵelementEnd()();
|
|
433
|
-
i0.ɵɵelementStart(26, "div",
|
|
490
|
+
i0.ɵɵelementStart(26, "div", 59)(27, "span", 60);
|
|
434
491
|
i0.ɵɵtext(28, "Score");
|
|
435
492
|
i0.ɵɵelementEnd();
|
|
436
|
-
i0.ɵɵelementStart(29, "span",
|
|
493
|
+
i0.ɵɵelementStart(29, "span", 61);
|
|
437
494
|
i0.ɵɵtext(30);
|
|
438
495
|
i0.ɵɵelementEnd()();
|
|
439
|
-
i0.ɵɵelementStart(31, "div",
|
|
496
|
+
i0.ɵɵelementStart(31, "div", 59)(32, "span", 60);
|
|
440
497
|
i0.ɵɵtext(33, "Total Runs");
|
|
441
498
|
i0.ɵɵelementEnd();
|
|
442
|
-
i0.ɵɵelementStart(34, "span",
|
|
499
|
+
i0.ɵɵelementStart(34, "span", 61);
|
|
443
500
|
i0.ɵɵtext(35);
|
|
444
501
|
i0.ɵɵelementEnd()();
|
|
445
|
-
i0.ɵɵelementStart(36, "div",
|
|
502
|
+
i0.ɵɵelementStart(36, "div", 59)(37, "span", 60);
|
|
446
503
|
i0.ɵɵtext(38, "Pass Rate");
|
|
447
504
|
i0.ɵɵelementEnd();
|
|
448
|
-
i0.ɵɵelementStart(39, "span",
|
|
505
|
+
i0.ɵɵelementStart(39, "span", 61);
|
|
449
506
|
i0.ɵɵtext(40);
|
|
450
507
|
i0.ɵɵelementEnd()()();
|
|
451
|
-
i0.ɵɵelementStart(41, "div",
|
|
452
|
-
i0.ɵɵlistener("click", function
|
|
453
|
-
i0.ɵɵelement(43, "i",
|
|
508
|
+
i0.ɵɵelementStart(41, "div", 63)(42, "button", 64);
|
|
509
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Template_button_click_42_listener() { const test_r18 = i0.ɵɵrestoreView(_r17).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.RunTest(test_r18.ID)); });
|
|
510
|
+
i0.ɵɵelement(43, "i", 65);
|
|
454
511
|
i0.ɵɵtext(44, " Run ");
|
|
455
512
|
i0.ɵɵelementEnd();
|
|
456
|
-
i0.ɵɵelementStart(45, "button",
|
|
457
|
-
i0.ɵɵlistener("click", function
|
|
458
|
-
i0.ɵɵelement(46, "i",
|
|
513
|
+
i0.ɵɵelementStart(45, "button", 66);
|
|
514
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Template_button_click_45_listener() { const test_r18 = i0.ɵɵrestoreView(_r17).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.ViewTestHistory(test_r18.ID)); });
|
|
515
|
+
i0.ɵɵelement(46, "i", 85);
|
|
459
516
|
i0.ɵɵtext(47, " History ");
|
|
460
517
|
i0.ɵɵelementEnd();
|
|
461
|
-
i0.ɵɵelementStart(48, "button",
|
|
462
|
-
i0.ɵɵlistener("click", function
|
|
463
|
-
i0.ɵɵelement(49, "i",
|
|
518
|
+
i0.ɵɵelementStart(48, "button", 66);
|
|
519
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Template_button_click_48_listener() { const test_r18 = i0.ɵɵrestoreView(_r17).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.EditItem("MJ: Tests", test_r18.ID)); });
|
|
520
|
+
i0.ɵɵelement(49, "i", 68);
|
|
464
521
|
i0.ɵɵtext(50, " Edit ");
|
|
465
522
|
i0.ɵɵelementEnd()()();
|
|
466
523
|
} if (rf & 2) {
|
|
467
|
-
const
|
|
468
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
524
|
+
const test_r18 = ctx.$implicit;
|
|
525
|
+
const ctx_r2 = i0.ɵɵnextContext(5);
|
|
469
526
|
i0.ɵɵadvance(4);
|
|
470
|
-
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(5, 20,
|
|
527
|
+
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(5, 20, test_r18.Name, ctx_r2.SearchTerm), i0.ɵɵsanitizeHtml);
|
|
471
528
|
i0.ɵɵadvance(2);
|
|
472
|
-
i0.ɵɵattribute("data-status",
|
|
529
|
+
i0.ɵɵattribute("data-status", test_r18.Status.toLowerCase());
|
|
473
530
|
i0.ɵɵadvance();
|
|
474
|
-
i0.ɵɵtextInterpolate(
|
|
531
|
+
i0.ɵɵtextInterpolate(test_r18.Status);
|
|
475
532
|
i0.ɵɵadvance(2);
|
|
476
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
533
|
+
i0.ɵɵtextInterpolate1(" ", test_r18.TypeName, " ");
|
|
477
534
|
i0.ɵɵadvance();
|
|
478
|
-
i0.ɵɵconditional(
|
|
535
|
+
i0.ɵɵconditional(test_r18.SuiteName ? 10 : -1);
|
|
479
536
|
i0.ɵɵadvance();
|
|
480
|
-
i0.ɵɵconditional(
|
|
537
|
+
i0.ɵɵconditional(test_r18.Description ? 11 : -1);
|
|
481
538
|
i0.ɵɵadvance(2);
|
|
482
|
-
i0.ɵɵconditional(
|
|
539
|
+
i0.ɵɵconditional(test_r18.TypeName ? 13 : -1);
|
|
483
540
|
i0.ɵɵadvance();
|
|
484
|
-
i0.ɵɵconditional(
|
|
541
|
+
i0.ɵɵconditional(test_r18.EstDuration > 0 ? 14 : -1);
|
|
485
542
|
i0.ɵɵadvance();
|
|
486
|
-
i0.ɵɵconditional(
|
|
543
|
+
i0.ɵɵconditional(test_r18.EstCost > 0 ? 15 : -1);
|
|
487
544
|
i0.ɵɵadvance(3);
|
|
488
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r2.FormatRelativeTime(
|
|
545
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.FormatRelativeTime(test_r18.UpdatedAt));
|
|
489
546
|
i0.ɵɵadvance();
|
|
490
|
-
i0.ɵɵconditional(
|
|
547
|
+
i0.ɵɵconditional(test_r18.Tags.length > 0 ? 19 : -1);
|
|
491
548
|
i0.ɵɵadvance(5);
|
|
492
|
-
i0.ɵɵattribute("data-status",
|
|
549
|
+
i0.ɵɵattribute("data-status", test_r18.LastRunStatus.toLowerCase());
|
|
493
550
|
i0.ɵɵadvance();
|
|
494
|
-
i0.ɵɵtextInterpolate(
|
|
551
|
+
i0.ɵɵtextInterpolate(test_r18.LastRunStatus || "N/A");
|
|
495
552
|
i0.ɵɵadvance(4);
|
|
496
|
-
i0.ɵɵclassMap(ctx_r2.GetScoreClass(
|
|
553
|
+
i0.ɵɵclassMap(ctx_r2.GetScoreClass(test_r18.LastScore));
|
|
497
554
|
i0.ɵɵadvance();
|
|
498
|
-
i0.ɵɵtextInterpolate(
|
|
555
|
+
i0.ɵɵtextInterpolate(test_r18.LastScore > 0 ? (test_r18.LastScore * 100).toFixed(0) + "%" : "N/A");
|
|
499
556
|
i0.ɵɵadvance(5);
|
|
500
|
-
i0.ɵɵtextInterpolate(
|
|
557
|
+
i0.ɵɵtextInterpolate(test_r18.TotalRuns);
|
|
501
558
|
i0.ɵɵadvance(4);
|
|
502
|
-
i0.ɵɵclassMap(ctx_r2.GetScoreClass(
|
|
559
|
+
i0.ɵɵclassMap(ctx_r2.GetScoreClass(test_r18.PassRate / 100));
|
|
503
560
|
i0.ɵɵadvance();
|
|
504
|
-
i0.ɵɵtextInterpolate(
|
|
561
|
+
i0.ɵɵtextInterpolate(test_r18.TotalRuns > 0 ? ctx_r2.FormatPercent(test_r18.PassRate) : "N/A");
|
|
505
562
|
} }
|
|
506
|
-
function
|
|
507
|
-
i0.ɵɵelementStart(0, "div",
|
|
508
|
-
i0.ɵɵelement(2, "i",
|
|
563
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
564
|
+
i0.ɵɵelementStart(0, "div", 45)(1, "h3", 46);
|
|
565
|
+
i0.ɵɵelement(2, "i", 40);
|
|
509
566
|
i0.ɵɵtext(3, " Tests ");
|
|
510
|
-
i0.ɵɵelementStart(4, "span",
|
|
567
|
+
i0.ɵɵelementStart(4, "span", 48);
|
|
511
568
|
i0.ɵɵtext(5);
|
|
512
569
|
i0.ɵɵelementEnd()();
|
|
513
|
-
i0.ɵɵelementStart(6, "div",
|
|
514
|
-
i0.ɵɵrepeaterCreate(7,
|
|
570
|
+
i0.ɵɵelementStart(6, "div", 49);
|
|
571
|
+
i0.ɵɵrepeaterCreate(7, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_For_8_Template, 51, 23, "div", 78, _forTrack0);
|
|
515
572
|
i0.ɵɵelementEnd()();
|
|
516
573
|
} if (rf & 2) {
|
|
517
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
574
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
518
575
|
i0.ɵɵadvance(5);
|
|
519
576
|
i0.ɵɵtextInterpolate(ctx_r2.FilteredTests.length);
|
|
520
577
|
i0.ɵɵadvance(2);
|
|
521
578
|
i0.ɵɵrepeater(ctx_r2.FilteredTests);
|
|
522
579
|
} }
|
|
523
|
-
function
|
|
524
|
-
i0.ɵɵconditionalCreate(0,
|
|
580
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
581
|
+
i0.ɵɵconditionalCreate(0, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Conditional_0_Template, 9, 1, "div", 45);
|
|
525
582
|
} if (rf & 2) {
|
|
526
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
583
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
527
584
|
i0.ɵɵconditional(ctx_r2.FilteredTests.length > 0 ? 0 : -1);
|
|
528
585
|
} }
|
|
529
|
-
function
|
|
530
|
-
i0.ɵɵelementStart(0, "div",
|
|
531
|
-
i0.ɵɵelement(1, "i",
|
|
586
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
587
|
+
i0.ɵɵelementStart(0, "div", 34);
|
|
588
|
+
i0.ɵɵelement(1, "i", 91);
|
|
532
589
|
i0.ɵɵelementStart(2, "p");
|
|
533
590
|
i0.ɵɵtext(3, "No tests or suites found");
|
|
534
591
|
i0.ɵɵelementEnd();
|
|
535
|
-
i0.ɵɵelementStart(4, "span",
|
|
592
|
+
i0.ɵɵelementStart(4, "span", 92);
|
|
536
593
|
i0.ɵɵtext(5, "Try adjusting your search or filters.");
|
|
537
594
|
i0.ɵɵelementEnd()();
|
|
538
595
|
} }
|
|
539
|
-
function
|
|
540
|
-
const
|
|
541
|
-
i0.ɵɵelementStart(0, "div",
|
|
596
|
+
function TestingExplorerComponent_ng_template_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
597
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
598
|
+
i0.ɵɵelementStart(0, "div", 21)(1, "aside", 28)(2, "div", 29)(3, "h3");
|
|
542
599
|
i0.ɵɵtext(4, "Explorer");
|
|
543
600
|
i0.ɵɵelementEnd();
|
|
544
|
-
i0.ɵɵelementStart(5, "button",
|
|
545
|
-
i0.ɵɵlistener("click", function
|
|
546
|
-
i0.ɵɵelement(6, "i",
|
|
601
|
+
i0.ɵɵelementStart(5, "button", 30);
|
|
602
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_1_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.ToggleSidebar()); });
|
|
603
|
+
i0.ɵɵelement(6, "i", 10);
|
|
547
604
|
i0.ɵɵelementEnd()();
|
|
548
|
-
i0.ɵɵconditionalCreate(7,
|
|
549
|
-
i0.ɵɵelementEnd();
|
|
550
|
-
i0.ɵɵelementStart(8, "main", 14)(9, "div", 15)(10, "div", 16)(11, "div", 17);
|
|
551
|
-
i0.ɵɵelement(12, "i", 18);
|
|
552
|
-
i0.ɵɵelementStart(13, "input", 19);
|
|
553
|
-
i0.ɵɵlistener("input", function TestingExplorerComponent_Conditional_1_Template_input_input_13_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnSearchInput($event)); });
|
|
605
|
+
i0.ɵɵconditionalCreate(7, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_7_Template, 27, 7, "div", 31);
|
|
554
606
|
i0.ɵɵelementEnd();
|
|
555
|
-
i0.ɵɵ
|
|
556
|
-
i0.ɵɵ
|
|
557
|
-
i0.ɵɵ
|
|
558
|
-
i0.ɵɵ
|
|
559
|
-
i0.ɵɵelementEnd()();
|
|
560
|
-
i0.ɵɵelementStart(18, "div", 23)(19, "span", 24);
|
|
561
|
-
i0.ɵɵtext(20);
|
|
562
|
-
i0.ɵɵelementEnd();
|
|
563
|
-
i0.ɵɵelementStart(21, "div", 25)(22, "button", 26);
|
|
564
|
-
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_22_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SetViewMode("card")); });
|
|
565
|
-
i0.ɵɵelement(23, "i", 27);
|
|
566
|
-
i0.ɵɵelementEnd();
|
|
567
|
-
i0.ɵɵelementStart(24, "button", 28);
|
|
568
|
-
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_24_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SetViewMode("list")); });
|
|
569
|
-
i0.ɵɵelement(25, "i", 29);
|
|
570
|
-
i0.ɵɵelementEnd()();
|
|
571
|
-
i0.ɵɵelementStart(26, "button", 30);
|
|
572
|
-
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_26_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnNewSuite()); });
|
|
573
|
-
i0.ɵɵelement(27, "i", 31);
|
|
574
|
-
i0.ɵɵtext(28, " New Suite ");
|
|
575
|
-
i0.ɵɵelementEnd();
|
|
576
|
-
i0.ɵɵelementStart(29, "button", 32);
|
|
577
|
-
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_29_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnNewTest()); });
|
|
578
|
-
i0.ɵɵelement(30, "i", 33);
|
|
579
|
-
i0.ɵɵtext(31, " New Test ");
|
|
580
|
-
i0.ɵɵelementEnd()()();
|
|
581
|
-
i0.ɵɵelementStart(32, "div", 34)(33, "div", 35)(34, "button", 36);
|
|
582
|
-
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_34_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SetDisplayMode("all")); });
|
|
583
|
-
i0.ɵɵtext(35, "All");
|
|
584
|
-
i0.ɵɵelementEnd();
|
|
585
|
-
i0.ɵɵelementStart(36, "button", 36);
|
|
586
|
-
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_36_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SetDisplayMode("suites")); });
|
|
587
|
-
i0.ɵɵtext(37, "Suites Only");
|
|
588
|
-
i0.ɵɵelementEnd();
|
|
589
|
-
i0.ɵɵelementStart(38, "button", 36);
|
|
590
|
-
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_38_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SetDisplayMode("tests")); });
|
|
591
|
-
i0.ɵɵtext(39, "Tests Only");
|
|
592
|
-
i0.ɵɵelementEnd()();
|
|
593
|
-
i0.ɵɵelementStart(40, "div", 37)(41, "button", 38);
|
|
594
|
-
i0.ɵɵlistener("click", function TestingExplorerComponent_Conditional_1_Template_button_click_41_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.ToggleSortDirection()); });
|
|
595
|
-
i0.ɵɵelement(42, "i", 39);
|
|
596
|
-
i0.ɵɵtext(43);
|
|
597
|
-
i0.ɵɵelement(44, "i", 12);
|
|
598
|
-
i0.ɵɵelementEnd()()();
|
|
599
|
-
i0.ɵɵelementStart(45, "div", 40);
|
|
600
|
-
i0.ɵɵconditionalCreate(46, TestingExplorerComponent_Conditional_1_Conditional_46_Template, 1, 1);
|
|
601
|
-
i0.ɵɵconditionalCreate(47, TestingExplorerComponent_Conditional_1_Conditional_47_Template, 1, 1);
|
|
602
|
-
i0.ɵɵconditionalCreate(48, TestingExplorerComponent_Conditional_1_Conditional_48_Template, 6, 0, "div", 41);
|
|
607
|
+
i0.ɵɵelementStart(8, "main", 32)(9, "div", 33);
|
|
608
|
+
i0.ɵɵconditionalCreate(10, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_10_Template, 1, 1);
|
|
609
|
+
i0.ɵɵconditionalCreate(11, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_11_Template, 1, 1);
|
|
610
|
+
i0.ɵɵconditionalCreate(12, TestingExplorerComponent_ng_template_2_Conditional_1_Conditional_12_Template, 6, 0, "div", 34);
|
|
603
611
|
i0.ɵɵelementEnd()()();
|
|
604
612
|
} if (rf & 2) {
|
|
605
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
613
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
606
614
|
i0.ɵɵadvance();
|
|
607
615
|
i0.ɵɵclassProp("collapsed", ctx_r2.IsSidebarCollapsed);
|
|
608
616
|
i0.ɵɵadvance(5);
|
|
609
617
|
i0.ɵɵclassProp("fa-chevron-left", !ctx_r2.IsSidebarCollapsed)("fa-chevron-right", ctx_r2.IsSidebarCollapsed);
|
|
610
618
|
i0.ɵɵadvance();
|
|
611
619
|
i0.ɵɵconditional(!ctx_r2.IsSidebarCollapsed ? 7 : -1);
|
|
612
|
-
i0.ɵɵadvance(
|
|
613
|
-
i0.ɵɵ
|
|
614
|
-
i0.ɵɵadvance();
|
|
615
|
-
i0.ɵɵconditional(ctx_r2.SearchTerm ? 14 : -1);
|
|
616
|
-
i0.ɵɵadvance(2);
|
|
617
|
-
i0.ɵɵrepeater(ctx_r2.StatusOptions);
|
|
618
|
-
i0.ɵɵadvance(4);
|
|
619
|
-
i0.ɵɵtextInterpolate1("", ctx_r2.FilteredResultCount, " results");
|
|
620
|
-
i0.ɵɵadvance(2);
|
|
621
|
-
i0.ɵɵclassProp("active", ctx_r2.ViewMode === "card");
|
|
622
|
-
i0.ɵɵadvance(2);
|
|
623
|
-
i0.ɵɵclassProp("active", ctx_r2.ViewMode === "list");
|
|
624
|
-
i0.ɵɵadvance(10);
|
|
625
|
-
i0.ɵɵclassProp("active", ctx_r2.DisplayMode === "all");
|
|
626
|
-
i0.ɵɵadvance(2);
|
|
627
|
-
i0.ɵɵclassProp("active", ctx_r2.DisplayMode === "suites");
|
|
628
|
-
i0.ɵɵadvance(2);
|
|
629
|
-
i0.ɵɵclassProp("active", ctx_r2.DisplayMode === "tests");
|
|
630
|
-
i0.ɵɵadvance(5);
|
|
631
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r2.SortFieldLabel, " ");
|
|
632
|
-
i0.ɵɵadvance();
|
|
633
|
-
i0.ɵɵclassProp("fa-arrow-up", ctx_r2.SortDirection === "asc")("fa-arrow-down", ctx_r2.SortDirection === "desc");
|
|
634
|
-
i0.ɵɵadvance(2);
|
|
635
|
-
i0.ɵɵconditional(ctx_r2.DisplayMode === "all" || ctx_r2.DisplayMode === "suites" ? 46 : -1);
|
|
620
|
+
i0.ɵɵadvance(3);
|
|
621
|
+
i0.ɵɵconditional(ctx_r2.DisplayMode === "all" || ctx_r2.DisplayMode === "suites" ? 10 : -1);
|
|
636
622
|
i0.ɵɵadvance();
|
|
637
|
-
i0.ɵɵconditional(ctx_r2.DisplayMode === "all" || ctx_r2.DisplayMode === "tests" ?
|
|
623
|
+
i0.ɵɵconditional(ctx_r2.DisplayMode === "all" || ctx_r2.DisplayMode === "tests" ? 11 : -1);
|
|
638
624
|
i0.ɵɵadvance();
|
|
639
|
-
i0.ɵɵconditional(ctx_r2.FilteredSuites.length === 0 && ctx_r2.FilteredTests.length === 0 ?
|
|
625
|
+
i0.ɵɵconditional(ctx_r2.FilteredSuites.length === 0 && ctx_r2.FilteredTests.length === 0 ? 12 : -1);
|
|
640
626
|
} }
|
|
641
|
-
function
|
|
642
|
-
const
|
|
643
|
-
i0.ɵɵelementStart(0, "button",
|
|
644
|
-
i0.ɵɵlistener("click", function
|
|
645
|
-
i0.ɵɵelement(1, "i",
|
|
627
|
+
function TestingExplorerComponent_ng_template_2_ng_template_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
628
|
+
const _r23 = i0.ɵɵgetCurrentView();
|
|
629
|
+
i0.ɵɵelementStart(0, "button", 96);
|
|
630
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_ng_template_2_Conditional_1_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r23); const node_r22 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.ToggleSuiteExpand(node_r22, $event)); });
|
|
631
|
+
i0.ɵɵelement(1, "i", 10);
|
|
646
632
|
i0.ɵɵelementEnd();
|
|
647
633
|
} if (rf & 2) {
|
|
648
|
-
const
|
|
634
|
+
const node_r22 = i0.ɵɵnextContext().node;
|
|
649
635
|
i0.ɵɵadvance();
|
|
650
|
-
i0.ɵɵclassProp("fa-chevron-right", !
|
|
636
|
+
i0.ɵɵclassProp("fa-chevron-right", !node_r22.Expanded)("fa-chevron-down", node_r22.Expanded);
|
|
651
637
|
} }
|
|
652
|
-
function
|
|
638
|
+
function TestingExplorerComponent_ng_template_2_ng_template_2_Conditional_7_For_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
653
639
|
i0.ɵɵelementContainer(0);
|
|
654
640
|
} }
|
|
655
|
-
function
|
|
656
|
-
i0.ɵɵtemplate(0,
|
|
641
|
+
function TestingExplorerComponent_ng_template_2_ng_template_2_Conditional_7_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
642
|
+
i0.ɵɵtemplate(0, TestingExplorerComponent_ng_template_2_ng_template_2_Conditional_7_For_1_ng_container_0_Template, 1, 0, "ng-container", 43);
|
|
657
643
|
} if (rf & 2) {
|
|
658
|
-
const
|
|
659
|
-
const
|
|
644
|
+
const child_r24 = ctx.$implicit;
|
|
645
|
+
const depth_r25 = i0.ɵɵnextContext(2).depth;
|
|
660
646
|
i0.ɵɵnextContext();
|
|
661
|
-
const
|
|
662
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
647
|
+
const suiteTreeTpl_r10 = i0.ɵɵreference(3);
|
|
648
|
+
i0.ɵɵproperty("ngTemplateOutlet", suiteTreeTpl_r10)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, child_r24, depth_r25 + 1));
|
|
663
649
|
} }
|
|
664
|
-
function
|
|
665
|
-
i0.ɵɵrepeaterCreate(0,
|
|
650
|
+
function TestingExplorerComponent_ng_template_2_ng_template_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
651
|
+
i0.ɵɵrepeaterCreate(0, TestingExplorerComponent_ng_template_2_ng_template_2_Conditional_7_For_1_Template, 1, 5, "ng-container", null, _forTrack0);
|
|
666
652
|
} if (rf & 2) {
|
|
667
|
-
const
|
|
668
|
-
i0.ɵɵrepeater(
|
|
653
|
+
const node_r22 = i0.ɵɵnextContext().node;
|
|
654
|
+
i0.ɵɵrepeater(node_r22.Children);
|
|
669
655
|
} }
|
|
670
|
-
function
|
|
671
|
-
const
|
|
672
|
-
i0.ɵɵelementStart(0, "div",
|
|
673
|
-
i0.ɵɵlistener("click", function
|
|
674
|
-
i0.ɵɵconditionalCreate(1,
|
|
675
|
-
i0.ɵɵelement(2, "i",
|
|
676
|
-
i0.ɵɵelementStart(3, "span",
|
|
656
|
+
function TestingExplorerComponent_ng_template_2_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
657
|
+
const _r21 = i0.ɵɵgetCurrentView();
|
|
658
|
+
i0.ɵɵelementStart(0, "div", 93);
|
|
659
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_ng_template_2_Template_div_click_0_listener() { const node_r22 = i0.ɵɵrestoreView(_r21).node; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.SelectSidebarItem({ Type: "suite", ID: node_r22.ID })); });
|
|
660
|
+
i0.ɵɵconditionalCreate(1, TestingExplorerComponent_ng_template_2_ng_template_2_Conditional_1_Template, 2, 4, "button", 94);
|
|
661
|
+
i0.ɵɵelement(2, "i", 47);
|
|
662
|
+
i0.ɵɵelementStart(3, "span", 95);
|
|
677
663
|
i0.ɵɵtext(4);
|
|
678
664
|
i0.ɵɵelementEnd();
|
|
679
|
-
i0.ɵɵelementStart(5, "span",
|
|
665
|
+
i0.ɵɵelementStart(5, "span", 39);
|
|
680
666
|
i0.ɵɵtext(6);
|
|
681
667
|
i0.ɵɵelementEnd()();
|
|
682
|
-
i0.ɵɵconditionalCreate(7,
|
|
668
|
+
i0.ɵɵconditionalCreate(7, TestingExplorerComponent_ng_template_2_ng_template_2_Conditional_7_Template, 2, 0);
|
|
683
669
|
} if (rf & 2) {
|
|
684
|
-
const
|
|
685
|
-
const
|
|
686
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
687
|
-
i0.ɵɵstyleProp("padding-left", 16 +
|
|
688
|
-
i0.ɵɵclassProp("active", ctx_r2.SelectedSidebar.Type === "suite" && ctx_r2.IsSidebarSelected(
|
|
670
|
+
const node_r22 = ctx.node;
|
|
671
|
+
const depth_r25 = ctx.depth;
|
|
672
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
673
|
+
i0.ɵɵstyleProp("padding-left", 16 + depth_r25 * 14, "px");
|
|
674
|
+
i0.ɵɵclassProp("active", ctx_r2.SelectedSidebar.Type === "suite" && ctx_r2.IsSidebarSelected(node_r22.ID));
|
|
689
675
|
i0.ɵɵadvance();
|
|
690
|
-
i0.ɵɵconditional(
|
|
676
|
+
i0.ɵɵconditional(node_r22.Children.length > 0 ? 1 : -1);
|
|
691
677
|
i0.ɵɵadvance(3);
|
|
692
|
-
i0.ɵɵtextInterpolate(
|
|
678
|
+
i0.ɵɵtextInterpolate(node_r22.Name);
|
|
693
679
|
i0.ɵɵadvance(2);
|
|
694
|
-
i0.ɵɵtextInterpolate(
|
|
680
|
+
i0.ɵɵtextInterpolate(node_r22.TestCount);
|
|
695
681
|
i0.ɵɵadvance();
|
|
696
|
-
i0.ɵɵconditional(
|
|
682
|
+
i0.ɵɵconditional(node_r22.Expanded && node_r22.Children.length > 0 ? 7 : -1);
|
|
697
683
|
} }
|
|
698
|
-
function
|
|
699
|
-
const
|
|
700
|
-
i0.ɵɵelementStart(0, "div",
|
|
701
|
-
i0.ɵɵlistener("click", function
|
|
684
|
+
function TestingExplorerComponent_ng_template_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
685
|
+
const _r26 = i0.ɵɵgetCurrentView();
|
|
686
|
+
i0.ɵɵelementStart(0, "div", 97);
|
|
687
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_4_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.CloseSlideout()); });
|
|
702
688
|
i0.ɵɵelementEnd();
|
|
703
689
|
} }
|
|
704
|
-
function
|
|
705
|
-
i0.ɵɵelementStart(0, "div",
|
|
706
|
-
i0.ɵɵelement(1, "i",
|
|
690
|
+
function TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
691
|
+
i0.ɵɵelementStart(0, "div", 106);
|
|
692
|
+
i0.ɵɵelement(1, "i", 125);
|
|
707
693
|
i0.ɵɵelementStart(2, "span");
|
|
708
694
|
i0.ɵɵtext(3);
|
|
709
695
|
i0.ɵɵelementEnd()();
|
|
710
696
|
} if (rf & 2) {
|
|
711
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
697
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
712
698
|
i0.ɵɵadvance(3);
|
|
713
699
|
i0.ɵɵtextInterpolate(ctx_r2.FormErrorMessage);
|
|
714
700
|
} }
|
|
715
|
-
function
|
|
716
|
-
i0.ɵɵelementStart(0, "option",
|
|
701
|
+
function TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_31_For_9_Template(rf, ctx) { if (rf & 1) {
|
|
702
|
+
i0.ɵɵelementStart(0, "option", 117);
|
|
717
703
|
i0.ɵɵtext(1);
|
|
718
704
|
i0.ɵɵelementEnd();
|
|
719
705
|
} if (rf & 2) {
|
|
720
|
-
const
|
|
721
|
-
i0.ɵɵproperty("value",
|
|
706
|
+
const tt_r29 = ctx.$implicit;
|
|
707
|
+
i0.ɵɵproperty("value", tt_r29.ID);
|
|
722
708
|
i0.ɵɵadvance();
|
|
723
|
-
i0.ɵɵtextInterpolate(
|
|
709
|
+
i0.ɵɵtextInterpolate(tt_r29.Name);
|
|
724
710
|
} }
|
|
725
|
-
function
|
|
726
|
-
const
|
|
727
|
-
i0.ɵɵelementStart(0, "div",
|
|
711
|
+
function TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_31_Template(rf, ctx) { if (rf & 1) {
|
|
712
|
+
const _r28 = i0.ɵɵgetCurrentView();
|
|
713
|
+
i0.ɵɵelementStart(0, "div", 110)(1, "label", 111);
|
|
728
714
|
i0.ɵɵtext(2, "Test Type ");
|
|
729
|
-
i0.ɵɵelementStart(3, "span",
|
|
715
|
+
i0.ɵɵelementStart(3, "span", 112);
|
|
730
716
|
i0.ɵɵtext(4, "*");
|
|
731
717
|
i0.ɵɵelementEnd()();
|
|
732
|
-
i0.ɵɵelementStart(5, "select",
|
|
733
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
734
|
-
i0.ɵɵelementStart(6, "option",
|
|
718
|
+
i0.ɵɵelementStart(5, "select", 116);
|
|
719
|
+
i0.ɵɵtwoWayListener("ngModelChange", function TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_31_Template_select_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r2.FormTypeID, $event) || (ctx_r2.FormTypeID = $event); return i0.ɵɵresetView($event); });
|
|
720
|
+
i0.ɵɵelementStart(6, "option", 126);
|
|
735
721
|
i0.ɵɵtext(7, "Select type...");
|
|
736
722
|
i0.ɵɵelementEnd();
|
|
737
|
-
i0.ɵɵrepeaterCreate(8,
|
|
723
|
+
i0.ɵɵrepeaterCreate(8, TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_31_For_9_Template, 2, 2, "option", 117, _forTrack0);
|
|
738
724
|
i0.ɵɵelementEnd()();
|
|
739
725
|
} if (rf & 2) {
|
|
740
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
726
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
741
727
|
i0.ɵɵadvance(5);
|
|
742
728
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.FormTypeID);
|
|
743
729
|
i0.ɵɵadvance(3);
|
|
744
730
|
i0.ɵɵrepeater(ctx_r2.AllTestTypes);
|
|
745
731
|
} }
|
|
746
|
-
function
|
|
747
|
-
i0.ɵɵelementStart(0, "option",
|
|
732
|
+
function TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_32_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
733
|
+
i0.ɵɵelementStart(0, "option", 117);
|
|
748
734
|
i0.ɵɵtext(1);
|
|
749
735
|
i0.ɵɵelementEnd();
|
|
750
736
|
} if (rf & 2) {
|
|
751
|
-
const
|
|
752
|
-
i0.ɵɵproperty("value",
|
|
737
|
+
const s_r31 = ctx.$implicit;
|
|
738
|
+
i0.ɵɵproperty("value", s_r31.ID);
|
|
753
739
|
i0.ɵɵadvance();
|
|
754
|
-
i0.ɵɵtextInterpolate(
|
|
740
|
+
i0.ɵɵtextInterpolate(s_r31.Name);
|
|
755
741
|
} }
|
|
756
|
-
function
|
|
757
|
-
const
|
|
758
|
-
i0.ɵɵelementStart(0, "div",
|
|
742
|
+
function TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_32_Template(rf, ctx) { if (rf & 1) {
|
|
743
|
+
const _r30 = i0.ɵɵgetCurrentView();
|
|
744
|
+
i0.ɵɵelementStart(0, "div", 110)(1, "label", 111);
|
|
759
745
|
i0.ɵɵtext(2, "Parent Suite");
|
|
760
746
|
i0.ɵɵelementEnd();
|
|
761
|
-
i0.ɵɵelementStart(3, "select",
|
|
762
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
763
|
-
i0.ɵɵelementStart(4, "option",
|
|
747
|
+
i0.ɵɵelementStart(3, "select", 116);
|
|
748
|
+
i0.ɵɵtwoWayListener("ngModelChange", function TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_32_Template_select_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r2 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r2.FormParentSuiteID, $event) || (ctx_r2.FormParentSuiteID = $event); return i0.ɵɵresetView($event); });
|
|
749
|
+
i0.ɵɵelementStart(4, "option", 127);
|
|
764
750
|
i0.ɵɵtext(5, "None (top-level)");
|
|
765
751
|
i0.ɵɵelementEnd();
|
|
766
|
-
i0.ɵɵrepeaterCreate(6,
|
|
752
|
+
i0.ɵɵrepeaterCreate(6, TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_32_For_7_Template, 2, 2, "option", 117, _forTrack0);
|
|
767
753
|
i0.ɵɵelementEnd()();
|
|
768
754
|
} if (rf & 2) {
|
|
769
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
755
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
770
756
|
i0.ɵɵadvance(3);
|
|
771
757
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.FormParentSuiteID);
|
|
772
758
|
i0.ɵɵadvance(3);
|
|
773
759
|
i0.ɵɵrepeater(ctx_r2.AllSuites);
|
|
774
760
|
} }
|
|
775
|
-
function
|
|
776
|
-
i0.ɵɵelementStart(0, "option",
|
|
761
|
+
function TestingExplorerComponent_ng_template_2_Conditional_7_For_38_Template(rf, ctx) { if (rf & 1) {
|
|
762
|
+
i0.ɵɵelementStart(0, "option", 117);
|
|
777
763
|
i0.ɵɵtext(1);
|
|
778
764
|
i0.ɵɵelementEnd();
|
|
779
765
|
} if (rf & 2) {
|
|
780
|
-
const
|
|
781
|
-
i0.ɵɵproperty("value",
|
|
766
|
+
const status_r32 = ctx.$implicit;
|
|
767
|
+
i0.ɵɵproperty("value", status_r32);
|
|
782
768
|
i0.ɵɵadvance();
|
|
783
|
-
i0.ɵɵtextInterpolate(
|
|
769
|
+
i0.ɵɵtextInterpolate(status_r32);
|
|
784
770
|
} }
|
|
785
|
-
function
|
|
786
|
-
const
|
|
787
|
-
i0.ɵɵelementStart(0, "div",
|
|
771
|
+
function TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_39_Template(rf, ctx) { if (rf & 1) {
|
|
772
|
+
const _r33 = i0.ɵɵgetCurrentView();
|
|
773
|
+
i0.ɵɵelementStart(0, "div", 108)(1, "div", 109);
|
|
788
774
|
i0.ɵɵtext(2, "Estimates");
|
|
789
775
|
i0.ɵɵelementEnd();
|
|
790
|
-
i0.ɵɵelementStart(3, "div",
|
|
776
|
+
i0.ɵɵelementStart(3, "div", 115)(4, "div", 110)(5, "label", 111);
|
|
791
777
|
i0.ɵɵtext(6, "Duration (seconds)");
|
|
792
778
|
i0.ɵɵelementEnd();
|
|
793
|
-
i0.ɵɵelementStart(7, "input",
|
|
794
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
779
|
+
i0.ɵɵelementStart(7, "input", 128);
|
|
780
|
+
i0.ɵɵtwoWayListener("ngModelChange", function TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_39_Template_input_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r33); const ctx_r2 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r2.FormEstDuration, $event) || (ctx_r2.FormEstDuration = $event); return i0.ɵɵresetView($event); });
|
|
795
781
|
i0.ɵɵelementEnd()();
|
|
796
|
-
i0.ɵɵelementStart(8, "div",
|
|
782
|
+
i0.ɵɵelementStart(8, "div", 110)(9, "label", 111);
|
|
797
783
|
i0.ɵɵtext(10, "Cost (USD)");
|
|
798
784
|
i0.ɵɵelementEnd();
|
|
799
|
-
i0.ɵɵelementStart(11, "input",
|
|
800
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
785
|
+
i0.ɵɵelementStart(11, "input", 129);
|
|
786
|
+
i0.ɵɵtwoWayListener("ngModelChange", function TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_39_Template_input_ngModelChange_11_listener($event) { i0.ɵɵrestoreView(_r33); const ctx_r2 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r2.FormEstCost, $event) || (ctx_r2.FormEstCost = $event); return i0.ɵɵresetView($event); });
|
|
801
787
|
i0.ɵɵelementEnd()()()();
|
|
802
788
|
} if (rf & 2) {
|
|
803
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
789
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
804
790
|
i0.ɵɵadvance(7);
|
|
805
791
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.FormEstDuration);
|
|
806
792
|
i0.ɵɵadvance(4);
|
|
807
793
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r2.FormEstCost);
|
|
808
794
|
} }
|
|
809
|
-
function
|
|
810
|
-
i0.ɵɵelement(0, "i",
|
|
795
|
+
function TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_51_Template(rf, ctx) { if (rf & 1) {
|
|
796
|
+
i0.ɵɵelement(0, "i", 123);
|
|
811
797
|
} }
|
|
812
|
-
function
|
|
813
|
-
i0.ɵɵelement(0, "i",
|
|
798
|
+
function TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_52_Template(rf, ctx) { if (rf & 1) {
|
|
799
|
+
i0.ɵɵelement(0, "i", 124);
|
|
814
800
|
} }
|
|
815
|
-
function
|
|
816
|
-
const
|
|
817
|
-
i0.ɵɵelementStart(0, "div",
|
|
818
|
-
i0.ɵɵelement(3, "i",
|
|
819
|
-
i0.ɵɵelementStart(4, "span",
|
|
801
|
+
function TestingExplorerComponent_ng_template_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
802
|
+
const _r27 = i0.ɵɵgetCurrentView();
|
|
803
|
+
i0.ɵɵelementStart(0, "div", 25)(1, "div", 98)(2, "div", 99);
|
|
804
|
+
i0.ɵɵelement(3, "i", 100);
|
|
805
|
+
i0.ɵɵelementStart(4, "span", 101);
|
|
820
806
|
i0.ɵɵtext(5);
|
|
821
807
|
i0.ɵɵelementEnd()();
|
|
822
|
-
i0.ɵɵelementStart(6, "button",
|
|
823
|
-
i0.ɵɵlistener("click", function
|
|
824
|
-
i0.ɵɵelement(7, "i",
|
|
808
|
+
i0.ɵɵelementStart(6, "button", 102);
|
|
809
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_7_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.CloseSlideout()); });
|
|
810
|
+
i0.ɵɵelement(7, "i", 103);
|
|
825
811
|
i0.ɵɵelementEnd()();
|
|
826
|
-
i0.ɵɵelementStart(8, "div",
|
|
827
|
-
i0.ɵɵlistener("click", function
|
|
828
|
-
i0.ɵɵelement(10, "i",
|
|
812
|
+
i0.ɵɵelementStart(8, "div", 104)(9, "button", 105);
|
|
813
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_7_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.SetSlideoutCreateType("test")); });
|
|
814
|
+
i0.ɵɵelement(10, "i", 40);
|
|
829
815
|
i0.ɵɵtext(11, " Test ");
|
|
830
816
|
i0.ɵɵelementEnd();
|
|
831
|
-
i0.ɵɵelementStart(12, "button",
|
|
832
|
-
i0.ɵɵlistener("click", function
|
|
833
|
-
i0.ɵɵelement(13, "i",
|
|
817
|
+
i0.ɵɵelementStart(12, "button", 105);
|
|
818
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_7_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.SetSlideoutCreateType("suite")); });
|
|
819
|
+
i0.ɵɵelement(13, "i", 47);
|
|
834
820
|
i0.ɵɵtext(14, " Suite ");
|
|
835
821
|
i0.ɵɵelementEnd()();
|
|
836
|
-
i0.ɵɵconditionalCreate(15,
|
|
837
|
-
i0.ɵɵelementStart(16, "div",
|
|
822
|
+
i0.ɵɵconditionalCreate(15, TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_15_Template, 4, 1, "div", 106);
|
|
823
|
+
i0.ɵɵelementStart(16, "div", 107)(17, "div", 108)(18, "div", 109);
|
|
838
824
|
i0.ɵɵtext(19, "General");
|
|
839
825
|
i0.ɵɵelementEnd();
|
|
840
|
-
i0.ɵɵelementStart(20, "div",
|
|
826
|
+
i0.ɵɵelementStart(20, "div", 110)(21, "label", 111);
|
|
841
827
|
i0.ɵɵtext(22, "Name ");
|
|
842
|
-
i0.ɵɵelementStart(23, "span",
|
|
828
|
+
i0.ɵɵelementStart(23, "span", 112);
|
|
843
829
|
i0.ɵɵtext(24, "*");
|
|
844
830
|
i0.ɵɵelementEnd()();
|
|
845
|
-
i0.ɵɵelementStart(25, "input",
|
|
846
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
831
|
+
i0.ɵɵelementStart(25, "input", 113);
|
|
832
|
+
i0.ɵɵtwoWayListener("ngModelChange", function TestingExplorerComponent_ng_template_2_Conditional_7_Template_input_ngModelChange_25_listener($event) { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.FormName, $event) || (ctx_r2.FormName = $event); return i0.ɵɵresetView($event); });
|
|
847
833
|
i0.ɵɵelementEnd()();
|
|
848
|
-
i0.ɵɵelementStart(26, "div",
|
|
834
|
+
i0.ɵɵelementStart(26, "div", 110)(27, "label", 111);
|
|
849
835
|
i0.ɵɵtext(28, "Description");
|
|
850
836
|
i0.ɵɵelementEnd();
|
|
851
|
-
i0.ɵɵelementStart(29, "textarea",
|
|
852
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
837
|
+
i0.ɵɵelementStart(29, "textarea", 114);
|
|
838
|
+
i0.ɵɵtwoWayListener("ngModelChange", function TestingExplorerComponent_ng_template_2_Conditional_7_Template_textarea_ngModelChange_29_listener($event) { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.FormDescription, $event) || (ctx_r2.FormDescription = $event); return i0.ɵɵresetView($event); });
|
|
853
839
|
i0.ɵɵelementEnd()();
|
|
854
|
-
i0.ɵɵelementStart(30, "div",
|
|
855
|
-
i0.ɵɵconditionalCreate(31,
|
|
856
|
-
i0.ɵɵconditionalCreate(32,
|
|
857
|
-
i0.ɵɵelementStart(33, "div",
|
|
840
|
+
i0.ɵɵelementStart(30, "div", 115);
|
|
841
|
+
i0.ɵɵconditionalCreate(31, TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_31_Template, 10, 1, "div", 110);
|
|
842
|
+
i0.ɵɵconditionalCreate(32, TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_32_Template, 8, 1, "div", 110);
|
|
843
|
+
i0.ɵɵelementStart(33, "div", 110)(34, "label", 111);
|
|
858
844
|
i0.ɵɵtext(35, "Status");
|
|
859
845
|
i0.ɵɵelementEnd();
|
|
860
|
-
i0.ɵɵelementStart(36, "select",
|
|
861
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
862
|
-
i0.ɵɵrepeaterCreate(37,
|
|
846
|
+
i0.ɵɵelementStart(36, "select", 116);
|
|
847
|
+
i0.ɵɵtwoWayListener("ngModelChange", function TestingExplorerComponent_ng_template_2_Conditional_7_Template_select_ngModelChange_36_listener($event) { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.FormStatus, $event) || (ctx_r2.FormStatus = $event); return i0.ɵɵresetView($event); });
|
|
848
|
+
i0.ɵɵrepeaterCreate(37, TestingExplorerComponent_ng_template_2_Conditional_7_For_38_Template, 2, 2, "option", 117, i0.ɵɵrepeaterTrackByIdentity);
|
|
863
849
|
i0.ɵɵelementEnd()()()();
|
|
864
|
-
i0.ɵɵconditionalCreate(39,
|
|
865
|
-
i0.ɵɵelementStart(40, "div",
|
|
850
|
+
i0.ɵɵconditionalCreate(39, TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_39_Template, 12, 2, "div", 108);
|
|
851
|
+
i0.ɵɵelementStart(40, "div", 108)(41, "div", 109);
|
|
866
852
|
i0.ɵɵtext(42, "Tags");
|
|
867
853
|
i0.ɵɵelementEnd();
|
|
868
|
-
i0.ɵɵelementStart(43, "div",
|
|
869
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
854
|
+
i0.ɵɵelementStart(43, "div", 110)(44, "input", 118);
|
|
855
|
+
i0.ɵɵtwoWayListener("ngModelChange", function TestingExplorerComponent_ng_template_2_Conditional_7_Template_input_ngModelChange_44_listener($event) { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r2.FormTags, $event) || (ctx_r2.FormTags = $event); return i0.ɵɵresetView($event); });
|
|
870
856
|
i0.ɵɵelementEnd();
|
|
871
|
-
i0.ɵɵelementStart(45, "span",
|
|
857
|
+
i0.ɵɵelementStart(45, "span", 119);
|
|
872
858
|
i0.ɵɵtext(46, "Separate multiple tags with commas");
|
|
873
859
|
i0.ɵɵelementEnd()()()();
|
|
874
|
-
i0.ɵɵelementStart(47, "div",
|
|
875
|
-
i0.ɵɵlistener("click", function
|
|
860
|
+
i0.ɵɵelementStart(47, "div", 120)(48, "button", 121);
|
|
861
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_7_Template_button_click_48_listener() { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.CloseSlideout()); });
|
|
876
862
|
i0.ɵɵtext(49, "Cancel");
|
|
877
863
|
i0.ɵɵelementEnd();
|
|
878
|
-
i0.ɵɵelementStart(50, "button",
|
|
879
|
-
i0.ɵɵlistener("click", function
|
|
880
|
-
i0.ɵɵconditionalCreate(51,
|
|
864
|
+
i0.ɵɵelementStart(50, "button", 122);
|
|
865
|
+
i0.ɵɵlistener("click", function TestingExplorerComponent_ng_template_2_Conditional_7_Template_button_click_50_listener() { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.SaveForm()); });
|
|
866
|
+
i0.ɵɵconditionalCreate(51, TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_51_Template, 1, 0, "i", 123)(52, TestingExplorerComponent_ng_template_2_Conditional_7_Conditional_52_Template, 1, 0, "i", 124);
|
|
881
867
|
i0.ɵɵtext(53);
|
|
882
868
|
i0.ɵɵelementEnd()()();
|
|
883
869
|
} if (rf & 2) {
|
|
884
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
870
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
885
871
|
i0.ɵɵadvance(5);
|
|
886
872
|
i0.ɵɵtextInterpolate1(" Create ", ctx_r2.SlideoutCreateType === "test" ? "Test" : "Test Suite", " ");
|
|
887
873
|
i0.ɵɵadvance(4);
|
|
@@ -915,24 +901,64 @@ function TestingExplorerComponent_Conditional_7_Template(rf, ctx) { if (rf & 1)
|
|
|
915
901
|
i0.ɵɵadvance(2);
|
|
916
902
|
i0.ɵɵtextInterpolate1(" Create ", ctx_r2.SlideoutCreateType === "test" ? "Test" : "Suite", " ");
|
|
917
903
|
} }
|
|
918
|
-
function
|
|
919
|
-
const
|
|
920
|
-
i0.ɵɵelementStart(0, "mj-slide-panel",
|
|
921
|
-
i0.ɵɵlistener("Closed", function
|
|
922
|
-
i0.ɵɵelementStart(1, "app-test-run-dialog",
|
|
923
|
-
i0.ɵɵlistener("PanelClose", function
|
|
904
|
+
function TestingExplorerComponent_ng_template_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
905
|
+
const _r34 = i0.ɵɵgetCurrentView();
|
|
906
|
+
i0.ɵɵelementStart(0, "mj-slide-panel", 130);
|
|
907
|
+
i0.ɵɵlistener("Closed", function TestingExplorerComponent_ng_template_2_Conditional_8_Template_mj_slide_panel_Closed_0_listener() { i0.ɵɵrestoreView(_r34); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.OnPanelClosed()); });
|
|
908
|
+
i0.ɵɵelementStart(1, "app-test-run-dialog", 131);
|
|
909
|
+
i0.ɵɵlistener("PanelClose", function TestingExplorerComponent_ng_template_2_Conditional_8_Template_app_test_run_dialog_PanelClose_1_listener() { i0.ɵɵrestoreView(_r34); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.OnPanelClosed()); });
|
|
924
910
|
i0.ɵɵelementEnd()();
|
|
925
911
|
} if (rf & 2) {
|
|
926
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
912
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
927
913
|
i0.ɵɵproperty("Resizable", true);
|
|
928
914
|
i0.ɵɵadvance();
|
|
929
915
|
i0.ɵɵproperty("PanelMode", true)("selectedTestId", (ctx_r2.testingDialogService.PanelOptions == null ? null : ctx_r2.testingDialogService.PanelOptions.testId) ?? null)("selectedSuiteId", (ctx_r2.testingDialogService.PanelOptions == null ? null : ctx_r2.testingDialogService.PanelOptions.suiteId) ?? null)("runMode", (ctx_r2.testingDialogService.PanelOptions == null ? null : ctx_r2.testingDialogService.PanelOptions.mode) ?? "test");
|
|
930
916
|
} }
|
|
917
|
+
function TestingExplorerComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
918
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
919
|
+
i0.ɵɵconditionalCreate(0, TestingExplorerComponent_ng_template_2_Conditional_0_Template, 2, 0, "div", 20)(1, TestingExplorerComponent_ng_template_2_Conditional_1_Template, 13, 10, "div", 21);
|
|
920
|
+
i0.ɵɵtemplate(2, TestingExplorerComponent_ng_template_2_ng_template_2_Template, 8, 8, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
|
|
921
|
+
i0.ɵɵconditionalCreate(4, TestingExplorerComponent_ng_template_2_Conditional_4_Template, 1, 0, "div", 22);
|
|
922
|
+
i0.ɵɵelementStart(5, "div", 23)(6, "div", 24);
|
|
923
|
+
i0.ɵɵlistener("mousedown", function TestingExplorerComponent_ng_template_2_Template_div_mousedown_6_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnResizeStart($event)); });
|
|
924
|
+
i0.ɵɵelementEnd();
|
|
925
|
+
i0.ɵɵconditionalCreate(7, TestingExplorerComponent_ng_template_2_Conditional_7_Template, 54, 18, "div", 25);
|
|
926
|
+
i0.ɵɵelementEnd();
|
|
927
|
+
i0.ɵɵconditionalCreate(8, TestingExplorerComponent_ng_template_2_Conditional_8_Template, 2, 5, "mj-slide-panel", 26);
|
|
928
|
+
} if (rf & 2) {
|
|
929
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
930
|
+
i0.ɵɵconditional(ctx_r2.IsLoading ? 0 : 1);
|
|
931
|
+
i0.ɵɵadvance(4);
|
|
932
|
+
i0.ɵɵconditional(ctx_r2.SlideoutOpen ? 4 : -1);
|
|
933
|
+
i0.ɵɵadvance();
|
|
934
|
+
i0.ɵɵstyleProp("width", ctx_r2.SlideoutWidth, "px");
|
|
935
|
+
i0.ɵɵclassProp("open", ctx_r2.SlideoutOpen);
|
|
936
|
+
i0.ɵɵadvance(2);
|
|
937
|
+
i0.ɵɵconditional(ctx_r2.SlideoutOpen ? 7 : -1);
|
|
938
|
+
i0.ɵɵadvance();
|
|
939
|
+
i0.ɵɵconditional(ctx_r2.testingDialogService.IsPanelOpen ? 8 : -1);
|
|
940
|
+
} }
|
|
931
941
|
export class TestingExplorerComponent extends BaseAngularComponent {
|
|
932
942
|
cdr;
|
|
933
943
|
viewContainerRef;
|
|
934
944
|
testingDialogService;
|
|
935
945
|
instrumentationService;
|
|
946
|
+
HeaderViewOptions = [
|
|
947
|
+
{ key: 'card', icon: 'fa-solid fa-grip', title: 'Card view' },
|
|
948
|
+
{ key: 'list', icon: 'fa-solid fa-list', title: 'List view' }
|
|
949
|
+
];
|
|
950
|
+
DisplayModeOptions = [
|
|
951
|
+
{ key: 'all', label: 'All' },
|
|
952
|
+
{ key: 'suites', label: 'Suites' },
|
|
953
|
+
{ key: 'tests', label: 'Tests' }
|
|
954
|
+
];
|
|
955
|
+
/** mj-page-search emits a string; bridge it to the inner's Event-based OnSearchInput. */
|
|
956
|
+
OnSearchInputValue(value) {
|
|
957
|
+
const fakeEvent = { target: { value } };
|
|
958
|
+
this.OnSearchInput(fakeEvent);
|
|
959
|
+
}
|
|
960
|
+
/** When true, the inner bespoke .toolbar is hidden — the parent shell owns the chrome. */
|
|
961
|
+
HideToolbar = false;
|
|
936
962
|
destroy$ = new Subject();
|
|
937
963
|
// Raw cached data
|
|
938
964
|
allTests = [];
|
|
@@ -1666,33 +1692,72 @@ export class TestingExplorerComponent extends BaseAngularComponent {
|
|
|
1666
1692
|
throw new Error('Failed to save test suite. Please check your input and try again.');
|
|
1667
1693
|
}
|
|
1668
1694
|
static ɵfac = function TestingExplorerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TestingExplorerComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i1.TestingDialogService), i0.ɵɵdirectiveInject(i2.TestingInstrumentationService)); };
|
|
1669
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TestingExplorerComponent, selectors: [["app-testing-explorer"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
1670
|
-
|
|
1671
|
-
i0.ɵɵ
|
|
1672
|
-
i0.ɵɵtemplate(2, TestingExplorerComponent_ng_template_2_Template, 8, 8, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
1673
|
-
i0.ɵɵconditionalCreate(4, TestingExplorerComponent_Conditional_4_Template, 1, 0, "div", 3);
|
|
1674
|
-
i0.ɵɵelementStart(5, "div", 4)(6, "div", 5);
|
|
1675
|
-
i0.ɵɵlistener("mousedown", function TestingExplorerComponent_Template_div_mousedown_6_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.OnResizeStart($event)); });
|
|
1676
|
-
i0.ɵɵelementEnd();
|
|
1677
|
-
i0.ɵɵconditionalCreate(7, TestingExplorerComponent_Conditional_7_Template, 54, 18, "div", 6);
|
|
1678
|
-
i0.ɵɵelementEnd();
|
|
1679
|
-
i0.ɵɵconditionalCreate(8, TestingExplorerComponent_Conditional_8_Template, 2, 5, "mj-slide-panel", 7);
|
|
1695
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TestingExplorerComponent, selectors: [["app-testing-explorer"]], inputs: { HideToolbar: "HideToolbar" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 4, vars: 1, consts: [["content", ""], ["suiteTreeTpl", ""], [4, "ngTemplateOutlet"], ["Title", "Test Explorer", "Icon", "fa-solid fa-compass", "Subtitle", "Browse tests and test suites"], ["meta", ""], ["Label", "results", 3, "Count"], ["actions", ""], [3, "KeyChange", "Options", "ActiveKey"], ["mjButton", "", "variant", "secondary", "size", "sm", 3, "click", "title"], [1, "fa-solid", "fa-arrow-down-short-wide"], [1, "fa-solid"], ["mjButton", "", "variant", "secondary", "size", "sm", 3, "click"], [1, "fa-solid", "fa-folder-plus"], ["mjButton", "", "variant", "primary", "size", "sm", 3, "click"], [1, "fa-solid", "fa-plus"], ["toolbar", ""], ["Placeholder", "Search tests and suites...", 3, "ValueChange", "Value"], [3, "Label", "Active"], [3, "Flex"], [3, "Clicked", "Label", "Active"], [1, "explorer-loading"], [1, "explorer-layout"], [1, "slideout-backdrop"], [1, "slideout-panel"], [1, "slideout-resize-handle", 3, "mousedown"], [1, "slideout-container"], ["Mode", "slide", "Title", "Run Test", 3, "Resizable"], ["text", "Loading test explorer..."], [1, "sidebar"], [1, "sidebar-header"], [1, "sidebar-toggle", 3, "click"], [1, "sidebar-content"], [1, "main-content"], [1, "content-area"], [1, "empty-state"], [1, "sidebar-section"], [1, "sidebar-section-title"], [1, "sidebar-item", 3, "click"], [1, "fa-solid", "fa-layer-group"], [1, "sidebar-count"], [1, "fa-solid", "fa-vial"], [1, "sidebar-empty"], [1, "sidebar-item", 3, "active"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "fa-solid", "fa-tag"], [1, "content-section"], [1, "section-title"], [1, "fa-solid", "fa-folder"], [1, "section-count"], [1, "card-grid"], [1, "suite-card"], [1, "card-header"], [1, "card-title-row"], [1, "fa-solid", "fa-folder-open", "card-icon", "suite-icon"], [1, "card-name", 3, "innerHTML"], [1, "status-badge"], [1, "card-subtitle"], [1, "card-description", 3, "innerHTML"], [1, "card-stats"], [1, "stat"], [1, "stat-label"], [1, "stat-value"], [1, "card-tests-preview"], [1, "card-actions"], [1, "btn", "btn-sm", "btn-primary", 3, "click"], [1, "fa-solid", "fa-play"], [1, "btn", "btn-sm", "btn-secondary", 3, "click"], [1, "fa-solid", "fa-chart-bar"], [1, "fa-solid", "fa-pen"], [1, "dot-sep"], [1, "preview-more"], [1, "preview-test-row"], [1, "preview-dot"], [1, "preview-test-name"], [1, "preview-score"], [1, "preview-bar"], [1, "preview-bar-fill"], [1, "preview-status"], [1, "test-card"], [1, "fa-solid", "fa-vial", "card-icon", "test-icon"], [1, "card-meta-row"], [1, "meta-item"], [1, "fa-solid", "fa-calendar"], [1, "card-tags"], [1, "stat-value", "status-text"], [1, "fa-solid", "fa-history"], [1, "fa-solid", "fa-robot"], [1, "fa-solid", "fa-clock"], [1, "fa-solid", "fa-dollar-sign"], [1, "tag", "tag-more"], [1, "tag"], [1, "fa-solid", "fa-inbox"], [1, "empty-hint"], [1, "sidebar-item", "suite-tree-item", 3, "click"], [1, "tree-toggle"], [1, "tree-name"], [1, "tree-toggle", 3, "click"], [1, "slideout-backdrop", 3, "click"], [1, "slideout-header"], [1, "slideout-title-row"], [1, "fa-solid", "fa-plus-circle", "slideout-title-icon"], [1, "slideout-title-text"], [1, "slideout-close-btn", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "slideout-type-toggle"], [1, "type-toggle-btn", 3, "click"], [1, "slideout-error"], [1, "slideout-body"], [1, "form-section"], [1, "form-section-title"], [1, "form-group"], [1, "form-label"], [1, "form-required"], ["type", "text", 1, "form-input", 3, "ngModelChange", "ngModel", "placeholder"], ["rows", "3", 1, "form-textarea", 3, "ngModelChange", "ngModel", "placeholder"], [1, "form-row"], [1, "form-input", 3, "ngModelChange", "ngModel"], [3, "value"], ["type", "text", "placeholder", "Comma-separated tags, e.g., agent, quality, v2", 1, "form-input", 3, "ngModelChange", "ngModel"], [1, "form-hint"], [1, "slideout-footer"], [1, "btn", "btn-secondary", 3, "click"], [1, "btn", "btn-primary", 3, "click", "disabled"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "fa-solid", "fa-check"], [1, "fa-solid", "fa-circle-exclamation"], ["value", "", "disabled", ""], ["value", ""], ["type", "number", "min", "0", "placeholder", "0", 1, "form-input", 3, "ngModelChange", "ngModel"], ["type", "number", "min", "0", "step", "0.01", "placeholder", "0.00", 1, "form-input", 3, "ngModelChange", "ngModel"], ["Mode", "slide", "Title", "Run Test", 3, "Closed", "Resizable"], [3, "PanelClose", "PanelMode", "selectedTestId", "selectedSuiteId", "runMode"]], template: function TestingExplorerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1696
|
+
i0.ɵɵconditionalCreate(0, TestingExplorerComponent_Conditional_0_Template, 1, 1, "ng-container")(1, TestingExplorerComponent_Conditional_1_Template, 22, 13, "mj-page-layout");
|
|
1697
|
+
i0.ɵɵtemplate(2, TestingExplorerComponent_ng_template_2_Template, 9, 8, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
1680
1698
|
} if (rf & 2) {
|
|
1681
|
-
i0.ɵɵconditional(ctx.
|
|
1682
|
-
i0.ɵɵadvance(4);
|
|
1683
|
-
i0.ɵɵconditional(ctx.SlideoutOpen ? 4 : -1);
|
|
1684
|
-
i0.ɵɵadvance();
|
|
1685
|
-
i0.ɵɵstyleProp("width", ctx.SlideoutWidth, "px");
|
|
1686
|
-
i0.ɵɵclassProp("open", ctx.SlideoutOpen);
|
|
1687
|
-
i0.ɵɵadvance(2);
|
|
1688
|
-
i0.ɵɵconditional(ctx.SlideoutOpen ? 7 : -1);
|
|
1689
|
-
i0.ɵɵadvance();
|
|
1690
|
-
i0.ɵɵconditional(ctx.testingDialogService.IsPanelOpen ? 8 : -1);
|
|
1691
|
-
} }, dependencies: [i3.NgTemplateOutlet, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.DefaultValueAccessor, i4.NumberValueAccessor, i4.SelectControlValueAccessor, i4.NgControlStatus, i4.MinValidator, i4.NgModel, i1.TestRunDialogComponent, i5.MjSlidePanelComponent, i6.LoadingComponent, i7.HighlightSearchPipe], styles: ["\n\n\n\n\n [_nghost-%COMP%] {\n display: block;\n height: 100%;\n width: 100%;\n }\n\n \n\n .explorer-loading[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n min-height: 400px;\n background: var(--mj-bg-surface-sunken);\n }\n\n \n\n .explorer-layout[_ngcontent-%COMP%] {\n display: flex;\n height: 100%;\n background: var(--mj-bg-surface-sunken);\n overflow: hidden;\n }\n\n \n\n\n\n .sidebar[_ngcontent-%COMP%] {\n width: 280px;\n min-width: 280px;\n background: var(--mj-bg-surface);\n border-right: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n transition: width 0.2s ease, min-width 0.2s ease;\n }\n\n .sidebar.collapsed[_ngcontent-%COMP%] {\n width: 48px;\n min-width: 48px;\n }\n\n .sidebar-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .sidebar-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 15px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .sidebar.collapsed[_ngcontent-%COMP%] .sidebar-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n display: none;\n }\n\n .sidebar-toggle[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-muted);\n cursor: pointer;\n font-size: 11px;\n transition: all 0.15s ease;\n }\n\n .sidebar-toggle[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .sidebar-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .sidebar-section[_ngcontent-%COMP%] {\n margin-bottom: 8px;\n }\n\n .sidebar-section-title[_ngcontent-%COMP%] {\n padding: 8px 16px 4px;\n font-size: 10px;\n font-weight: 700;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.8px;\n }\n\n .sidebar-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n font-size: 13px;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n overflow: hidden;\n }\n\n .sidebar-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .sidebar-item.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-weight: 600;\n }\n\n .sidebar-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n width: 16px;\n text-align: center;\n flex-shrink: 0;\n }\n\n .sidebar-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:not(.sidebar-count) {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .sidebar-count[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-disabled);\n font-weight: 500;\n flex-shrink: 0;\n }\n\n .sidebar-item.active[_ngcontent-%COMP%] .sidebar-count[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .sidebar-empty[_ngcontent-%COMP%] {\n padding: 8px 16px;\n font-size: 12px;\n color: var(--mj-text-disabled);\n font-style: italic;\n }\n\n \n\n .suite-tree-item[_ngcontent-%COMP%] {\n gap: 6px;\n }\n\n .tree-toggle[_ngcontent-%COMP%] {\n width: 18px;\n height: 18px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: none;\n color: var(--mj-text-disabled);\n cursor: pointer;\n font-size: 9px;\n flex-shrink: 0;\n border-radius: 4px;\n padding: 0;\n }\n\n .tree-toggle[_ngcontent-%COMP%]:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-muted);\n }\n\n .tree-name[_ngcontent-%COMP%] {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n \n\n\n\n .main-content[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n \n\n .toolbar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n padding: 16px 24px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .toolbar-left[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n min-width: 0;\n }\n\n .toolbar-search-box[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 14px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n min-width: 240px;\n max-width: 360px;\n flex: 1;\n transition: border-color 0.2s ease;\n }\n\n .toolbar-search-box[_ngcontent-%COMP%]:focus-within {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface);\n }\n\n .toolbar-search-box[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-disabled);\n font-size: 13px;\n }\n\n .toolbar-search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n flex: 1;\n border: none;\n background: transparent;\n outline: none;\n font-size: 13px;\n color: var(--mj-text-primary);\n }\n\n .toolbar-search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-disabled);\n }\n\n .clear-search[_ngcontent-%COMP%] {\n border: none;\n background: transparent;\n color: var(--mj-text-disabled);\n cursor: pointer;\n padding: 2px 4px;\n border-radius: 4px;\n }\n\n .clear-search[_ngcontent-%COMP%]:hover {\n color: var(--mj-text-muted);\n background: var(--mj-border-default);\n }\n\n .status-chips[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n }\n\n .chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 6px 14px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid transparent;\n border-radius: 16px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .chip[_ngcontent-%COMP%]:hover {\n background: var(--mj-border-default);\n }\n\n .chip.active[_ngcontent-%COMP%] {\n color: var(--mj-text-inverse);\n }\n\n .chip.active[data-status=\"active\"][_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n border-color: var(--mj-status-success);\n }\n\n .chip.active[data-status=\"pending\"][_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n border-color: var(--mj-status-warning);\n }\n\n .chip.active[data-status=\"disabled\"][_ngcontent-%COMP%] {\n background: var(--mj-text-muted);\n border-color: var(--mj-text-muted);\n }\n\n .toolbar-right[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-shrink: 0;\n }\n\n .result-count[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-disabled);\n font-weight: 500;\n white-space: nowrap;\n }\n\n .view-toggle[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-btn[_ngcontent-%COMP%] {\n width: 34px;\n height: 34px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--mj-bg-surface);\n border: none;\n color: var(--mj-text-disabled);\n cursor: pointer;\n font-size: 13px;\n transition: all 0.15s ease;\n }\n\n .view-btn[_ngcontent-%COMP%]:not(:last-child) {\n border-right: 1px solid var(--mj-border-default);\n }\n\n .view-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n .view-btn.active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n \n\n .btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 9px 16px;\n border: none;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n }\n\n .btn-primary[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .btn-primary[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: var(--mj-shadow-md);\n }\n\n .btn-secondary[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n color: var(--mj-text-muted);\n border: 1px solid var(--mj-border-default);\n }\n\n .btn-secondary[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-sm[_ngcontent-%COMP%] {\n padding: 6px 12px;\n font-size: 12px;\n }\n\n \n\n .toggle-bar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .toggle-group[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .toggle-btn[_ngcontent-%COMP%] {\n padding: 6px 16px;\n background: var(--mj-bg-surface);\n border: none;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .toggle-btn[_ngcontent-%COMP%]:not(:last-child) {\n border-right: 1px solid var(--mj-border-default);\n }\n\n .toggle-btn.active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .toggle-btn[_ngcontent-%COMP%]:hover:not(.active) {\n background: var(--mj-bg-surface-sunken);\n }\n\n .sort-indicator[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n }\n\n .sort-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-text-muted);\n cursor: pointer;\n }\n\n .sort-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .sort-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n }\n\n \n\n .content-area[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n }\n\n .content-section[_ngcontent-%COMP%] {\n margin-bottom: 32px;\n }\n\n .section-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 16px 0;\n font-size: 16px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 14px;\n }\n\n .section-count[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n \n\n .card-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));\n gap: 16px;\n }\n\n \n\n .suite-card[_ngcontent-%COMP%], \n .test-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n overflow: hidden;\n transition: all 0.2s ease;\n }\n\n .suite-card[_ngcontent-%COMP%]:hover, \n .test-card[_ngcontent-%COMP%]:hover {\n border-color: color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n box-shadow: var(--mj-shadow-md);\n }\n\n .card-header[_ngcontent-%COMP%] {\n padding: 16px 16px 12px;\n }\n\n .card-title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 6px;\n }\n\n .card-icon[_ngcontent-%COMP%] {\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .suite-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .test-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .card-name[_ngcontent-%COMP%] {\n flex: 1;\n font-size: 14px;\n font-weight: 700;\n color: var(--mj-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .status-badge[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 700;\n padding: 3px 8px;\n border-radius: 4px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n flex-shrink: 0;\n }\n\n .status-badge[data-status=\"active\"][_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n }\n\n .status-badge[data-status=\"pending\"][_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n color: var(--mj-status-warning);\n }\n\n .status-badge[data-status=\"disabled\"][_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n .card-subtitle[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n margin-bottom: 6px;\n }\n\n .dot-sep[_ngcontent-%COMP%] {\n display: inline-block;\n width: 3px;\n height: 3px;\n background: var(--mj-text-disabled);\n border-radius: 50%;\n vertical-align: middle;\n margin: 0 6px;\n }\n\n .card-description[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-muted);\n line-height: 1.5;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta-row[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n margin-top: 8px;\n }\n\n .meta-item[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .meta-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-disabled);\n }\n\n .card-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 8px;\n }\n\n .tag[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 600;\n padding: 2px 8px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n border-radius: 4px;\n }\n\n .tag-more[_ngcontent-%COMP%] {\n background: var(--mj-border-default);\n color: var(--mj-text-disabled);\n }\n\n \n\n .card-stats[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 1px;\n background: var(--mj-border-default);\n border-top: 1px solid var(--mj-border-default);\n }\n\n .stat[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n padding: 10px 12px;\n text-align: center;\n }\n\n .stat-label[_ngcontent-%COMP%] {\n display: block;\n font-size: 10px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.3px;\n margin-bottom: 2px;\n }\n\n .stat-value[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .stat-value.good[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .stat-value.warn[_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .stat-value.bad[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n\n .status-text[data-status=\"passed\"][_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .status-text[data-status=\"failed\"][_ngcontent-%COMP%] { color: var(--mj-status-error); }\n .status-text[data-status=\"error\"][_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .status-text[data-status=\"running\"][_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n .status-text[data-status=\"pending\"][_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .status-text[data-status=\"skipped\"][_ngcontent-%COMP%] { color: var(--mj-text-muted); }\n\n \n\n .card-tests-preview[_ngcontent-%COMP%] {\n padding: 10px 16px;\n border-top: 1px solid var(--mj-border-default);\n }\n\n .preview-test-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 0;\n font-size: 12px;\n }\n\n .preview-dot[_ngcontent-%COMP%] {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n flex-shrink: 0;\n }\n\n .preview-dot[data-status=\"passed\"][_ngcontent-%COMP%] { background: var(--mj-status-success); }\n .preview-dot[data-status=\"failed\"][_ngcontent-%COMP%] { background: var(--mj-status-error); }\n .preview-dot[data-status=\"error\"][_ngcontent-%COMP%] { background: var(--mj-status-warning); }\n .preview-dot[data-status=\"running\"][_ngcontent-%COMP%] { background: var(--mj-brand-primary); }\n .preview-dot[data-status=\"\"][_ngcontent-%COMP%] { background: var(--mj-text-disabled); }\n\n .preview-test-name[_ngcontent-%COMP%] {\n flex: 1;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .preview-score[_ngcontent-%COMP%] {\n font-weight: 600;\n font-size: 11px;\n min-width: 32px;\n text-align: right;\n }\n\n .preview-score.good[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .preview-score.warn[_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .preview-score.bad[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n\n .preview-bar[_ngcontent-%COMP%] {\n width: 48px;\n height: 4px;\n background: var(--mj-border-default);\n border-radius: 2px;\n overflow: hidden;\n flex-shrink: 0;\n }\n\n .preview-bar-fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: 2px;\n transition: width 0.3s ease;\n }\n\n .good-bg[_ngcontent-%COMP%] { background: var(--mj-status-success); }\n .warn-bg[_ngcontent-%COMP%] { background: var(--mj-status-warning); }\n .bad-bg[_ngcontent-%COMP%] { background: var(--mj-status-error); }\n\n .preview-status[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n min-width: 44px;\n text-align: right;\n }\n\n .preview-status[data-status=\"passed\"][_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .preview-status[data-status=\"failed\"][_ngcontent-%COMP%] { color: var(--mj-status-error); }\n .preview-status[data-status=\"error\"][_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .preview-status[data-status=\"\"][_ngcontent-%COMP%] { color: var(--mj-text-disabled); }\n\n .preview-more[_ngcontent-%COMP%] {\n padding: 4px 0 0;\n font-size: 11px;\n color: var(--mj-text-disabled);\n font-style: italic;\n }\n\n \n\n .card-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n padding: 12px 16px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n }\n\n \n\n .empty-state[_ngcontent-%COMP%] {\n padding: 80px 40px;\n text-align: center;\n }\n\n .empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-text-disabled);\n margin-bottom: 16px;\n }\n\n .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--mj-text-muted);\n margin: 0 0 8px 0;\n }\n\n .empty-hint[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-disabled);\n }\n\n \n\n\n\n .slideout-backdrop[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\n z-index: 999;\n animation: _ngcontent-%COMP%_fadeInBackdrop 0.2s ease;\n }\n\n @keyframes _ngcontent-%COMP%_fadeInBackdrop {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .slideout-panel[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n right: -100%;\n height: 100vh;\n background: var(--mj-bg-surface);\n box-shadow: var(--mj-shadow-lg);\n z-index: 1000;\n transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n }\n\n .slideout-panel.open[_ngcontent-%COMP%] {\n right: 0;\n }\n\n .slideout-resize-handle[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n width: 5px;\n height: 100%;\n cursor: col-resize;\n background: transparent;\n z-index: 10;\n transition: background 0.2s;\n }\n\n .slideout-resize-handle[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .slideout-resize-handle[_ngcontent-%COMP%]:active {\n background: color-mix(in srgb, var(--mj-brand-primary) 50%, transparent);\n }\n\n .slideout-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n }\n\n .slideout-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .slideout-title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .slideout-title-icon[_ngcontent-%COMP%] {\n font-size: 18px;\n color: var(--mj-brand-primary);\n }\n\n .slideout-title-text[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .slideout-close-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-muted);\n cursor: pointer;\n font-size: 14px;\n transition: all 0.15s ease;\n }\n\n .slideout-close-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n }\n\n \n\n .slideout-type-toggle[_ngcontent-%COMP%] {\n display: flex;\n gap: 0;\n padding: 16px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .type-toggle-btn[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 10px 16px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .type-toggle-btn[_ngcontent-%COMP%]:first-child {\n border-radius: 8px 0 0 8px;\n border-right: none;\n }\n\n .type-toggle-btn[_ngcontent-%COMP%]:last-child {\n border-radius: 0 8px 8px 0;\n }\n\n .type-toggle-btn.active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .type-toggle-btn[_ngcontent-%COMP%]:hover:not(.active) {\n background: var(--mj-border-default);\n }\n\n \n\n .slideout-error[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 16px 24px 0;\n padding: 12px 16px;\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-bg-surface));\n border-radius: 8px;\n color: var(--mj-status-error);\n font-size: 13px;\n flex-shrink: 0;\n }\n\n .slideout-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n flex-shrink: 0;\n }\n\n \n\n .slideout-body[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 20px 24px;\n }\n\n .form-section[_ngcontent-%COMP%] {\n margin-bottom: 24px;\n }\n\n .form-section-title[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.8px;\n margin-bottom: 14px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .form-group[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n }\n\n .form-label[_ngcontent-%COMP%] {\n display: block;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 6px;\n }\n\n .form-required[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n }\n\n .form-input[_ngcontent-%COMP%], \n .form-textarea[_ngcontent-%COMP%] {\n width: 100%;\n padding: 10px 14px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n font-size: 13px;\n color: var(--mj-text-primary);\n transition: border-color 0.2s ease;\n outline: none;\n box-sizing: border-box;\n font-family: inherit;\n }\n\n .form-input[_ngcontent-%COMP%]:focus, \n .form-textarea[_ngcontent-%COMP%]:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .form-input[_ngcontent-%COMP%]::placeholder, \n .form-textarea[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-disabled);\n }\n\n .form-textarea[_ngcontent-%COMP%] {\n resize: vertical;\n min-height: 80px;\n }\n\n .form-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n }\n\n .form-hint[_ngcontent-%COMP%] {\n display: block;\n font-size: 11px;\n color: var(--mj-text-disabled);\n margin-top: 4px;\n }\n\n \n\n .slideout-footer[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n gap: 10px;\n padding: 16px 24px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n }\n\n .slideout-footer[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n min-width: 100px;\n justify-content: center;\n }\n\n .slideout-footer[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n transform: none;\n box-shadow: none;\n }\n\n \n\n mark.search-highlight {\n background: color-mix(in srgb, var(--mj-status-warning) 20%, var(--mj-bg-surface));\n color: inherit;\n padding: 1px 2px;\n border-radius: 2px;\n font-weight: 700;\n }\n\n \n\n\n\n @media (max-width: 1200px) {\n .card-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n }\n\n @media (max-width: 900px) {\n .sidebar[_ngcontent-%COMP%] {\n display: none;\n }\n\n .toolbar[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n }\n\n .toolbar-left[_ngcontent-%COMP%], .toolbar-right[_ngcontent-%COMP%] {\n flex-wrap: wrap;\n justify-content: center;\n }\n }\n\n @media (max-width: 600px) {\n .content-area[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .card-stats[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .slideout-panel[_ngcontent-%COMP%] {\n width: 100% !important;\n }\n\n .slideout-resize-handle[_ngcontent-%COMP%] {\n display: none;\n }\n\n .form-row[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n }"], changeDetection: 0 });
|
|
1699
|
+
i0.ɵɵconditional(ctx.HideToolbar ? 0 : 1);
|
|
1700
|
+
} }, dependencies: [i3.NgTemplateOutlet, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.DefaultValueAccessor, i4.NumberValueAccessor, i4.SelectControlValueAccessor, i4.NgControlStatus, i4.MinValidator, i4.NgModel, i5.MJButtonDirective, i5.MJPageHeaderComponent, i5.MJPageLayoutComponent, i5.MJPageBodyComponent, i5.MJFilterChipComponent, i5.MJPageSearchComponent, i5.MJViewToggleComponent, i5.MJStatBadgeComponent, i1.TestRunDialogComponent, i6.MjSlidePanelComponent, i7.LoadingComponent, i8.HighlightSearchPipe], styles: ["\n\n\n\n\n [_nghost-%COMP%] {\n display: block;\n height: 100%;\n width: 100%;\n }\n\n \n\n .explorer-loading[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n min-height: 400px;\n background: var(--mj-bg-surface-sunken);\n }\n\n \n\n .explorer-layout[_ngcontent-%COMP%] {\n display: flex;\n height: 100%;\n background: var(--mj-bg-surface-sunken);\n overflow: hidden;\n }\n\n \n\n\n\n .sidebar[_ngcontent-%COMP%] {\n width: 280px;\n min-width: 280px;\n background: var(--mj-bg-surface);\n border-right: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n transition: width 0.2s ease, min-width 0.2s ease;\n }\n\n .sidebar.collapsed[_ngcontent-%COMP%] {\n width: 48px;\n min-width: 48px;\n }\n\n .sidebar-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .sidebar-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 15px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .sidebar.collapsed[_ngcontent-%COMP%] .sidebar-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n display: none;\n }\n\n .sidebar-toggle[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-muted);\n cursor: pointer;\n font-size: 11px;\n transition: all 0.15s ease;\n }\n\n .sidebar-toggle[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .sidebar-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .sidebar-section[_ngcontent-%COMP%] {\n margin-bottom: 8px;\n }\n\n .sidebar-section-title[_ngcontent-%COMP%] {\n padding: 8px 16px 4px;\n font-size: 10px;\n font-weight: 700;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.8px;\n }\n\n .sidebar-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n font-size: 13px;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n overflow: hidden;\n }\n\n .sidebar-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .sidebar-item.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-weight: 600;\n }\n\n .sidebar-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n width: 16px;\n text-align: center;\n flex-shrink: 0;\n }\n\n .sidebar-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:not(.sidebar-count) {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .sidebar-count[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-disabled);\n font-weight: 500;\n flex-shrink: 0;\n }\n\n .sidebar-item.active[_ngcontent-%COMP%] .sidebar-count[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .sidebar-empty[_ngcontent-%COMP%] {\n padding: 8px 16px;\n font-size: 12px;\n color: var(--mj-text-disabled);\n font-style: italic;\n }\n\n \n\n .suite-tree-item[_ngcontent-%COMP%] {\n gap: 6px;\n }\n\n .tree-toggle[_ngcontent-%COMP%] {\n width: 18px;\n height: 18px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: none;\n color: var(--mj-text-disabled);\n cursor: pointer;\n font-size: 9px;\n flex-shrink: 0;\n border-radius: 4px;\n padding: 0;\n }\n\n .tree-toggle[_ngcontent-%COMP%]:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-muted);\n }\n\n .tree-name[_ngcontent-%COMP%] {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n \n\n\n\n .main-content[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n \n\n .btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 9px 16px;\n border: none;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n }\n\n .btn-primary[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .btn-primary[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: var(--mj-shadow-md);\n }\n\n .btn-secondary[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n color: var(--mj-text-muted);\n border: 1px solid var(--mj-border-default);\n }\n\n .btn-secondary[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-sm[_ngcontent-%COMP%] {\n padding: 6px 12px;\n font-size: 12px;\n }\n\n \n\n .content-area[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n }\n\n .content-section[_ngcontent-%COMP%] {\n margin-bottom: 32px;\n }\n\n .section-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 16px 0;\n font-size: 16px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 14px;\n }\n\n .section-count[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n \n\n .card-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));\n gap: 16px;\n }\n\n \n\n .suite-card[_ngcontent-%COMP%], \n .test-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n overflow: hidden;\n transition: all 0.2s ease;\n }\n\n .suite-card[_ngcontent-%COMP%]:hover, \n .test-card[_ngcontent-%COMP%]:hover {\n border-color: color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n box-shadow: var(--mj-shadow-md);\n }\n\n .card-header[_ngcontent-%COMP%] {\n padding: 16px 16px 12px;\n }\n\n .card-title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 6px;\n }\n\n .card-icon[_ngcontent-%COMP%] {\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .suite-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .test-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n }\n\n .card-name[_ngcontent-%COMP%] {\n flex: 1;\n font-size: 14px;\n font-weight: 700;\n color: var(--mj-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .status-badge[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 700;\n padding: 3px 8px;\n border-radius: 4px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n flex-shrink: 0;\n }\n\n .status-badge[data-status=\"active\"][_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n }\n\n .status-badge[data-status=\"pending\"][_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n color: var(--mj-status-warning);\n }\n\n .status-badge[data-status=\"disabled\"][_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n .card-subtitle[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n margin-bottom: 6px;\n }\n\n .dot-sep[_ngcontent-%COMP%] {\n display: inline-block;\n width: 3px;\n height: 3px;\n background: var(--mj-text-disabled);\n border-radius: 50%;\n vertical-align: middle;\n margin: 0 6px;\n }\n\n .card-description[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-muted);\n line-height: 1.5;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta-row[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n margin-top: 8px;\n }\n\n .meta-item[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .meta-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-disabled);\n }\n\n .card-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 8px;\n }\n\n .tag[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 600;\n padding: 2px 8px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n border-radius: 4px;\n }\n\n .tag-more[_ngcontent-%COMP%] {\n background: var(--mj-border-default);\n color: var(--mj-text-disabled);\n }\n\n \n\n .card-stats[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 1px;\n background: var(--mj-border-default);\n border-top: 1px solid var(--mj-border-default);\n }\n\n .stat[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n padding: 10px 12px;\n text-align: center;\n }\n\n .stat-label[_ngcontent-%COMP%] {\n display: block;\n font-size: 10px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.3px;\n margin-bottom: 2px;\n }\n\n .stat-value[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .stat-value.good[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .stat-value.warn[_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .stat-value.bad[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n\n .status-text[data-status=\"passed\"][_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .status-text[data-status=\"failed\"][_ngcontent-%COMP%] { color: var(--mj-status-error); }\n .status-text[data-status=\"error\"][_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .status-text[data-status=\"running\"][_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n .status-text[data-status=\"pending\"][_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .status-text[data-status=\"skipped\"][_ngcontent-%COMP%] { color: var(--mj-text-muted); }\n\n \n\n .card-tests-preview[_ngcontent-%COMP%] {\n padding: 10px 16px;\n border-top: 1px solid var(--mj-border-default);\n }\n\n .preview-test-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 0;\n font-size: 12px;\n }\n\n .preview-dot[_ngcontent-%COMP%] {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n flex-shrink: 0;\n }\n\n .preview-dot[data-status=\"passed\"][_ngcontent-%COMP%] { background: var(--mj-status-success); }\n .preview-dot[data-status=\"failed\"][_ngcontent-%COMP%] { background: var(--mj-status-error); }\n .preview-dot[data-status=\"error\"][_ngcontent-%COMP%] { background: var(--mj-status-warning); }\n .preview-dot[data-status=\"running\"][_ngcontent-%COMP%] { background: var(--mj-brand-primary); }\n .preview-dot[data-status=\"\"][_ngcontent-%COMP%] { background: var(--mj-text-disabled); }\n\n .preview-test-name[_ngcontent-%COMP%] {\n flex: 1;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .preview-score[_ngcontent-%COMP%] {\n font-weight: 600;\n font-size: 11px;\n min-width: 32px;\n text-align: right;\n }\n\n .preview-score.good[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .preview-score.warn[_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .preview-score.bad[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n\n .preview-bar[_ngcontent-%COMP%] {\n width: 48px;\n height: 4px;\n background: var(--mj-border-default);\n border-radius: 2px;\n overflow: hidden;\n flex-shrink: 0;\n }\n\n .preview-bar-fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: 2px;\n transition: width 0.3s ease;\n }\n\n .good-bg[_ngcontent-%COMP%] { background: var(--mj-status-success); }\n .warn-bg[_ngcontent-%COMP%] { background: var(--mj-status-warning); }\n .bad-bg[_ngcontent-%COMP%] { background: var(--mj-status-error); }\n\n .preview-status[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n min-width: 44px;\n text-align: right;\n }\n\n .preview-status[data-status=\"passed\"][_ngcontent-%COMP%] { color: var(--mj-status-success); }\n .preview-status[data-status=\"failed\"][_ngcontent-%COMP%] { color: var(--mj-status-error); }\n .preview-status[data-status=\"error\"][_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n .preview-status[data-status=\"\"][_ngcontent-%COMP%] { color: var(--mj-text-disabled); }\n\n .preview-more[_ngcontent-%COMP%] {\n padding: 4px 0 0;\n font-size: 11px;\n color: var(--mj-text-disabled);\n font-style: italic;\n }\n\n \n\n .card-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n padding: 12px 16px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n }\n\n \n\n .empty-state[_ngcontent-%COMP%] {\n padding: 80px 40px;\n text-align: center;\n }\n\n .empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-text-disabled);\n margin-bottom: 16px;\n }\n\n .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--mj-text-muted);\n margin: 0 0 8px 0;\n }\n\n .empty-hint[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-disabled);\n }\n\n \n\n\n\n .slideout-backdrop[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\n z-index: 999;\n animation: _ngcontent-%COMP%_fadeInBackdrop 0.2s ease;\n }\n\n @keyframes _ngcontent-%COMP%_fadeInBackdrop {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .slideout-panel[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n right: -100%;\n height: 100vh;\n background: var(--mj-bg-surface);\n box-shadow: var(--mj-shadow-lg);\n z-index: 1000;\n transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n }\n\n .slideout-panel.open[_ngcontent-%COMP%] {\n right: 0;\n }\n\n .slideout-resize-handle[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n width: 5px;\n height: 100%;\n cursor: col-resize;\n background: transparent;\n z-index: 10;\n transition: background 0.2s;\n }\n\n .slideout-resize-handle[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .slideout-resize-handle[_ngcontent-%COMP%]:active {\n background: color-mix(in srgb, var(--mj-brand-primary) 50%, transparent);\n }\n\n .slideout-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n }\n\n .slideout-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .slideout-title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .slideout-title-icon[_ngcontent-%COMP%] {\n font-size: 18px;\n color: var(--mj-brand-primary);\n }\n\n .slideout-title-text[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .slideout-close-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-muted);\n cursor: pointer;\n font-size: 14px;\n transition: all 0.15s ease;\n }\n\n .slideout-close-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n }\n\n \n\n .slideout-type-toggle[_ngcontent-%COMP%] {\n display: flex;\n gap: 0;\n padding: 16px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .type-toggle-btn[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 10px 16px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .type-toggle-btn[_ngcontent-%COMP%]:first-child {\n border-radius: 8px 0 0 8px;\n border-right: none;\n }\n\n .type-toggle-btn[_ngcontent-%COMP%]:last-child {\n border-radius: 0 8px 8px 0;\n }\n\n .type-toggle-btn.active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .type-toggle-btn[_ngcontent-%COMP%]:hover:not(.active) {\n background: var(--mj-border-default);\n }\n\n \n\n .slideout-error[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 16px 24px 0;\n padding: 12px 16px;\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-bg-surface));\n border-radius: 8px;\n color: var(--mj-status-error);\n font-size: 13px;\n flex-shrink: 0;\n }\n\n .slideout-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n flex-shrink: 0;\n }\n\n \n\n .slideout-body[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 20px 24px;\n }\n\n .form-section[_ngcontent-%COMP%] {\n margin-bottom: 24px;\n }\n\n .form-section-title[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.8px;\n margin-bottom: 14px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .form-group[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n }\n\n .form-label[_ngcontent-%COMP%] {\n display: block;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 6px;\n }\n\n .form-required[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n }\n\n .form-input[_ngcontent-%COMP%], \n .form-textarea[_ngcontent-%COMP%] {\n width: 100%;\n padding: 10px 14px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n font-size: 13px;\n color: var(--mj-text-primary);\n transition: border-color 0.2s ease;\n outline: none;\n box-sizing: border-box;\n font-family: inherit;\n }\n\n .form-input[_ngcontent-%COMP%]:focus, \n .form-textarea[_ngcontent-%COMP%]:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .form-input[_ngcontent-%COMP%]::placeholder, \n .form-textarea[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-disabled);\n }\n\n .form-textarea[_ngcontent-%COMP%] {\n resize: vertical;\n min-height: 80px;\n }\n\n .form-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n }\n\n .form-hint[_ngcontent-%COMP%] {\n display: block;\n font-size: 11px;\n color: var(--mj-text-disabled);\n margin-top: 4px;\n }\n\n \n\n .slideout-footer[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n gap: 10px;\n padding: 16px 24px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n }\n\n .slideout-footer[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n min-width: 100px;\n justify-content: center;\n }\n\n .slideout-footer[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n transform: none;\n box-shadow: none;\n }\n\n \n\n mark.search-highlight {\n background: color-mix(in srgb, var(--mj-status-warning) 20%, var(--mj-bg-surface));\n color: inherit;\n padding: 1px 2px;\n border-radius: 2px;\n font-weight: 700;\n }\n\n \n\n\n\n @media (max-width: 1200px) {\n .card-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n }\n\n @media (max-width: 900px) {\n .sidebar[_ngcontent-%COMP%] {\n display: none;\n }\n }\n\n @media (max-width: 600px) {\n .content-area[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .card-stats[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .slideout-panel[_ngcontent-%COMP%] {\n width: 100% !important;\n }\n\n .slideout-resize-handle[_ngcontent-%COMP%] {\n display: none;\n }\n\n .form-row[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n }"], changeDetection: 0 });
|
|
1692
1701
|
}
|
|
1693
1702
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TestingExplorerComponent, [{
|
|
1694
1703
|
type: Component,
|
|
1695
1704
|
args: [{ standalone: false, selector: 'app-testing-explorer', changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
1705
|
+
@if (HideToolbar) {
|
|
1706
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
1707
|
+
} @else {
|
|
1708
|
+
<mj-page-layout>
|
|
1709
|
+
<mj-page-header
|
|
1710
|
+
Title="Test Explorer"
|
|
1711
|
+
Icon="fa-solid fa-compass"
|
|
1712
|
+
Subtitle="Browse tests and test suites">
|
|
1713
|
+
<div meta>
|
|
1714
|
+
<mj-stat-badge [Count]="FilteredResultCount" Label="results"></mj-stat-badge>
|
|
1715
|
+
</div>
|
|
1716
|
+
<div actions>
|
|
1717
|
+
<mj-view-toggle
|
|
1718
|
+
[Options]="HeaderViewOptions"
|
|
1719
|
+
[ActiveKey]="ViewMode"
|
|
1720
|
+
(KeyChange)="SetViewMode($any($event))">
|
|
1721
|
+
</mj-view-toggle>
|
|
1722
|
+
<button mjButton variant="secondary" size="sm" (click)="ToggleSortDirection()"
|
|
1723
|
+
[title]="'Sort by ' + SortFieldLabel + ' (' + (SortDirection === 'asc' ? 'ascending' : 'descending') + ')'">
|
|
1724
|
+
<i class="fa-solid fa-arrow-down-short-wide"></i>
|
|
1725
|
+
<i class="fa-solid" [class.fa-arrow-up]="SortDirection === 'asc'" [class.fa-arrow-down]="SortDirection === 'desc'"></i>
|
|
1726
|
+
</button>
|
|
1727
|
+
<button mjButton variant="secondary" size="sm" (click)="OnNewSuite()">
|
|
1728
|
+
<i class="fa-solid fa-folder-plus"></i> New Suite
|
|
1729
|
+
</button>
|
|
1730
|
+
<button mjButton variant="primary" size="sm" (click)="OnNewTest()">
|
|
1731
|
+
<i class="fa-solid fa-plus"></i> New Test
|
|
1732
|
+
</button>
|
|
1733
|
+
</div>
|
|
1734
|
+
<div toolbar>
|
|
1735
|
+
<mj-page-search
|
|
1736
|
+
Placeholder="Search tests and suites..."
|
|
1737
|
+
[Value]="SearchTerm"
|
|
1738
|
+
(ValueChange)="OnSearchInputValue($event)">
|
|
1739
|
+
</mj-page-search>
|
|
1740
|
+
@for (status of StatusOptions; track status) {
|
|
1741
|
+
<mj-filter-chip
|
|
1742
|
+
[Label]="status"
|
|
1743
|
+
[Active]="IsStatusActive(status)"
|
|
1744
|
+
(Clicked)="ToggleStatus(status)">
|
|
1745
|
+
</mj-filter-chip>
|
|
1746
|
+
}
|
|
1747
|
+
<mj-view-toggle
|
|
1748
|
+
[Options]="DisplayModeOptions"
|
|
1749
|
+
[ActiveKey]="DisplayMode"
|
|
1750
|
+
(KeyChange)="SetDisplayMode($any($event))">
|
|
1751
|
+
</mj-view-toggle>
|
|
1752
|
+
</div>
|
|
1753
|
+
</mj-page-header>
|
|
1754
|
+
<mj-page-body [Flex]="true">
|
|
1755
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
1756
|
+
</mj-page-body>
|
|
1757
|
+
</mj-page-layout>
|
|
1758
|
+
}
|
|
1759
|
+
|
|
1760
|
+
<ng-template #content>
|
|
1696
1761
|
@if (IsLoading) {
|
|
1697
1762
|
<div class="explorer-loading">
|
|
1698
1763
|
<mj-loading text="Loading test explorer..."></mj-loading>
|
|
@@ -1767,95 +1832,6 @@ export class TestingExplorerComponent extends BaseAngularComponent {
|
|
|
1767
1832
|
|
|
1768
1833
|
<!-- Main Content -->
|
|
1769
1834
|
<main class="main-content">
|
|
1770
|
-
<!-- Toolbar -->
|
|
1771
|
-
<div class="toolbar">
|
|
1772
|
-
<div class="toolbar-left">
|
|
1773
|
-
<div class="toolbar-search-box">
|
|
1774
|
-
<i class="fa-solid fa-search"></i>
|
|
1775
|
-
<input
|
|
1776
|
-
type="text"
|
|
1777
|
-
placeholder="Search tests and suites..."
|
|
1778
|
-
[value]="SearchTerm"
|
|
1779
|
-
(input)="OnSearchInput($event)"
|
|
1780
|
-
/>
|
|
1781
|
-
@if (SearchTerm) {
|
|
1782
|
-
<button class="clear-search" (click)="ClearSearch()">
|
|
1783
|
-
<i class="fa-solid fa-times"></i>
|
|
1784
|
-
</button>
|
|
1785
|
-
}
|
|
1786
|
-
</div>
|
|
1787
|
-
<div class="status-chips">
|
|
1788
|
-
@for (status of StatusOptions; track status) {
|
|
1789
|
-
<button
|
|
1790
|
-
class="chip"
|
|
1791
|
-
[class.active]="IsStatusActive(status)"
|
|
1792
|
-
[attr.data-status]="status.toLowerCase()"
|
|
1793
|
-
(click)="ToggleStatus(status)"
|
|
1794
|
-
>
|
|
1795
|
-
{{ status }}
|
|
1796
|
-
</button>
|
|
1797
|
-
}
|
|
1798
|
-
</div>
|
|
1799
|
-
</div>
|
|
1800
|
-
<div class="toolbar-right">
|
|
1801
|
-
<span class="result-count">{{ FilteredResultCount }} results</span>
|
|
1802
|
-
<div class="view-toggle">
|
|
1803
|
-
<button
|
|
1804
|
-
class="view-btn"
|
|
1805
|
-
[class.active]="ViewMode === 'card'"
|
|
1806
|
-
(click)="SetViewMode('card')"
|
|
1807
|
-
title="Card View"
|
|
1808
|
-
>
|
|
1809
|
-
<i class="fa-solid fa-grip"></i>
|
|
1810
|
-
</button>
|
|
1811
|
-
<button
|
|
1812
|
-
class="view-btn"
|
|
1813
|
-
[class.active]="ViewMode === 'list'"
|
|
1814
|
-
(click)="SetViewMode('list')"
|
|
1815
|
-
title="List View"
|
|
1816
|
-
>
|
|
1817
|
-
<i class="fa-solid fa-list"></i>
|
|
1818
|
-
</button>
|
|
1819
|
-
</div>
|
|
1820
|
-
<button class="btn btn-secondary" (click)="OnNewSuite()">
|
|
1821
|
-
<i class="fa-solid fa-folder-plus"></i>
|
|
1822
|
-
New Suite
|
|
1823
|
-
</button>
|
|
1824
|
-
<button class="btn btn-primary" (click)="OnNewTest()">
|
|
1825
|
-
<i class="fa-solid fa-plus"></i>
|
|
1826
|
-
New Test
|
|
1827
|
-
</button>
|
|
1828
|
-
</div>
|
|
1829
|
-
</div>
|
|
1830
|
-
|
|
1831
|
-
<!-- Toggle Bar -->
|
|
1832
|
-
<div class="toggle-bar">
|
|
1833
|
-
<div class="toggle-group">
|
|
1834
|
-
<button
|
|
1835
|
-
class="toggle-btn"
|
|
1836
|
-
[class.active]="DisplayMode === 'all'"
|
|
1837
|
-
(click)="SetDisplayMode('all')"
|
|
1838
|
-
>All</button>
|
|
1839
|
-
<button
|
|
1840
|
-
class="toggle-btn"
|
|
1841
|
-
[class.active]="DisplayMode === 'suites'"
|
|
1842
|
-
(click)="SetDisplayMode('suites')"
|
|
1843
|
-
>Suites Only</button>
|
|
1844
|
-
<button
|
|
1845
|
-
class="toggle-btn"
|
|
1846
|
-
[class.active]="DisplayMode === 'tests'"
|
|
1847
|
-
(click)="SetDisplayMode('tests')"
|
|
1848
|
-
>Tests Only</button>
|
|
1849
|
-
</div>
|
|
1850
|
-
<div class="sort-indicator">
|
|
1851
|
-
<button class="sort-btn" (click)="ToggleSortDirection()">
|
|
1852
|
-
<i class="fa-solid fa-arrow-down-short-wide"></i>
|
|
1853
|
-
{{ SortFieldLabel }}
|
|
1854
|
-
<i class="fa-solid" [class.fa-arrow-up]="SortDirection === 'asc'" [class.fa-arrow-down]="SortDirection === 'desc'"></i>
|
|
1855
|
-
</button>
|
|
1856
|
-
</div>
|
|
1857
|
-
</div>
|
|
1858
|
-
|
|
1859
1835
|
<!-- Content Area -->
|
|
1860
1836
|
<div class="content-area">
|
|
1861
1837
|
<!-- Suites Section -->
|
|
@@ -2260,7 +2236,10 @@ export class TestingExplorerComponent extends BaseAngularComponent {
|
|
|
2260
2236
|
</app-test-run-dialog>
|
|
2261
2237
|
</mj-slide-panel>
|
|
2262
2238
|
}
|
|
2263
|
-
`, styles: ["\n /* ==========================================\n Testing Explorer Component\n ========================================== */\n\n :host {\n display: block;\n height: 100%;\n width: 100%;\n }\n\n /* Loading */\n .explorer-loading {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n min-height: 400px;\n background: var(--mj-bg-surface-sunken);\n }\n\n /* Layout */\n .explorer-layout {\n display: flex;\n height: 100%;\n background: var(--mj-bg-surface-sunken);\n overflow: hidden;\n }\n\n /* ==========================================\n Sidebar\n ========================================== */\n .sidebar {\n width: 280px;\n min-width: 280px;\n background: var(--mj-bg-surface);\n border-right: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n transition: width 0.2s ease, min-width 0.2s ease;\n }\n\n .sidebar.collapsed {\n width: 48px;\n min-width: 48px;\n }\n\n .sidebar-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .sidebar-header h3 {\n margin: 0;\n font-size: 15px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .sidebar.collapsed .sidebar-header h3 {\n display: none;\n }\n\n .sidebar-toggle {\n width: 28px;\n height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-muted);\n cursor: pointer;\n font-size: 11px;\n transition: all 0.15s ease;\n }\n\n .sidebar-toggle:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .sidebar-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .sidebar-section {\n margin-bottom: 8px;\n }\n\n .sidebar-section-title {\n padding: 8px 16px 4px;\n font-size: 10px;\n font-weight: 700;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.8px;\n }\n\n .sidebar-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n font-size: 13px;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n overflow: hidden;\n }\n\n .sidebar-item:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .sidebar-item.active {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-weight: 600;\n }\n\n .sidebar-item i {\n font-size: 12px;\n width: 16px;\n text-align: center;\n flex-shrink: 0;\n }\n\n .sidebar-item span:not(.sidebar-count) {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .sidebar-count {\n font-size: 11px;\n color: var(--mj-text-disabled);\n font-weight: 500;\n flex-shrink: 0;\n }\n\n .sidebar-item.active .sidebar-count {\n color: var(--mj-brand-primary);\n }\n\n .sidebar-empty {\n padding: 8px 16px;\n font-size: 12px;\n color: var(--mj-text-disabled);\n font-style: italic;\n }\n\n /* Tree nodes */\n .suite-tree-item {\n gap: 6px;\n }\n\n .tree-toggle {\n width: 18px;\n height: 18px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: none;\n color: var(--mj-text-disabled);\n cursor: pointer;\n font-size: 9px;\n flex-shrink: 0;\n border-radius: 4px;\n padding: 0;\n }\n\n .tree-toggle:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-muted);\n }\n\n .tree-name {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n /* ==========================================\n Main Content\n ========================================== */\n .main-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n /* Toolbar */\n .toolbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n padding: 16px 24px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .toolbar-left {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n min-width: 0;\n }\n\n .toolbar-search-box {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 14px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n min-width: 240px;\n max-width: 360px;\n flex: 1;\n transition: border-color 0.2s ease;\n }\n\n .toolbar-search-box:focus-within {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface);\n }\n\n .toolbar-search-box i {\n color: var(--mj-text-disabled);\n font-size: 13px;\n }\n\n .toolbar-search-box input {\n flex: 1;\n border: none;\n background: transparent;\n outline: none;\n font-size: 13px;\n color: var(--mj-text-primary);\n }\n\n .toolbar-search-box input::placeholder {\n color: var(--mj-text-disabled);\n }\n\n .clear-search {\n border: none;\n background: transparent;\n color: var(--mj-text-disabled);\n cursor: pointer;\n padding: 2px 4px;\n border-radius: 4px;\n }\n\n .clear-search:hover {\n color: var(--mj-text-muted);\n background: var(--mj-border-default);\n }\n\n .status-chips {\n display: flex;\n gap: 6px;\n }\n\n .chip {\n display: inline-flex;\n align-items: center;\n padding: 6px 14px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid transparent;\n border-radius: 16px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .chip:hover {\n background: var(--mj-border-default);\n }\n\n .chip.active {\n color: var(--mj-text-inverse);\n }\n\n .chip.active[data-status=\"active\"] {\n background: var(--mj-status-success);\n border-color: var(--mj-status-success);\n }\n\n .chip.active[data-status=\"pending\"] {\n background: var(--mj-status-warning);\n border-color: var(--mj-status-warning);\n }\n\n .chip.active[data-status=\"disabled\"] {\n background: var(--mj-text-muted);\n border-color: var(--mj-text-muted);\n }\n\n .toolbar-right {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-shrink: 0;\n }\n\n .result-count {\n font-size: 12px;\n color: var(--mj-text-disabled);\n font-weight: 500;\n white-space: nowrap;\n }\n\n .view-toggle {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .view-btn {\n width: 34px;\n height: 34px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--mj-bg-surface);\n border: none;\n color: var(--mj-text-disabled);\n cursor: pointer;\n font-size: 13px;\n transition: all 0.15s ease;\n }\n\n .view-btn:not(:last-child) {\n border-right: 1px solid var(--mj-border-default);\n }\n\n .view-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n .view-btn.active {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n /* Buttons */\n .btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 9px 16px;\n border: none;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n }\n\n .btn-primary {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .btn-primary:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: var(--mj-shadow-md);\n }\n\n .btn-secondary {\n background: var(--mj-bg-surface);\n color: var(--mj-text-muted);\n border: 1px solid var(--mj-border-default);\n }\n\n .btn-secondary:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-sm {\n padding: 6px 12px;\n font-size: 12px;\n }\n\n /* Toggle Bar */\n .toggle-bar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .toggle-group {\n display: flex;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n overflow: hidden;\n }\n\n .toggle-btn {\n padding: 6px 16px;\n background: var(--mj-bg-surface);\n border: none;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .toggle-btn:not(:last-child) {\n border-right: 1px solid var(--mj-border-default);\n }\n\n .toggle-btn.active {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .toggle-btn:hover:not(.active) {\n background: var(--mj-bg-surface-sunken);\n }\n\n .sort-indicator {\n display: flex;\n align-items: center;\n }\n\n .sort-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-text-muted);\n cursor: pointer;\n }\n\n .sort-btn:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .sort-btn i {\n font-size: 11px;\n }\n\n /* Content Area */\n .content-area {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n }\n\n .content-section {\n margin-bottom: 32px;\n }\n\n .section-title {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 16px 0;\n font-size: 16px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .section-title i {\n color: var(--mj-brand-primary);\n font-size: 14px;\n }\n\n .section-count {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n /* Card Grid */\n .card-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));\n gap: 16px;\n }\n\n /* Suite Card */\n .suite-card,\n .test-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n overflow: hidden;\n transition: all 0.2s ease;\n }\n\n .suite-card:hover,\n .test-card:hover {\n border-color: color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n box-shadow: var(--mj-shadow-md);\n }\n\n .card-header {\n padding: 16px 16px 12px;\n }\n\n .card-title-row {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 6px;\n }\n\n .card-icon {\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .suite-icon {\n color: var(--mj-brand-primary);\n }\n\n .test-icon {\n color: var(--mj-brand-primary);\n }\n\n .card-name {\n flex: 1;\n font-size: 14px;\n font-weight: 700;\n color: var(--mj-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .status-badge {\n font-size: 10px;\n font-weight: 700;\n padding: 3px 8px;\n border-radius: 4px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n flex-shrink: 0;\n }\n\n .status-badge[data-status=\"active\"] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n }\n\n .status-badge[data-status=\"pending\"] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n color: var(--mj-status-warning);\n }\n\n .status-badge[data-status=\"disabled\"] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n .card-subtitle {\n font-size: 12px;\n color: var(--mj-text-muted);\n margin-bottom: 6px;\n }\n\n .dot-sep {\n display: inline-block;\n width: 3px;\n height: 3px;\n background: var(--mj-text-disabled);\n border-radius: 50%;\n vertical-align: middle;\n margin: 0 6px;\n }\n\n .card-description {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-muted);\n line-height: 1.5;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta-row {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n margin-top: 8px;\n }\n\n .meta-item {\n font-size: 11px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .meta-item i {\n font-size: 10px;\n color: var(--mj-text-disabled);\n }\n\n .card-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 8px;\n }\n\n .tag {\n font-size: 10px;\n font-weight: 600;\n padding: 2px 8px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n border-radius: 4px;\n }\n\n .tag-more {\n background: var(--mj-border-default);\n color: var(--mj-text-disabled);\n }\n\n /* Card Stats */\n .card-stats {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 1px;\n background: var(--mj-border-default);\n border-top: 1px solid var(--mj-border-default);\n }\n\n .stat {\n background: var(--mj-bg-surface-card);\n padding: 10px 12px;\n text-align: center;\n }\n\n .stat-label {\n display: block;\n font-size: 10px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.3px;\n margin-bottom: 2px;\n }\n\n .stat-value {\n font-size: 14px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .stat-value.good { color: var(--mj-status-success); }\n .stat-value.warn { color: var(--mj-status-warning); }\n .stat-value.bad { color: var(--mj-status-error); }\n\n .status-text[data-status=\"passed\"] { color: var(--mj-status-success); }\n .status-text[data-status=\"failed\"] { color: var(--mj-status-error); }\n .status-text[data-status=\"error\"] { color: var(--mj-status-warning); }\n .status-text[data-status=\"running\"] { color: var(--mj-brand-primary); }\n .status-text[data-status=\"pending\"] { color: var(--mj-status-warning); }\n .status-text[data-status=\"skipped\"] { color: var(--mj-text-muted); }\n\n /* Suite Tests Preview */\n .card-tests-preview {\n padding: 10px 16px;\n border-top: 1px solid var(--mj-border-default);\n }\n\n .preview-test-row {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 0;\n font-size: 12px;\n }\n\n .preview-dot {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n flex-shrink: 0;\n }\n\n .preview-dot[data-status=\"passed\"] { background: var(--mj-status-success); }\n .preview-dot[data-status=\"failed\"] { background: var(--mj-status-error); }\n .preview-dot[data-status=\"error\"] { background: var(--mj-status-warning); }\n .preview-dot[data-status=\"running\"] { background: var(--mj-brand-primary); }\n .preview-dot[data-status=\"\"] { background: var(--mj-text-disabled); }\n\n .preview-test-name {\n flex: 1;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .preview-score {\n font-weight: 600;\n font-size: 11px;\n min-width: 32px;\n text-align: right;\n }\n\n .preview-score.good { color: var(--mj-status-success); }\n .preview-score.warn { color: var(--mj-status-warning); }\n .preview-score.bad { color: var(--mj-status-error); }\n\n .preview-bar {\n width: 48px;\n height: 4px;\n background: var(--mj-border-default);\n border-radius: 2px;\n overflow: hidden;\n flex-shrink: 0;\n }\n\n .preview-bar-fill {\n height: 100%;\n border-radius: 2px;\n transition: width 0.3s ease;\n }\n\n .good-bg { background: var(--mj-status-success); }\n .warn-bg { background: var(--mj-status-warning); }\n .bad-bg { background: var(--mj-status-error); }\n\n .preview-status {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n min-width: 44px;\n text-align: right;\n }\n\n .preview-status[data-status=\"passed\"] { color: var(--mj-status-success); }\n .preview-status[data-status=\"failed\"] { color: var(--mj-status-error); }\n .preview-status[data-status=\"error\"] { color: var(--mj-status-warning); }\n .preview-status[data-status=\"\"] { color: var(--mj-text-disabled); }\n\n .preview-more {\n padding: 4px 0 0;\n font-size: 11px;\n color: var(--mj-text-disabled);\n font-style: italic;\n }\n\n /* Card Actions */\n .card-actions {\n display: flex;\n gap: 8px;\n padding: 12px 16px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n }\n\n /* Empty State */\n .empty-state {\n padding: 80px 40px;\n text-align: center;\n }\n\n .empty-state i {\n font-size: 48px;\n color: var(--mj-text-disabled);\n margin-bottom: 16px;\n }\n\n .empty-state p {\n font-size: 16px;\n color: var(--mj-text-muted);\n margin: 0 0 8px 0;\n }\n\n .empty-hint {\n font-size: 13px;\n color: var(--mj-text-disabled);\n }\n\n /* ==========================================\n Slideout Panel\n ========================================== */\n .slideout-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\n z-index: 999;\n animation: fadeInBackdrop 0.2s ease;\n }\n\n @keyframes fadeInBackdrop {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .slideout-panel {\n position: fixed;\n top: 0;\n right: -100%;\n height: 100vh;\n background: var(--mj-bg-surface);\n box-shadow: var(--mj-shadow-lg);\n z-index: 1000;\n transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n }\n\n .slideout-panel.open {\n right: 0;\n }\n\n .slideout-resize-handle {\n position: absolute;\n top: 0;\n left: 0;\n width: 5px;\n height: 100%;\n cursor: col-resize;\n background: transparent;\n z-index: 10;\n transition: background 0.2s;\n }\n\n .slideout-resize-handle:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .slideout-resize-handle:active {\n background: color-mix(in srgb, var(--mj-brand-primary) 50%, transparent);\n }\n\n .slideout-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n }\n\n .slideout-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .slideout-title-row {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .slideout-title-icon {\n font-size: 18px;\n color: var(--mj-brand-primary);\n }\n\n .slideout-title-text {\n font-size: 18px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .slideout-close-btn {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-muted);\n cursor: pointer;\n font-size: 14px;\n transition: all 0.15s ease;\n }\n\n .slideout-close-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n }\n\n /* Type Toggle */\n .slideout-type-toggle {\n display: flex;\n gap: 0;\n padding: 16px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .type-toggle-btn {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 10px 16px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .type-toggle-btn:first-child {\n border-radius: 8px 0 0 8px;\n border-right: none;\n }\n\n .type-toggle-btn:last-child {\n border-radius: 0 8px 8px 0;\n }\n\n .type-toggle-btn.active {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .type-toggle-btn:hover:not(.active) {\n background: var(--mj-border-default);\n }\n\n /* Error Banner */\n .slideout-error {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 16px 24px 0;\n padding: 12px 16px;\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-bg-surface));\n border-radius: 8px;\n color: var(--mj-status-error);\n font-size: 13px;\n flex-shrink: 0;\n }\n\n .slideout-error i {\n font-size: 14px;\n flex-shrink: 0;\n }\n\n /* Slideout Body */\n .slideout-body {\n flex: 1;\n overflow-y: auto;\n padding: 20px 24px;\n }\n\n .form-section {\n margin-bottom: 24px;\n }\n\n .form-section-title {\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.8px;\n margin-bottom: 14px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .form-group {\n margin-bottom: 16px;\n }\n\n .form-label {\n display: block;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 6px;\n }\n\n .form-required {\n color: var(--mj-status-error);\n }\n\n .form-input,\n .form-textarea {\n width: 100%;\n padding: 10px 14px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n font-size: 13px;\n color: var(--mj-text-primary);\n transition: border-color 0.2s ease;\n outline: none;\n box-sizing: border-box;\n font-family: inherit;\n }\n\n .form-input:focus,\n .form-textarea:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .form-input::placeholder,\n .form-textarea::placeholder {\n color: var(--mj-text-disabled);\n }\n\n .form-textarea {\n resize: vertical;\n min-height: 80px;\n }\n\n .form-row {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n }\n\n .form-hint {\n display: block;\n font-size: 11px;\n color: var(--mj-text-disabled);\n margin-top: 4px;\n }\n\n /* Slideout Footer */\n .slideout-footer {\n display: flex;\n justify-content: flex-end;\n gap: 10px;\n padding: 16px 24px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n }\n\n .slideout-footer .btn {\n min-width: 100px;\n justify-content: center;\n }\n\n .slideout-footer .btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n transform: none;\n box-shadow: none;\n }\n\n /* Search Highlight */\n ::ng-deep mark.search-highlight {\n background: color-mix(in srgb, var(--mj-status-warning) 20%, var(--mj-bg-surface));\n color: inherit;\n padding: 1px 2px;\n border-radius: 2px;\n font-weight: 700;\n }\n\n /* ==========================================\n Responsive\n ========================================== */\n @media (max-width: 1200px) {\n .card-grid {\n grid-template-columns: 1fr;\n }\n }\n\n @media (max-width: 900px) {\n .sidebar {\n display: none;\n }\n\n .toolbar {\n flex-direction: column;\n align-items: stretch;\n }\n\n .toolbar-left, .toolbar-right {\n flex-wrap: wrap;\n justify-content: center;\n }\n }\n\n @media (max-width: 600px) {\n .content-area {\n padding: 16px;\n }\n\n .card-stats {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .slideout-panel {\n width: 100% !important;\n }\n\n .slideout-resize-handle {\n display: none;\n }\n\n .form-row {\n grid-template-columns: 1fr;\n }\n }\n "] }]
|
|
2264
|
-
}], () => [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i1.TestingDialogService }, { type: i2.TestingInstrumentationService }], null); })();
|
|
2265
|
-
(
|
|
2239
|
+
</ng-template>
|
|
2240
|
+
`, styles: ["\n /* ==========================================\n Testing Explorer Component\n ========================================== */\n\n :host {\n display: block;\n height: 100%;\n width: 100%;\n }\n\n /* Loading */\n .explorer-loading {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n min-height: 400px;\n background: var(--mj-bg-surface-sunken);\n }\n\n /* Layout */\n .explorer-layout {\n display: flex;\n height: 100%;\n background: var(--mj-bg-surface-sunken);\n overflow: hidden;\n }\n\n /* ==========================================\n Sidebar\n ========================================== */\n .sidebar {\n width: 280px;\n min-width: 280px;\n background: var(--mj-bg-surface);\n border-right: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n transition: width 0.2s ease, min-width 0.2s ease;\n }\n\n .sidebar.collapsed {\n width: 48px;\n min-width: 48px;\n }\n\n .sidebar-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .sidebar-header h3 {\n margin: 0;\n font-size: 15px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .sidebar.collapsed .sidebar-header h3 {\n display: none;\n }\n\n .sidebar-toggle {\n width: 28px;\n height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-muted);\n cursor: pointer;\n font-size: 11px;\n transition: all 0.15s ease;\n }\n\n .sidebar-toggle:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .sidebar-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .sidebar-section {\n margin-bottom: 8px;\n }\n\n .sidebar-section-title {\n padding: 8px 16px 4px;\n font-size: 10px;\n font-weight: 700;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.8px;\n }\n\n .sidebar-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n font-size: 13px;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n overflow: hidden;\n }\n\n .sidebar-item:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n }\n\n .sidebar-item.active {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-weight: 600;\n }\n\n .sidebar-item i {\n font-size: 12px;\n width: 16px;\n text-align: center;\n flex-shrink: 0;\n }\n\n .sidebar-item span:not(.sidebar-count) {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .sidebar-count {\n font-size: 11px;\n color: var(--mj-text-disabled);\n font-weight: 500;\n flex-shrink: 0;\n }\n\n .sidebar-item.active .sidebar-count {\n color: var(--mj-brand-primary);\n }\n\n .sidebar-empty {\n padding: 8px 16px;\n font-size: 12px;\n color: var(--mj-text-disabled);\n font-style: italic;\n }\n\n /* Tree nodes */\n .suite-tree-item {\n gap: 6px;\n }\n\n .tree-toggle {\n width: 18px;\n height: 18px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: none;\n color: var(--mj-text-disabled);\n cursor: pointer;\n font-size: 9px;\n flex-shrink: 0;\n border-radius: 4px;\n padding: 0;\n }\n\n .tree-toggle:hover {\n background: var(--mj-border-default);\n color: var(--mj-text-muted);\n }\n\n .tree-name {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n /* ==========================================\n Main Content\n ========================================== */\n .main-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n /* Buttons */\n .btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 9px 16px;\n border: none;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n }\n\n .btn-primary {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .btn-primary:hover {\n background: var(--mj-brand-primary-hover);\n transform: translateY(-1px);\n box-shadow: var(--mj-shadow-md);\n }\n\n .btn-secondary {\n background: var(--mj-bg-surface);\n color: var(--mj-text-muted);\n border: 1px solid var(--mj-border-default);\n }\n\n .btn-secondary:hover {\n background: var(--mj-bg-surface-sunken);\n }\n\n .btn-sm {\n padding: 6px 12px;\n font-size: 12px;\n }\n\n /* Content Area */\n .content-area {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n }\n\n .content-section {\n margin-bottom: 32px;\n }\n\n .section-title {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 16px 0;\n font-size: 16px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .section-title i {\n color: var(--mj-brand-primary);\n font-size: 14px;\n }\n\n .section-count {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n background: var(--mj-bg-surface-sunken);\n padding: 2px 8px;\n border-radius: 10px;\n }\n\n /* Card Grid */\n .card-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));\n gap: 16px;\n }\n\n /* Suite Card */\n .suite-card,\n .test-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n overflow: hidden;\n transition: all 0.2s ease;\n }\n\n .suite-card:hover,\n .test-card:hover {\n border-color: color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n box-shadow: var(--mj-shadow-md);\n }\n\n .card-header {\n padding: 16px 16px 12px;\n }\n\n .card-title-row {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 6px;\n }\n\n .card-icon {\n font-size: 14px;\n flex-shrink: 0;\n }\n\n .suite-icon {\n color: var(--mj-brand-primary);\n }\n\n .test-icon {\n color: var(--mj-brand-primary);\n }\n\n .card-name {\n flex: 1;\n font-size: 14px;\n font-weight: 700;\n color: var(--mj-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .status-badge {\n font-size: 10px;\n font-weight: 700;\n padding: 3px 8px;\n border-radius: 4px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n flex-shrink: 0;\n }\n\n .status-badge[data-status=\"active\"] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n }\n\n .status-badge[data-status=\"pending\"] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n color: var(--mj-status-warning);\n }\n\n .status-badge[data-status=\"disabled\"] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n }\n\n .card-subtitle {\n font-size: 12px;\n color: var(--mj-text-muted);\n margin-bottom: 6px;\n }\n\n .dot-sep {\n display: inline-block;\n width: 3px;\n height: 3px;\n background: var(--mj-text-disabled);\n border-radius: 50%;\n vertical-align: middle;\n margin: 0 6px;\n }\n\n .card-description {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-muted);\n line-height: 1.5;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta-row {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n margin-top: 8px;\n }\n\n .meta-item {\n font-size: 11px;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .meta-item i {\n font-size: 10px;\n color: var(--mj-text-disabled);\n }\n\n .card-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 8px;\n }\n\n .tag {\n font-size: 10px;\n font-weight: 600;\n padding: 2px 8px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n border-radius: 4px;\n }\n\n .tag-more {\n background: var(--mj-border-default);\n color: var(--mj-text-disabled);\n }\n\n /* Card Stats */\n .card-stats {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 1px;\n background: var(--mj-border-default);\n border-top: 1px solid var(--mj-border-default);\n }\n\n .stat {\n background: var(--mj-bg-surface-card);\n padding: 10px 12px;\n text-align: center;\n }\n\n .stat-label {\n display: block;\n font-size: 10px;\n font-weight: 600;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.3px;\n margin-bottom: 2px;\n }\n\n .stat-value {\n font-size: 14px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .stat-value.good { color: var(--mj-status-success); }\n .stat-value.warn { color: var(--mj-status-warning); }\n .stat-value.bad { color: var(--mj-status-error); }\n\n .status-text[data-status=\"passed\"] { color: var(--mj-status-success); }\n .status-text[data-status=\"failed\"] { color: var(--mj-status-error); }\n .status-text[data-status=\"error\"] { color: var(--mj-status-warning); }\n .status-text[data-status=\"running\"] { color: var(--mj-brand-primary); }\n .status-text[data-status=\"pending\"] { color: var(--mj-status-warning); }\n .status-text[data-status=\"skipped\"] { color: var(--mj-text-muted); }\n\n /* Suite Tests Preview */\n .card-tests-preview {\n padding: 10px 16px;\n border-top: 1px solid var(--mj-border-default);\n }\n\n .preview-test-row {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 0;\n font-size: 12px;\n }\n\n .preview-dot {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n flex-shrink: 0;\n }\n\n .preview-dot[data-status=\"passed\"] { background: var(--mj-status-success); }\n .preview-dot[data-status=\"failed\"] { background: var(--mj-status-error); }\n .preview-dot[data-status=\"error\"] { background: var(--mj-status-warning); }\n .preview-dot[data-status=\"running\"] { background: var(--mj-brand-primary); }\n .preview-dot[data-status=\"\"] { background: var(--mj-text-disabled); }\n\n .preview-test-name {\n flex: 1;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .preview-score {\n font-weight: 600;\n font-size: 11px;\n min-width: 32px;\n text-align: right;\n }\n\n .preview-score.good { color: var(--mj-status-success); }\n .preview-score.warn { color: var(--mj-status-warning); }\n .preview-score.bad { color: var(--mj-status-error); }\n\n .preview-bar {\n width: 48px;\n height: 4px;\n background: var(--mj-border-default);\n border-radius: 2px;\n overflow: hidden;\n flex-shrink: 0;\n }\n\n .preview-bar-fill {\n height: 100%;\n border-radius: 2px;\n transition: width 0.3s ease;\n }\n\n .good-bg { background: var(--mj-status-success); }\n .warn-bg { background: var(--mj-status-warning); }\n .bad-bg { background: var(--mj-status-error); }\n\n .preview-status {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n min-width: 44px;\n text-align: right;\n }\n\n .preview-status[data-status=\"passed\"] { color: var(--mj-status-success); }\n .preview-status[data-status=\"failed\"] { color: var(--mj-status-error); }\n .preview-status[data-status=\"error\"] { color: var(--mj-status-warning); }\n .preview-status[data-status=\"\"] { color: var(--mj-text-disabled); }\n\n .preview-more {\n padding: 4px 0 0;\n font-size: 11px;\n color: var(--mj-text-disabled);\n font-style: italic;\n }\n\n /* Card Actions */\n .card-actions {\n display: flex;\n gap: 8px;\n padding: 12px 16px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n }\n\n /* Empty State */\n .empty-state {\n padding: 80px 40px;\n text-align: center;\n }\n\n .empty-state i {\n font-size: 48px;\n color: var(--mj-text-disabled);\n margin-bottom: 16px;\n }\n\n .empty-state p {\n font-size: 16px;\n color: var(--mj-text-muted);\n margin: 0 0 8px 0;\n }\n\n .empty-hint {\n font-size: 13px;\n color: var(--mj-text-disabled);\n }\n\n /* ==========================================\n Slideout Panel\n ========================================== */\n .slideout-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--mj-bg-overlay);\n z-index: 999;\n animation: fadeInBackdrop 0.2s ease;\n }\n\n @keyframes fadeInBackdrop {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .slideout-panel {\n position: fixed;\n top: 0;\n right: -100%;\n height: 100vh;\n background: var(--mj-bg-surface);\n box-shadow: var(--mj-shadow-lg);\n z-index: 1000;\n transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n }\n\n .slideout-panel.open {\n right: 0;\n }\n\n .slideout-resize-handle {\n position: absolute;\n top: 0;\n left: 0;\n width: 5px;\n height: 100%;\n cursor: col-resize;\n background: transparent;\n z-index: 10;\n transition: background 0.2s;\n }\n\n .slideout-resize-handle:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n }\n\n .slideout-resize-handle:active {\n background: color-mix(in srgb, var(--mj-brand-primary) 50%, transparent);\n }\n\n .slideout-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n }\n\n .slideout-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .slideout-title-row {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .slideout-title-icon {\n font-size: 18px;\n color: var(--mj-brand-primary);\n }\n\n .slideout-title-text {\n font-size: 18px;\n font-weight: 700;\n color: var(--mj-text-primary);\n }\n\n .slideout-close-btn {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n color: var(--mj-text-muted);\n cursor: pointer;\n font-size: 14px;\n transition: all 0.15s ease;\n }\n\n .slideout-close-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n }\n\n /* Type Toggle */\n .slideout-type-toggle {\n display: flex;\n gap: 0;\n padding: 16px 24px;\n border-bottom: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n }\n\n .type-toggle-btn {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 10px 16px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-muted);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .type-toggle-btn:first-child {\n border-radius: 8px 0 0 8px;\n border-right: none;\n }\n\n .type-toggle-btn:last-child {\n border-radius: 0 8px 8px 0;\n }\n\n .type-toggle-btn.active {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n\n .type-toggle-btn:hover:not(.active) {\n background: var(--mj-border-default);\n }\n\n /* Error Banner */\n .slideout-error {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 16px 24px 0;\n padding: 12px 16px;\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-bg-surface));\n border-radius: 8px;\n color: var(--mj-status-error);\n font-size: 13px;\n flex-shrink: 0;\n }\n\n .slideout-error i {\n font-size: 14px;\n flex-shrink: 0;\n }\n\n /* Slideout Body */\n .slideout-body {\n flex: 1;\n overflow-y: auto;\n padding: 20px 24px;\n }\n\n .form-section {\n margin-bottom: 24px;\n }\n\n .form-section-title {\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.8px;\n margin-bottom: 14px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .form-group {\n margin-bottom: 16px;\n }\n\n .form-label {\n display: block;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 6px;\n }\n\n .form-required {\n color: var(--mj-status-error);\n }\n\n .form-input,\n .form-textarea {\n width: 100%;\n padding: 10px 14px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n font-size: 13px;\n color: var(--mj-text-primary);\n transition: border-color 0.2s ease;\n outline: none;\n box-sizing: border-box;\n font-family: inherit;\n }\n\n .form-input:focus,\n .form-textarea:focus {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n }\n\n .form-input::placeholder,\n .form-textarea::placeholder {\n color: var(--mj-text-disabled);\n }\n\n .form-textarea {\n resize: vertical;\n min-height: 80px;\n }\n\n .form-row {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n }\n\n .form-hint {\n display: block;\n font-size: 11px;\n color: var(--mj-text-disabled);\n margin-top: 4px;\n }\n\n /* Slideout Footer */\n .slideout-footer {\n display: flex;\n justify-content: flex-end;\n gap: 10px;\n padding: 16px 24px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n }\n\n .slideout-footer .btn {\n min-width: 100px;\n justify-content: center;\n }\n\n .slideout-footer .btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n transform: none;\n box-shadow: none;\n }\n\n /* Search Highlight */\n ::ng-deep mark.search-highlight {\n background: color-mix(in srgb, var(--mj-status-warning) 20%, var(--mj-bg-surface));\n color: inherit;\n padding: 1px 2px;\n border-radius: 2px;\n font-weight: 700;\n }\n\n /* ==========================================\n Responsive\n ========================================== */\n @media (max-width: 1200px) {\n .card-grid {\n grid-template-columns: 1fr;\n }\n }\n\n @media (max-width: 900px) {\n .sidebar {\n display: none;\n }\n }\n\n @media (max-width: 600px) {\n .content-area {\n padding: 16px;\n }\n\n .card-stats {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .slideout-panel {\n width: 100% !important;\n }\n\n .slideout-resize-handle {\n display: none;\n }\n\n .form-row {\n grid-template-columns: 1fr;\n }\n }\n "] }]
|
|
2241
|
+
}], () => [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i1.TestingDialogService }, { type: i2.TestingInstrumentationService }], { HideToolbar: [{
|
|
2242
|
+
type: Input
|
|
2243
|
+
}] }); })();
|
|
2244
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TestingExplorerComponent, { className: "TestingExplorerComponent", filePath: "src/Testing/components/testing-explorer.component.ts", lineNumber: 1552 }); })();
|
|
2266
2245
|
//# sourceMappingURL=testing-explorer.component.js.map
|