@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
|
@@ -14,12 +14,13 @@ import { UserInfoEngine } from '@memberjunction/core-entities';
|
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
import * as i1 from "@angular/common";
|
|
16
16
|
import * as i2 from "@angular/forms";
|
|
17
|
-
import * as i3 from "@memberjunction/ng-
|
|
18
|
-
|
|
17
|
+
import * as i3 from "@memberjunction/ng-ui-components";
|
|
18
|
+
import * as i4 from "@memberjunction/ng-shared-generic";
|
|
19
|
+
function VersionHistoryDiffResourceComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
19
20
|
i0.ɵɵelement(0, "mj-loading", 1);
|
|
20
21
|
} }
|
|
21
|
-
function
|
|
22
|
-
i0.ɵɵelementStart(0, "option",
|
|
22
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_For_16_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
i0.ɵɵelementStart(0, "option", 12);
|
|
23
24
|
i0.ɵɵtext(1);
|
|
24
25
|
i0.ɵɵelementEnd();
|
|
25
26
|
} if (rf & 2) {
|
|
@@ -29,22 +30,22 @@ function VersionHistoryDiffResourceComponent_Conditional_2_For_22_Template(rf, c
|
|
|
29
30
|
i0.ɵɵadvance();
|
|
30
31
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.FormatLabelOption(label_r3), " ");
|
|
31
32
|
} }
|
|
32
|
-
function
|
|
33
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
33
34
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
34
|
-
i0.ɵɵelementStart(0, "div",
|
|
35
|
-
i0.ɵɵlistener("click", function
|
|
36
|
-
i0.ɵɵelement(2, "i",
|
|
35
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "button", 18);
|
|
36
|
+
i0.ɵɵlistener("click", function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_17_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.SwapLabels()); });
|
|
37
|
+
i0.ɵɵelement(2, "i", 19);
|
|
37
38
|
i0.ɵɵelementEnd()();
|
|
38
39
|
} }
|
|
39
|
-
function
|
|
40
|
-
i0.ɵɵelementStart(0, "div",
|
|
41
|
-
i0.ɵɵelement(1, "i",
|
|
42
|
-
i0.ɵɵelementStart(2, "span",
|
|
40
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
+
i0.ɵɵelementStart(0, "div", 13);
|
|
42
|
+
i0.ɵɵelement(1, "i", 20);
|
|
43
|
+
i0.ɵɵelementStart(2, "span", 21);
|
|
43
44
|
i0.ɵɵtext(3, "Current State");
|
|
44
45
|
i0.ɵɵelementEnd()();
|
|
45
46
|
} }
|
|
46
|
-
function
|
|
47
|
-
i0.ɵɵelementStart(0, "option",
|
|
47
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_19_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
48
|
+
i0.ɵɵelementStart(0, "option", 12);
|
|
48
49
|
i0.ɵɵtext(1);
|
|
49
50
|
i0.ɵɵelementEnd();
|
|
50
51
|
} if (rf & 2) {
|
|
@@ -54,17 +55,17 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Conditional_25_For_7_
|
|
|
54
55
|
i0.ɵɵadvance();
|
|
55
56
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.FormatLabelOption(label_r6), " ");
|
|
56
57
|
} }
|
|
57
|
-
function
|
|
58
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
58
59
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
59
|
-
i0.ɵɵelementStart(0, "div",
|
|
60
|
+
i0.ɵɵelementStart(0, "div", 8)(1, "label", 9);
|
|
60
61
|
i0.ɵɵtext(2, "To label");
|
|
61
62
|
i0.ɵɵelementEnd();
|
|
62
|
-
i0.ɵɵelementStart(3, "select",
|
|
63
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
64
|
-
i0.ɵɵelementStart(4, "option",
|
|
63
|
+
i0.ɵɵelementStart(3, "select", 10);
|
|
64
|
+
i0.ɵɵtwoWayListener("ngModelChange", function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_19_Template_select_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.ToLabelId, $event) || (ctx_r1.ToLabelId = $event); return i0.ɵɵresetView($event); });
|
|
65
|
+
i0.ɵɵelementStart(4, "option", 11);
|
|
65
66
|
i0.ɵɵtext(5, "Select a label...");
|
|
66
67
|
i0.ɵɵelementEnd();
|
|
67
|
-
i0.ɵɵrepeaterCreate(6,
|
|
68
|
+
i0.ɵɵrepeaterCreate(6, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_19_For_7_Template, 2, 2, "option", 12, i0.ɵɵrepeaterTrackByIdentity);
|
|
68
69
|
i0.ɵɵelementEnd()();
|
|
69
70
|
} if (rf & 2) {
|
|
70
71
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -73,50 +74,50 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Conditional_25_Templa
|
|
|
73
74
|
i0.ɵɵadvance(3);
|
|
74
75
|
i0.ɵɵrepeater(ctx_r1.FilteredToLabels);
|
|
75
76
|
} }
|
|
76
|
-
function
|
|
77
|
-
i0.ɵɵelement(0, "i",
|
|
77
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
78
|
+
i0.ɵɵelement(0, "i", 15);
|
|
78
79
|
} }
|
|
79
|
-
function
|
|
80
|
-
i0.ɵɵelement(0, "i",
|
|
80
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
81
|
+
i0.ɵɵelement(0, "i", 16);
|
|
81
82
|
} }
|
|
82
|
-
function
|
|
83
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
83
84
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
84
|
-
i0.ɵɵelementStart(0, "div",
|
|
85
|
-
i0.ɵɵelement(2, "i",
|
|
86
|
-
i0.ɵɵelementStart(3, "input",
|
|
87
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
85
|
+
i0.ɵɵelementStart(0, "div", 33)(1, "div", 35);
|
|
86
|
+
i0.ɵɵelement(2, "i", 36);
|
|
87
|
+
i0.ɵɵelementStart(3, "input", 37);
|
|
88
|
+
i0.ɵɵlistener("ngModelChange", function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_25_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnDiffSearchChange($event)); });
|
|
88
89
|
i0.ɵɵelementEnd()();
|
|
89
|
-
i0.ɵɵelementStart(4, "div",
|
|
90
|
-
i0.ɵɵlistener("click", function
|
|
90
|
+
i0.ɵɵelementStart(4, "div", 38)(5, "button", 39);
|
|
91
|
+
i0.ɵɵlistener("click", function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_25_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnDiffFilterChange("all")); });
|
|
91
92
|
i0.ɵɵtext(6, "All");
|
|
92
93
|
i0.ɵɵelementEnd();
|
|
93
|
-
i0.ɵɵelementStart(7, "button",
|
|
94
|
-
i0.ɵɵlistener("click", function
|
|
94
|
+
i0.ɵɵelementStart(7, "button", 40);
|
|
95
|
+
i0.ɵɵlistener("click", function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_25_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnDiffFilterChange("added")); });
|
|
95
96
|
i0.ɵɵtext(8, "Added");
|
|
96
97
|
i0.ɵɵelementEnd();
|
|
97
|
-
i0.ɵɵelementStart(9, "button",
|
|
98
|
-
i0.ɵɵlistener("click", function
|
|
98
|
+
i0.ɵɵelementStart(9, "button", 41);
|
|
99
|
+
i0.ɵɵlistener("click", function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_25_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnDiffFilterChange("removed")); });
|
|
99
100
|
i0.ɵɵtext(10, "Removed");
|
|
100
101
|
i0.ɵɵelementEnd();
|
|
101
|
-
i0.ɵɵelementStart(11, "button",
|
|
102
|
-
i0.ɵɵlistener("click", function
|
|
102
|
+
i0.ɵɵelementStart(11, "button", 42);
|
|
103
|
+
i0.ɵɵlistener("click", function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_25_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnDiffFilterChange("modified")); });
|
|
103
104
|
i0.ɵɵtext(12, "Modified");
|
|
104
105
|
i0.ɵɵelementEnd()();
|
|
105
|
-
i0.ɵɵelementStart(13, "div",
|
|
106
|
-
i0.ɵɵlistener("click", function
|
|
107
|
-
i0.ɵɵelement(15, "i",
|
|
106
|
+
i0.ɵɵelementStart(13, "div", 43)(14, "button", 44);
|
|
107
|
+
i0.ɵɵlistener("click", function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_25_Template_button_click_14_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.ExpandAllGroups()); });
|
|
108
|
+
i0.ɵɵelement(15, "i", 45);
|
|
108
109
|
i0.ɵɵelementEnd();
|
|
109
|
-
i0.ɵɵelementStart(16, "button",
|
|
110
|
-
i0.ɵɵlistener("click", function
|
|
111
|
-
i0.ɵɵelement(17, "i",
|
|
110
|
+
i0.ɵɵelementStart(16, "button", 46);
|
|
111
|
+
i0.ɵɵlistener("click", function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_25_Template_button_click_16_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.CollapseAllGroups()); });
|
|
112
|
+
i0.ɵɵelement(17, "i", 47);
|
|
112
113
|
i0.ɵɵelementEnd();
|
|
113
|
-
i0.ɵɵelementStart(18, "div",
|
|
114
|
-
i0.ɵɵlistener("click", function
|
|
115
|
-
i0.ɵɵelement(20, "i",
|
|
114
|
+
i0.ɵɵelementStart(18, "div", 48)(19, "button", 49);
|
|
115
|
+
i0.ɵɵlistener("click", function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_25_Template_button_click_19_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnDiffSortChange("name")); });
|
|
116
|
+
i0.ɵɵelement(20, "i", 50);
|
|
116
117
|
i0.ɵɵelementEnd();
|
|
117
|
-
i0.ɵɵelementStart(21, "button",
|
|
118
|
-
i0.ɵɵlistener("click", function
|
|
119
|
-
i0.ɵɵelement(22, "i",
|
|
118
|
+
i0.ɵɵelementStart(21, "button", 51);
|
|
119
|
+
i0.ɵɵlistener("click", function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_25_Template_button_click_21_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnDiffSortChange("count")); });
|
|
120
|
+
i0.ɵɵelement(22, "i", 50);
|
|
120
121
|
i0.ɵɵelementEnd()()()();
|
|
121
122
|
} if (rf & 2) {
|
|
122
123
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
@@ -139,8 +140,8 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Conditional_31_Condit
|
|
|
139
140
|
i0.ɵɵadvance();
|
|
140
141
|
i0.ɵɵproperty("ngClass", ctx_r1.DiffSortBy === "count" && ctx_r1.DiffSortDir === "asc" ? "fa-arrow-up-1-9" : "fa-arrow-down-9-1");
|
|
141
142
|
} }
|
|
142
|
-
function
|
|
143
|
-
i0.ɵɵelementStart(0, "span",
|
|
143
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
144
|
+
i0.ɵɵelementStart(0, "span", 59);
|
|
144
145
|
i0.ɵɵtext(1);
|
|
145
146
|
i0.ɵɵelementEnd();
|
|
146
147
|
} if (rf & 2) {
|
|
@@ -148,8 +149,8 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Conditional_31_Condit
|
|
|
148
149
|
i0.ɵɵadvance();
|
|
149
150
|
i0.ɵɵtextInterpolate1(" +", group_r9.AddedCount, " ");
|
|
150
151
|
} }
|
|
151
|
-
function
|
|
152
|
-
i0.ɵɵelementStart(0, "span",
|
|
152
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
153
|
+
i0.ɵɵelementStart(0, "span", 60);
|
|
153
154
|
i0.ɵɵtext(1);
|
|
154
155
|
i0.ɵɵelementEnd();
|
|
155
156
|
} if (rf & 2) {
|
|
@@ -157,8 +158,8 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Conditional_31_Condit
|
|
|
157
158
|
i0.ɵɵadvance();
|
|
158
159
|
i0.ɵɵtextInterpolate1(" -", group_r9.RemovedCount, " ");
|
|
159
160
|
} }
|
|
160
|
-
function
|
|
161
|
-
i0.ɵɵelementStart(0, "span",
|
|
161
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
162
|
+
i0.ɵɵelementStart(0, "span", 61);
|
|
162
163
|
i0.ɵɵtext(1);
|
|
163
164
|
i0.ɵɵelementEnd();
|
|
164
165
|
} if (rf & 2) {
|
|
@@ -166,8 +167,8 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Conditional_31_Condit
|
|
|
166
167
|
i0.ɵɵadvance();
|
|
167
168
|
i0.ɵɵtextInterpolate1(" ~", group_r9.ModifiedCount, " ");
|
|
168
169
|
} }
|
|
169
|
-
function
|
|
170
|
-
i0.ɵɵelementStart(0, "span",
|
|
170
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
171
|
+
i0.ɵɵelementStart(0, "span", 67);
|
|
171
172
|
i0.ɵɵtext(1);
|
|
172
173
|
i0.ɵɵelementEnd();
|
|
173
174
|
} if (rf & 2) {
|
|
@@ -175,17 +176,17 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Conditional_31_Condit
|
|
|
175
176
|
i0.ɵɵadvance();
|
|
176
177
|
i0.ɵɵtextInterpolate1(" (", item_r11.DisplayName, ")");
|
|
177
178
|
} }
|
|
178
|
-
function
|
|
179
|
-
i0.ɵɵelement(0, "i",
|
|
179
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
180
|
+
i0.ɵɵelement(0, "i", 73);
|
|
180
181
|
} if (rf & 2) {
|
|
181
182
|
const item_r11 = i0.ɵɵnextContext().$implicit;
|
|
182
183
|
i0.ɵɵclassProp("expanded", item_r11.IsExpanded);
|
|
183
184
|
} }
|
|
184
|
-
function
|
|
185
|
-
i0.ɵɵelement(0, "mj-loading",
|
|
185
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_11_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
186
|
+
i0.ɵɵelement(0, "mj-loading", 74);
|
|
186
187
|
} }
|
|
187
|
-
function
|
|
188
|
-
i0.ɵɵelementStart(0, "span",
|
|
188
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_11_Conditional_2_For_1_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
189
|
+
i0.ɵɵelementStart(0, "span", 79);
|
|
189
190
|
i0.ɵɵtext(1);
|
|
190
191
|
i0.ɵɵpipe(2, "slice");
|
|
191
192
|
i0.ɵɵelementEnd();
|
|
@@ -194,11 +195,11 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Conditional_31_Condit
|
|
|
194
195
|
i0.ɵɵadvance();
|
|
195
196
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind3(2, 1, field_r12.OldValue, 0, 60));
|
|
196
197
|
} }
|
|
197
|
-
function
|
|
198
|
-
i0.ɵɵelement(0, "i",
|
|
198
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_11_Conditional_2_For_1_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
199
|
+
i0.ɵɵelement(0, "i", 80);
|
|
199
200
|
} }
|
|
200
|
-
function
|
|
201
|
-
i0.ɵɵelementStart(0, "span",
|
|
201
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_11_Conditional_2_For_1_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
202
|
+
i0.ɵɵelementStart(0, "span", 81);
|
|
202
203
|
i0.ɵɵtext(1);
|
|
203
204
|
i0.ɵɵpipe(2, "slice");
|
|
204
205
|
i0.ɵɵelementEnd();
|
|
@@ -207,14 +208,14 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Conditional_31_Condit
|
|
|
207
208
|
i0.ɵɵadvance();
|
|
208
209
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind3(2, 1, field_r12.NewValue, 0, 60));
|
|
209
210
|
} }
|
|
210
|
-
function
|
|
211
|
-
i0.ɵɵelementStart(0, "div",
|
|
211
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_11_Conditional_2_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
212
|
+
i0.ɵɵelementStart(0, "div", 76)(1, "span", 77);
|
|
212
213
|
i0.ɵɵtext(2);
|
|
213
214
|
i0.ɵɵelementEnd();
|
|
214
|
-
i0.ɵɵelementStart(3, "span",
|
|
215
|
-
i0.ɵɵconditionalCreate(4,
|
|
216
|
-
i0.ɵɵconditionalCreate(5,
|
|
217
|
-
i0.ɵɵconditionalCreate(6,
|
|
215
|
+
i0.ɵɵelementStart(3, "span", 78);
|
|
216
|
+
i0.ɵɵconditionalCreate(4, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_11_Conditional_2_For_1_Conditional_4_Template, 3, 5, "span", 79);
|
|
217
|
+
i0.ɵɵconditionalCreate(5, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_11_Conditional_2_For_1_Conditional_5_Template, 1, 0, "i", 80);
|
|
218
|
+
i0.ɵɵconditionalCreate(6, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_11_Conditional_2_For_1_Conditional_6_Template, 3, 5, "span", 81);
|
|
218
219
|
i0.ɵɵelementEnd()();
|
|
219
220
|
} if (rf & 2) {
|
|
220
221
|
const field_r12 = ctx.$implicit;
|
|
@@ -229,22 +230,22 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Conditional_31_Condit
|
|
|
229
230
|
i0.ɵɵadvance();
|
|
230
231
|
i0.ɵɵconditional(field_r12.NewValue ? 6 : -1);
|
|
231
232
|
} }
|
|
232
|
-
function
|
|
233
|
-
i0.ɵɵrepeaterCreate(0,
|
|
233
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_11_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
234
|
+
i0.ɵɵrepeaterCreate(0, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_11_Conditional_2_For_1_Template, 7, 5, "div", 76, i0.ɵɵrepeaterTrackByIdentity);
|
|
234
235
|
} if (rf & 2) {
|
|
235
236
|
const item_r11 = i0.ɵɵnextContext(2).$implicit;
|
|
236
237
|
i0.ɵɵrepeater(item_r11.FieldChanges);
|
|
237
238
|
} }
|
|
238
|
-
function
|
|
239
|
-
i0.ɵɵelementStart(0, "div",
|
|
239
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_11_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
240
|
+
i0.ɵɵelementStart(0, "div", 75)(1, "span");
|
|
240
241
|
i0.ɵɵtext(2, "No field-level changes available");
|
|
241
242
|
i0.ɵɵelementEnd()();
|
|
242
243
|
} }
|
|
243
|
-
function
|
|
244
|
-
i0.ɵɵelementStart(0, "div",
|
|
245
|
-
i0.ɵɵconditionalCreate(1,
|
|
246
|
-
i0.ɵɵconditionalCreate(2,
|
|
247
|
-
i0.ɵɵconditionalCreate(3,
|
|
244
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
245
|
+
i0.ɵɵelementStart(0, "div", 72);
|
|
246
|
+
i0.ɵɵconditionalCreate(1, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_11_Conditional_1_Template, 1, 0, "mj-loading", 74);
|
|
247
|
+
i0.ɵɵconditionalCreate(2, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_11_Conditional_2_Template, 2, 0);
|
|
248
|
+
i0.ɵɵconditionalCreate(3, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_11_Conditional_3_Template, 3, 0, "div", 75);
|
|
248
249
|
i0.ɵɵelementEnd();
|
|
249
250
|
} if (rf & 2) {
|
|
250
251
|
const item_r11 = i0.ɵɵnextContext().$implicit;
|
|
@@ -255,25 +256,25 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Conditional_31_Condit
|
|
|
255
256
|
i0.ɵɵadvance();
|
|
256
257
|
i0.ɵɵconditional(!item_r11.IsLoadingFields && item_r11.FieldsLoaded && item_r11.FieldChanges.length === 0 ? 3 : -1);
|
|
257
258
|
} }
|
|
258
|
-
function
|
|
259
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
259
260
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
260
|
-
i0.ɵɵelementStart(0, "div",
|
|
261
|
-
i0.ɵɵlistener("click", function
|
|
262
|
-
i0.ɵɵelement(2, "i",
|
|
263
|
-
i0.ɵɵelementStart(3, "span",
|
|
261
|
+
i0.ɵɵelementStart(0, "div", 63)(1, "div", 64);
|
|
262
|
+
i0.ɵɵlistener("click", function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Template_div_click_1_listener() { const item_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r1 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r1.ToggleItem(item_r11)); });
|
|
263
|
+
i0.ɵɵelement(2, "i", 65);
|
|
264
|
+
i0.ɵɵelementStart(3, "span", 66);
|
|
264
265
|
i0.ɵɵtext(4);
|
|
265
|
-
i0.ɵɵconditionalCreate(5,
|
|
266
|
+
i0.ɵɵconditionalCreate(5, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_5_Template, 2, 1, "span", 67);
|
|
266
267
|
i0.ɵɵelementEnd();
|
|
267
|
-
i0.ɵɵelementStart(6, "span",
|
|
268
|
+
i0.ɵɵelementStart(6, "span", 68);
|
|
268
269
|
i0.ɵɵtext(7);
|
|
269
270
|
i0.ɵɵelementEnd();
|
|
270
|
-
i0.ɵɵelementStart(8, "button",
|
|
271
|
-
i0.ɵɵlistener("click", function
|
|
272
|
-
i0.ɵɵelement(9, "i",
|
|
271
|
+
i0.ɵɵelementStart(8, "button", 69);
|
|
272
|
+
i0.ɵɵlistener("click", function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Template_button_click_8_listener($event) { const item_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r1 = i0.ɵɵnextContext(6); ctx_r1.OnOpenRecord(item_r11); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
273
|
+
i0.ɵɵelement(9, "i", 70);
|
|
273
274
|
i0.ɵɵelementEnd();
|
|
274
|
-
i0.ɵɵconditionalCreate(10,
|
|
275
|
+
i0.ɵɵconditionalCreate(10, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_10_Template, 1, 2, "i", 71);
|
|
275
276
|
i0.ɵɵelementEnd();
|
|
276
|
-
i0.ɵɵconditionalCreate(11,
|
|
277
|
+
i0.ɵɵconditionalCreate(11, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Conditional_11_Template, 4, 3, "div", 72);
|
|
277
278
|
i0.ɵɵelementEnd();
|
|
278
279
|
} if (rf & 2) {
|
|
279
280
|
const item_r11 = ctx.$implicit;
|
|
@@ -294,30 +295,30 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Conditional_31_Condit
|
|
|
294
295
|
i0.ɵɵadvance();
|
|
295
296
|
i0.ɵɵconditional(item_r11.IsExpanded && item_r11.ChangeType === "Modified" ? 11 : -1);
|
|
296
297
|
} }
|
|
297
|
-
function
|
|
298
|
-
i0.ɵɵelementStart(0, "div",
|
|
299
|
-
i0.ɵɵrepeaterCreate(1,
|
|
298
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
299
|
+
i0.ɵɵelementStart(0, "div", 62);
|
|
300
|
+
i0.ɵɵrepeaterCreate(1, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_For_2_Template, 12, 10, "div", 63, i0.ɵɵrepeaterTrackByIdentity);
|
|
300
301
|
i0.ɵɵelementEnd();
|
|
301
302
|
} if (rf & 2) {
|
|
302
303
|
const group_r9 = i0.ɵɵnextContext().$implicit;
|
|
303
304
|
i0.ɵɵadvance();
|
|
304
305
|
i0.ɵɵrepeater(group_r9.Items);
|
|
305
306
|
} }
|
|
306
|
-
function
|
|
307
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
307
308
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
308
|
-
i0.ɵɵelementStart(0, "div",
|
|
309
|
-
i0.ɵɵlistener("click", function
|
|
310
|
-
i0.ɵɵelementStart(2, "div",
|
|
311
|
-
i0.ɵɵelement(3, "i",
|
|
312
|
-
i0.ɵɵelementStart(5, "span",
|
|
309
|
+
i0.ɵɵelementStart(0, "div", 52)(1, "div", 53);
|
|
310
|
+
i0.ɵɵlistener("click", function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Template_div_click_1_listener() { const group_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.ToggleEntityGroup(group_r9)); });
|
|
311
|
+
i0.ɵɵelementStart(2, "div", 54);
|
|
312
|
+
i0.ɵɵelement(3, "i", 55)(4, "i", 56);
|
|
313
|
+
i0.ɵɵelementStart(5, "span", 57);
|
|
313
314
|
i0.ɵɵtext(6);
|
|
314
315
|
i0.ɵɵelementEnd()();
|
|
315
|
-
i0.ɵɵelementStart(7, "div",
|
|
316
|
-
i0.ɵɵconditionalCreate(8,
|
|
317
|
-
i0.ɵɵconditionalCreate(9,
|
|
318
|
-
i0.ɵɵconditionalCreate(10,
|
|
316
|
+
i0.ɵɵelementStart(7, "div", 58);
|
|
317
|
+
i0.ɵɵconditionalCreate(8, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_8_Template, 2, 1, "span", 59);
|
|
318
|
+
i0.ɵɵconditionalCreate(9, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_9_Template, 2, 1, "span", 60);
|
|
319
|
+
i0.ɵɵconditionalCreate(10, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_10_Template, 2, 1, "span", 61);
|
|
319
320
|
i0.ɵɵelementEnd()();
|
|
320
|
-
i0.ɵɵconditionalCreate(11,
|
|
321
|
+
i0.ɵɵconditionalCreate(11, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Conditional_11_Template, 3, 0, "div", 62);
|
|
321
322
|
i0.ɵɵelementEnd();
|
|
322
323
|
} if (rf & 2) {
|
|
323
324
|
const group_r9 = ctx.$implicit;
|
|
@@ -336,18 +337,18 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Conditional_31_Condit
|
|
|
336
337
|
i0.ɵɵadvance();
|
|
337
338
|
i0.ɵɵconditional(group_r9.IsExpanded ? 11 : -1);
|
|
338
339
|
} }
|
|
339
|
-
function
|
|
340
|
-
i0.ɵɵelementStart(0, "div",
|
|
341
|
-
i0.ɵɵrepeaterCreate(1,
|
|
340
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
341
|
+
i0.ɵɵelementStart(0, "div", 34);
|
|
342
|
+
i0.ɵɵrepeaterCreate(1, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_For_2_Template, 12, 9, "div", 52, i0.ɵɵrepeaterTrackByIdentity);
|
|
342
343
|
i0.ɵɵelementEnd();
|
|
343
344
|
} if (rf & 2) {
|
|
344
345
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
345
346
|
i0.ɵɵadvance();
|
|
346
347
|
i0.ɵɵrepeater(ctx_r1.FilteredEntityGroups);
|
|
347
348
|
} }
|
|
348
|
-
function
|
|
349
|
-
i0.ɵɵelementStart(0, "div",
|
|
350
|
-
i0.ɵɵelement(1, "i",
|
|
349
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
350
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
351
|
+
i0.ɵɵelement(1, "i", 82);
|
|
351
352
|
i0.ɵɵelementStart(2, "h3");
|
|
352
353
|
i0.ɵɵtext(3, "No differences found");
|
|
353
354
|
i0.ɵɵelementEnd();
|
|
@@ -355,42 +356,42 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Conditional_31_Condit
|
|
|
355
356
|
i0.ɵɵtext(5, "The compared states are identical.");
|
|
356
357
|
i0.ɵɵelementEnd()();
|
|
357
358
|
} }
|
|
358
|
-
function
|
|
359
|
-
i0.ɵɵelementStart(0, "div",
|
|
360
|
-
i0.ɵɵelement(2, "i",
|
|
361
|
-
i0.ɵɵelementStart(3, "span",
|
|
359
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
360
|
+
i0.ɵɵelementStart(0, "div", 22)(1, "div", 23);
|
|
361
|
+
i0.ɵɵelement(2, "i", 24);
|
|
362
|
+
i0.ɵɵelementStart(3, "span", 25);
|
|
362
363
|
i0.ɵɵtext(4);
|
|
363
364
|
i0.ɵɵelementEnd();
|
|
364
|
-
i0.ɵɵelementStart(5, "span",
|
|
365
|
+
i0.ɵɵelementStart(5, "span", 26);
|
|
365
366
|
i0.ɵɵtext(6, "Added");
|
|
366
367
|
i0.ɵɵelementEnd()();
|
|
367
|
-
i0.ɵɵelementStart(7, "div",
|
|
368
|
-
i0.ɵɵelement(8, "i",
|
|
369
|
-
i0.ɵɵelementStart(9, "span",
|
|
368
|
+
i0.ɵɵelementStart(7, "div", 27);
|
|
369
|
+
i0.ɵɵelement(8, "i", 28);
|
|
370
|
+
i0.ɵɵelementStart(9, "span", 25);
|
|
370
371
|
i0.ɵɵtext(10);
|
|
371
372
|
i0.ɵɵelementEnd();
|
|
372
|
-
i0.ɵɵelementStart(11, "span",
|
|
373
|
+
i0.ɵɵelementStart(11, "span", 26);
|
|
373
374
|
i0.ɵɵtext(12, "Removed");
|
|
374
375
|
i0.ɵɵelementEnd()();
|
|
375
|
-
i0.ɵɵelementStart(13, "div",
|
|
376
|
-
i0.ɵɵelement(14, "i",
|
|
377
|
-
i0.ɵɵelementStart(15, "span",
|
|
376
|
+
i0.ɵɵelementStart(13, "div", 29);
|
|
377
|
+
i0.ɵɵelement(14, "i", 30);
|
|
378
|
+
i0.ɵɵelementStart(15, "span", 25);
|
|
378
379
|
i0.ɵɵtext(16);
|
|
379
380
|
i0.ɵɵelementEnd();
|
|
380
|
-
i0.ɵɵelementStart(17, "span",
|
|
381
|
+
i0.ɵɵelementStart(17, "span", 26);
|
|
381
382
|
i0.ɵɵtext(18, "Modified");
|
|
382
383
|
i0.ɵɵelementEnd()();
|
|
383
|
-
i0.ɵɵelementStart(19, "div",
|
|
384
|
-
i0.ɵɵelement(20, "i",
|
|
385
|
-
i0.ɵɵelementStart(21, "span",
|
|
384
|
+
i0.ɵɵelementStart(19, "div", 31);
|
|
385
|
+
i0.ɵɵelement(20, "i", 32);
|
|
386
|
+
i0.ɵɵelementStart(21, "span", 25);
|
|
386
387
|
i0.ɵɵtext(22);
|
|
387
388
|
i0.ɵɵelementEnd();
|
|
388
|
-
i0.ɵɵelementStart(23, "span",
|
|
389
|
+
i0.ɵɵelementStart(23, "span", 26);
|
|
389
390
|
i0.ɵɵtext(24, "Unchanged");
|
|
390
391
|
i0.ɵɵelementEnd()()();
|
|
391
|
-
i0.ɵɵconditionalCreate(25,
|
|
392
|
-
i0.ɵɵconditionalCreate(26,
|
|
393
|
-
i0.ɵɵconditionalCreate(27,
|
|
392
|
+
i0.ɵɵconditionalCreate(25, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_25_Template, 23, 15, "div", 33);
|
|
393
|
+
i0.ɵɵconditionalCreate(26, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_26_Template, 3, 0, "div", 34);
|
|
394
|
+
i0.ɵɵconditionalCreate(27, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Conditional_27_Template, 6, 0, "div", 17);
|
|
394
395
|
} if (rf & 2) {
|
|
395
396
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
396
397
|
i0.ɵɵadvance(4);
|
|
@@ -408,9 +409,9 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Conditional_31_Templa
|
|
|
408
409
|
i0.ɵɵadvance();
|
|
409
410
|
i0.ɵɵconditional(ctx_r1.FilteredEntityGroups.length === 0 && ctx_r1.TotalChanges === 0 ? 27 : -1);
|
|
410
411
|
} }
|
|
411
|
-
function
|
|
412
|
-
i0.ɵɵelementStart(0, "div",
|
|
413
|
-
i0.ɵɵelement(1, "i",
|
|
412
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
413
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
414
|
+
i0.ɵɵelement(1, "i", 83);
|
|
414
415
|
i0.ɵɵelementStart(2, "h3");
|
|
415
416
|
i0.ɵɵtext(3, "Select labels to compare");
|
|
416
417
|
i0.ɵɵelementEnd();
|
|
@@ -418,50 +419,44 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Conditional_32_Templa
|
|
|
418
419
|
i0.ɵɵtext(5, "Choose a diff mode and select labels above, then click Compare.");
|
|
419
420
|
i0.ɵɵelementEnd()();
|
|
420
421
|
} }
|
|
421
|
-
function
|
|
422
|
+
function VersionHistoryDiffResourceComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
422
423
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
423
|
-
i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "
|
|
424
|
-
i0.ɵɵ
|
|
425
|
-
i0.ɵɵ
|
|
426
|
-
i0.ɵɵ
|
|
427
|
-
i0.ɵɵtext(5, "Compare states between version labels or against current data");
|
|
428
|
-
i0.ɵɵelementEnd()()();
|
|
429
|
-
i0.ɵɵelementStart(6, "div", 6)(7, "div", 7)(8, "button", 8);
|
|
430
|
-
i0.ɵɵlistener("click", function VersionHistoryDiffResourceComponent_Conditional_2_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnDiffModeChange("label-to-current")); });
|
|
431
|
-
i0.ɵɵelement(9, "i", 9);
|
|
432
|
-
i0.ɵɵtext(10, " Label vs Current ");
|
|
424
|
+
i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "button", 4);
|
|
425
|
+
i0.ɵɵlistener("click", function VersionHistoryDiffResourceComponent_Conditional_4_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnDiffModeChange("label-to-current")); });
|
|
426
|
+
i0.ɵɵelement(3, "i", 5);
|
|
427
|
+
i0.ɵɵtext(4, " Label vs Current ");
|
|
433
428
|
i0.ɵɵelementEnd();
|
|
434
|
-
i0.ɵɵelementStart(
|
|
435
|
-
i0.ɵɵlistener("click", function
|
|
436
|
-
i0.ɵɵelement(
|
|
437
|
-
i0.ɵɵtext(
|
|
429
|
+
i0.ɵɵelementStart(5, "button", 4);
|
|
430
|
+
i0.ɵɵlistener("click", function VersionHistoryDiffResourceComponent_Conditional_4_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnDiffModeChange("label-to-label")); });
|
|
431
|
+
i0.ɵɵelement(6, "i", 6);
|
|
432
|
+
i0.ɵɵtext(7, " Label vs Label ");
|
|
438
433
|
i0.ɵɵelementEnd()();
|
|
439
|
-
i0.ɵɵelementStart(
|
|
440
|
-
i0.ɵɵtext(
|
|
434
|
+
i0.ɵɵelementStart(8, "div", 7)(9, "div", 8)(10, "label", 9);
|
|
435
|
+
i0.ɵɵtext(11);
|
|
441
436
|
i0.ɵɵelementEnd();
|
|
442
|
-
i0.ɵɵelementStart(
|
|
443
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
444
|
-
i0.ɵɵelementStart(
|
|
445
|
-
i0.ɵɵtext(
|
|
437
|
+
i0.ɵɵelementStart(12, "select", 10);
|
|
438
|
+
i0.ɵɵtwoWayListener("ngModelChange", function VersionHistoryDiffResourceComponent_Conditional_4_Template_select_ngModelChange_12_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.FromLabelId, $event) || (ctx_r1.FromLabelId = $event); return i0.ɵɵresetView($event); });
|
|
439
|
+
i0.ɵɵelementStart(13, "option", 11);
|
|
440
|
+
i0.ɵɵtext(14, "Select a label...");
|
|
446
441
|
i0.ɵɵelementEnd();
|
|
447
|
-
i0.ɵɵrepeaterCreate(
|
|
442
|
+
i0.ɵɵrepeaterCreate(15, VersionHistoryDiffResourceComponent_Conditional_4_For_16_Template, 2, 2, "option", 12, i0.ɵɵrepeaterTrackByIdentity);
|
|
448
443
|
i0.ɵɵelementEnd()();
|
|
449
|
-
i0.ɵɵconditionalCreate(
|
|
450
|
-
i0.ɵɵconditionalCreate(
|
|
451
|
-
i0.ɵɵconditionalCreate(
|
|
444
|
+
i0.ɵɵconditionalCreate(17, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_17_Template, 3, 0, "div", 13);
|
|
445
|
+
i0.ɵɵconditionalCreate(18, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_18_Template, 4, 0, "div", 13);
|
|
446
|
+
i0.ɵɵconditionalCreate(19, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_19_Template, 8, 1, "div", 8);
|
|
452
447
|
i0.ɵɵelementEnd();
|
|
453
|
-
i0.ɵɵelementStart(
|
|
454
|
-
i0.ɵɵlistener("click", function
|
|
455
|
-
i0.ɵɵconditionalCreate(
|
|
456
|
-
i0.ɵɵconditionalCreate(
|
|
457
|
-
i0.ɵɵelementStart(
|
|
458
|
-
i0.ɵɵtext(
|
|
448
|
+
i0.ɵɵelementStart(20, "button", 14);
|
|
449
|
+
i0.ɵɵlistener("click", function VersionHistoryDiffResourceComponent_Conditional_4_Template_button_click_20_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.RunDiff()); });
|
|
450
|
+
i0.ɵɵconditionalCreate(21, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_21_Template, 1, 0, "i", 15);
|
|
451
|
+
i0.ɵɵconditionalCreate(22, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_22_Template, 1, 0, "i", 16);
|
|
452
|
+
i0.ɵɵelementStart(23, "span");
|
|
453
|
+
i0.ɵɵtext(24);
|
|
459
454
|
i0.ɵɵelementEnd()()();
|
|
460
|
-
i0.ɵɵconditionalCreate(
|
|
461
|
-
i0.ɵɵconditionalCreate(
|
|
455
|
+
i0.ɵɵconditionalCreate(25, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_25_Template, 28, 7);
|
|
456
|
+
i0.ɵɵconditionalCreate(26, VersionHistoryDiffResourceComponent_Conditional_4_Conditional_26_Template, 6, 0, "div", 17);
|
|
462
457
|
} if (rf & 2) {
|
|
463
458
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
464
|
-
i0.ɵɵadvance(
|
|
459
|
+
i0.ɵɵadvance(2);
|
|
465
460
|
i0.ɵɵclassProp("active", ctx_r1.DiffMode === "label-to-current");
|
|
466
461
|
i0.ɵɵadvance(3);
|
|
467
462
|
i0.ɵɵclassProp("active", ctx_r1.DiffMode === "label-to-label");
|
|
@@ -472,23 +467,23 @@ function VersionHistoryDiffResourceComponent_Conditional_2_Template(rf, ctx) { i
|
|
|
472
467
|
i0.ɵɵadvance(3);
|
|
473
468
|
i0.ɵɵrepeater(ctx_r1.FilteredFromLabels);
|
|
474
469
|
i0.ɵɵadvance(2);
|
|
475
|
-
i0.ɵɵconditional(ctx_r1.DiffMode === "label-to-label" ?
|
|
470
|
+
i0.ɵɵconditional(ctx_r1.DiffMode === "label-to-label" ? 17 : -1);
|
|
476
471
|
i0.ɵɵadvance();
|
|
477
|
-
i0.ɵɵconditional(ctx_r1.DiffMode === "label-to-current" ?
|
|
472
|
+
i0.ɵɵconditional(ctx_r1.DiffMode === "label-to-current" ? 18 : -1);
|
|
478
473
|
i0.ɵɵadvance();
|
|
479
|
-
i0.ɵɵconditional(ctx_r1.DiffMode === "label-to-label" ?
|
|
474
|
+
i0.ɵɵconditional(ctx_r1.DiffMode === "label-to-label" ? 19 : -1);
|
|
480
475
|
i0.ɵɵadvance();
|
|
481
476
|
i0.ɵɵproperty("disabled", !ctx_r1.CanRunDiff || ctx_r1.IsDiffLoading);
|
|
482
477
|
i0.ɵɵadvance();
|
|
483
|
-
i0.ɵɵconditional(!ctx_r1.IsDiffLoading ?
|
|
478
|
+
i0.ɵɵconditional(!ctx_r1.IsDiffLoading ? 21 : -1);
|
|
484
479
|
i0.ɵɵadvance();
|
|
485
|
-
i0.ɵɵconditional(ctx_r1.IsDiffLoading ?
|
|
480
|
+
i0.ɵɵconditional(ctx_r1.IsDiffLoading ? 22 : -1);
|
|
486
481
|
i0.ɵɵadvance(2);
|
|
487
482
|
i0.ɵɵtextInterpolate(ctx_r1.IsDiffLoading ? "Comparing..." : "Compare");
|
|
488
483
|
i0.ɵɵadvance();
|
|
489
|
-
i0.ɵɵconditional(ctx_r1.HasDiffResult ?
|
|
484
|
+
i0.ɵɵconditional(ctx_r1.HasDiffResult ? 25 : -1);
|
|
490
485
|
i0.ɵɵadvance();
|
|
491
|
-
i0.ɵɵconditional(!ctx_r1.HasDiffResult && !ctx_r1.IsDiffLoading ?
|
|
486
|
+
i0.ɵɵconditional(!ctx_r1.HasDiffResult && !ctx_r1.IsDiffLoading ? 26 : -1);
|
|
492
487
|
} }
|
|
493
488
|
let VersionHistoryDiffResourceComponent = class VersionHistoryDiffResourceComponent extends BaseResourceComponent {
|
|
494
489
|
static { VersionHistoryDiffResourceComponent_1 = this; }
|
|
@@ -1137,17 +1132,19 @@ let VersionHistoryDiffResourceComponent = class VersionHistoryDiffResourceCompon
|
|
|
1137
1132
|
this.FilteredEntityGroups = groups;
|
|
1138
1133
|
}
|
|
1139
1134
|
static ɵfac = function VersionHistoryDiffResourceComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || VersionHistoryDiffResourceComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
1140
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VersionHistoryDiffResourceComponent, selectors: [["mj-version-history-diff-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
1141
|
-
i0.ɵɵelementStart(0, "
|
|
1142
|
-
i0.ɵɵ
|
|
1143
|
-
i0.ɵɵ
|
|
1144
|
-
i0.ɵɵ
|
|
1135
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VersionHistoryDiffResourceComponent, selectors: [["mj-version-history-diff-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 2, consts: [["Title", "Diff Viewer", "Icon", "fa-solid fa-code-compare", "Subtitle", "Compare states between version labels or against current data"], ["text", "Loading diff viewer..."], [1, "config-panel"], [1, "mode-selector"], [1, "mode-btn", 3, "click"], [1, "fa-solid", "fa-clock-rotate-left"], [1, "fa-solid", "fa-code-compare"], [1, "label-selectors"], [1, "selector-group"], [1, "selector-label"], [1, "selector-input", 3, "ngModelChange", "ngModel"], ["value", ""], [3, "value"], [1, "selector-arrow"], [1, "btn-primary", 3, "click", "disabled"], [1, "fa-solid", "fa-play"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "empty-state"], ["title", "Swap direction", 1, "swap-btn", 3, "click"], [1, "fa-solid", "fa-arrows-rotate"], [1, "fa-solid", "fa-arrow-right"], [1, "current-state-badge"], [1, "diff-summary"], [1, "diff-stat", "change-added"], [1, "fa-solid", "fa-plus"], [1, "diff-stat-value"], [1, "diff-stat-label"], [1, "diff-stat", "change-removed"], [1, "fa-solid", "fa-minus"], [1, "diff-stat", "change-modified"], [1, "fa-solid", "fa-pen"], [1, "diff-stat", "change-unchanged"], [1, "fa-solid", "fa-equals"], [1, "diff-toolbar"], [1, "entity-groups"], [1, "diff-search"], [1, "fa-solid", "fa-search", "diff-search-icon"], ["type", "text", "placeholder", "Search by entity or record...", 1, "diff-search-input", 3, "ngModelChange", "ngModel"], [1, "diff-filter-pills"], [1, "filter-pill", 3, "click"], [1, "filter-pill", "change-added", 3, "click"], [1, "filter-pill", "change-removed", 3, "click"], [1, "filter-pill", "change-modified", 3, "click"], [1, "diff-toolbar-right"], ["title", "Expand all", 1, "toolbar-action-btn", 3, "click"], [1, "fa-solid", "fa-angles-down"], ["title", "Collapse all", 1, "toolbar-action-btn", 3, "click"], [1, "fa-solid", "fa-angles-up"], [1, "diff-sort-toggle"], ["title", "Sort by name", 1, "toggle-btn-sm", 3, "click"], [1, "fa-solid", 3, "ngClass"], ["title", "Sort by count", 1, "toggle-btn-sm", 3, "click"], [1, "entity-group"], [1, "entity-group-header", 3, "click"], [1, "entity-group-left"], [1, "fa-solid", "fa-chevron-right", "entity-chevron"], [1, "entity-icon"], [1, "entity-group-name"], [1, "entity-group-badges"], [1, "badge", "change-added"], [1, "badge", "change-removed"], [1, "badge", "change-modified"], [1, "entity-group-items"], [1, "diff-item-wrapper"], [1, "diff-item", 3, "click", "ngClass"], [1, "diff-item-icon"], [1, "diff-item-record"], [1, "diff-item-display-name"], [1, "diff-item-type"], ["title", "Open record", 1, "diff-item-open-btn", 3, "click"], [1, "fa-solid", "fa-arrow-up-right-from-square"], [1, "fa-solid", "fa-chevron-right", "diff-item-chevron", 3, "expanded"], [1, "diff-fields"], [1, "fa-solid", "fa-chevron-right", "diff-item-chevron"], ["text", "Loading changes...", "size", "small"], [1, "diff-fields-empty"], [1, "diff-field", 3, "ngClass"], [1, "diff-field-name"], [1, "diff-field-values"], [1, "diff-field-old"], [1, "fa-solid", "fa-arrow-right", "diff-field-arrow"], [1, "diff-field-new"], [1, "fa-solid", "fa-check-circle", "empty-icon", 2, "color", "#10b981"], [1, "fa-solid", "fa-code-compare", "empty-icon"]], template: function VersionHistoryDiffResourceComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1136
|
+
i0.ɵɵelementStart(0, "mj-page-layout");
|
|
1137
|
+
i0.ɵɵelement(1, "mj-page-header", 0);
|
|
1138
|
+
i0.ɵɵelementStart(2, "mj-page-body");
|
|
1139
|
+
i0.ɵɵconditionalCreate(3, VersionHistoryDiffResourceComponent_Conditional_3_Template, 1, 0, "mj-loading", 1);
|
|
1140
|
+
i0.ɵɵconditionalCreate(4, VersionHistoryDiffResourceComponent_Conditional_4_Template, 27, 15);
|
|
1141
|
+
i0.ɵɵelementEnd()();
|
|
1145
1142
|
} if (rf & 2) {
|
|
1143
|
+
i0.ɵɵadvance(3);
|
|
1144
|
+
i0.ɵɵconditional(ctx.IsLoading ? 3 : -1);
|
|
1146
1145
|
i0.ɵɵadvance();
|
|
1147
|
-
i0.ɵɵconditional(ctx.IsLoading ?
|
|
1148
|
-
i0.ɵɵadvance();
|
|
1149
|
-
i0.ɵɵconditional(!ctx.IsLoading ? 2 : -1);
|
|
1150
|
-
} }, dependencies: [i1.NgClass, i2.NgSelectOption, i2.ɵNgSelectMultipleOption, i2.DefaultValueAccessor, i2.SelectControlValueAccessor, i2.NgControlStatus, i2.NgModel, i3.LoadingComponent, i1.SlicePipe], styles: [".diff-container[_ngcontent-%COMP%] {\n padding: 24px;\n height: 100%;\n overflow-y: auto;\n}\n\n\n\n.page-header[_ngcontent-%COMP%] {\n margin-bottom: 24px;\n}\n\n.page-title[_ngcontent-%COMP%] {\n font-size: 24px;\n font-weight: 700;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n}\n\n.page-subtitle[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n}\n\n\n\n.config-panel[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n padding: 24px;\n margin-bottom: 24px;\n}\n\n.mode-selector[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n margin-bottom: 20px;\n}\n\n.mode-btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 8px 18px;\n background: var(--mj-bg-surface-sunken);\n border: 2px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n font-size: 14px;\n color: var(--mj-text-secondary);\n transition: all 0.2s ease;\n}\n\n.mode-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-border-default);\n}\n\n.mode-btn.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, transparent);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n font-weight: 600;\n}\n\n\n\n.label-selectors[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-end;\n gap: 16px;\n margin-bottom: 20px;\n}\n\n.selector-group[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.selector-label[_ngcontent-%COMP%] {\n display: block;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 6px;\n}\n\n.selector-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: 10px 12px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 14px;\n color: var(--mj-text-primary);\n outline: none;\n box-sizing: border-box;\n}\n\n.selector-input[_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.selector-arrow[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n padding-bottom: 8px;\n color: var(--mj-text-secondary);\n font-size: 16px;\n}\n\n.current-state-badge[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n padding: 2px 8px;\n border-radius: 8px;\n white-space: nowrap;\n}\n\n\n\n.btn-primary[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 10px 24px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 8px;\n color: var(--mj-text-inverse);\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.btn-primary[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n}\n\n.btn-primary[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n\n\n.diff-summary[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 12px;\n margin-bottom: 24px;\n}\n\n.diff-stat[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 16px 20px;\n border-radius: 10px;\n border: 1px solid var(--mj-border-default);\n}\n\n.diff-stat[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n\n.diff-stat-value[_ngcontent-%COMP%] {\n font-size: 22px;\n font-weight: 700;\n color: var(--mj-text-primary);\n}\n\n.diff-stat-label[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n\n\n.change-added[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-status-success) 20%, transparent);\n color: var(--mj-status-success);\n}\n\n.change-removed[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-status-error) 20%, transparent);\n color: var(--mj-status-error);\n}\n\n.change-modified[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-status-warning) 20%, transparent);\n color: var(--mj-status-warning);\n}\n\n.change-unchanged[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-text-muted) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-text-muted) 20%, transparent);\n color: var(--mj-text-muted);\n}\n\n\n\n.entity-groups[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.entity-group[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n overflow: hidden;\n}\n\n.entity-group-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 14px 20px;\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.entity-group-header[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.entity-group-left[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.entity-group-left[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:first-child {\n font-size: 12px;\n color: var(--mj-text-muted);\n width: 16px;\n}\n\n.entity-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 14px;\n}\n\n.entity-group-name[_ngcontent-%COMP%] {\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.entity-group-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n}\n\n.badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 3px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n border: none;\n}\n\n\n\n.entity-chevron[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n width: 14px;\n text-align: center;\n transition: transform 0.2s ease;\n}\n\n.entity-chevron.expanded[_ngcontent-%COMP%] {\n transform: rotate(90deg);\n}\n\n\n\n.entity-group-items[_ngcontent-%COMP%] {\n border-top: 1px solid var(--mj-border-default);\n padding: 8px 16px;\n}\n\n.diff-item-wrapper[_ngcontent-%COMP%] {\n margin-bottom: 2px;\n}\n\n.diff-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 12px;\n border-radius: 6px;\n}\n\n.diff-item.clickable[_ngcontent-%COMP%] {\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.diff-item.clickable[_ngcontent-%COMP%]:hover {\n filter: brightness(0.97);\n}\n\n.diff-item-icon[_ngcontent-%COMP%] {\n font-size: 12px;\n width: 20px;\n text-align: center;\n}\n\n.diff-item-record[_ngcontent-%COMP%] {\n font-size: 13px;\n font-family: 'SF Mono', 'Fira Code', monospace;\n color: var(--mj-text-primary);\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.diff-item-display-name[_ngcontent-%COMP%] {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n color: var(--mj-text-secondary);\n font-weight: 500;\n}\n\n.diff-item-open-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: 1px solid transparent;\n border-radius: 4px;\n background: transparent;\n color: var(--mj-text-muted);\n font-size: 11px;\n cursor: pointer;\n transition: all 0.15s ease;\n flex-shrink: 0;\n}\n\n.diff-item-open-btn[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 6%, transparent);\n}\n\n.diff-item-type[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.diff-item-chevron[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-muted);\n transition: transform 0.2s ease;\n}\n\n.diff-item-chevron.expanded[_ngcontent-%COMP%] {\n transform: rotate(90deg);\n}\n\n\n\n.diff-fields[_ngcontent-%COMP%] {\n margin-left: 42px;\n margin-bottom: 8px;\n padding: 8px 0;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.diff-field[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 6px 10px;\n border-radius: 6px;\n font-size: 13px;\n}\n\n.diff-field.change-added[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 6%, transparent);\n}\n\n.diff-field.change-modified[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 6%, transparent);\n}\n\n.diff-field.change-removed[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n}\n\n.diff-field-name[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-primary);\n min-width: 120px;\n flex-shrink: 0;\n}\n\n.diff-field-values[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n flex: 1;\n}\n\n.diff-field-old[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n text-decoration: line-through;\n opacity: 0.8;\n font-family: 'SF Mono', 'Fira Code', monospace;\n font-size: 12px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.diff-field-arrow[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 10px;\n flex-shrink: 0;\n}\n\n.diff-field-new[_ngcontent-%COMP%] {\n color: var(--mj-status-success);\n font-family: 'SF Mono', 'Fira Code', monospace;\n font-size: 12px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.diff-fields-empty[_ngcontent-%COMP%] {\n padding: 6px 10px;\n font-size: 12px;\n color: var(--mj-text-muted);\n font-style: italic;\n}\n\n\n\n.diff-toolbar-right[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.toolbar-action-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-muted);\n font-size: 13px;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.toolbar-action-btn[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 6%, transparent);\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 400px;\n}\n\n\n\n.swap-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border: 1px solid var(--mj-border-default);\n border-radius: 50%;\n background: var(--mj-bg-surface-card);\n color: var(--mj-brand-primary);\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.swap-btn[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n border-color: var(--mj-brand-primary);\n transform: rotate(180deg);\n}\n\n\n\n.diff-toolbar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 16px;\n flex-wrap: wrap;\n}\n\n.diff-search[_ngcontent-%COMP%] {\n position: relative;\n flex: 1;\n min-width: 200px;\n}\n\n.diff-search-icon[_ngcontent-%COMP%] {\n position: absolute;\n left: 12px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n.diff-search-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: 8px 12px 8px 36px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 13px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n box-sizing: border-box;\n}\n\n.diff-search-input[_ngcontent-%COMP%]:focus {\n outline: none;\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.diff-filter-pills[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.filter-pill[_ngcontent-%COMP%] {\n padding: 6px 14px;\n border: 1px solid var(--mj-border-default);\n border-radius: 16px;\n background: var(--mj-bg-surface-card);\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.filter-pill[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n.filter-pill.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.filter-pill.change-added.active[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n border-color: var(--mj-status-success);\n}\n\n.filter-pill.change-removed.active[_ngcontent-%COMP%] {\n background: var(--mj-status-error);\n border-color: var(--mj-status-error);\n}\n\n.filter-pill.change-modified.active[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n border-color: var(--mj-status-warning);\n}\n\n.diff-sort-toggle[_ngcontent-%COMP%] {\n display: flex;\n gap: 2px;\n}\n\n.toggle-btn-sm[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-muted);\n font-size: 13px;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.toggle-btn-sm[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n.toggle-btn-sm.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n@media (max-width: 768px) {\n .diff-summary[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .label-selectors[_ngcontent-%COMP%] {\n flex-direction: column;\n }\n}"], changeDetection: 0 });
|
|
1146
|
+
i0.ɵɵconditional(!ctx.IsLoading ? 4 : -1);
|
|
1147
|
+
} }, dependencies: [i1.NgClass, i2.NgSelectOption, i2.ɵNgSelectMultipleOption, i2.DefaultValueAccessor, i2.SelectControlValueAccessor, i2.NgControlStatus, i2.NgModel, i3.MJPageHeaderComponent, i3.MJPageLayoutComponent, i3.MJPageBodyComponent, i4.LoadingComponent, i1.SlicePipe], styles: ["\n\n.config-panel[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n padding: 24px;\n margin-bottom: 24px;\n}\n\n.mode-selector[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n margin-bottom: 20px;\n}\n\n.mode-btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 8px 18px;\n background: var(--mj-bg-surface-sunken);\n border: 2px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n font-size: 14px;\n color: var(--mj-text-secondary);\n transition: all 0.2s ease;\n}\n\n.mode-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-border-default);\n}\n\n.mode-btn.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, transparent);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n font-weight: 600;\n}\n\n\n\n.label-selectors[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-end;\n gap: 16px;\n margin-bottom: 20px;\n}\n\n.selector-group[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.selector-label[_ngcontent-%COMP%] {\n display: block;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 6px;\n}\n\n.selector-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: 10px 12px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 14px;\n color: var(--mj-text-primary);\n outline: none;\n box-sizing: border-box;\n}\n\n.selector-input[_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.selector-arrow[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n padding-bottom: 8px;\n color: var(--mj-text-secondary);\n font-size: 16px;\n}\n\n.current-state-badge[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n padding: 2px 8px;\n border-radius: 8px;\n white-space: nowrap;\n}\n\n\n\n.btn-primary[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 10px 24px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 8px;\n color: var(--mj-text-inverse);\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.btn-primary[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n}\n\n.btn-primary[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n\n\n.diff-summary[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 12px;\n margin-bottom: 24px;\n}\n\n.diff-stat[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 16px 20px;\n border-radius: 10px;\n border: 1px solid var(--mj-border-default);\n}\n\n.diff-stat[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n\n.diff-stat-value[_ngcontent-%COMP%] {\n font-size: 22px;\n font-weight: 700;\n color: var(--mj-text-primary);\n}\n\n.diff-stat-label[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n\n\n.change-added[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-status-success) 20%, transparent);\n color: var(--mj-status-success);\n}\n\n.change-removed[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-status-error) 20%, transparent);\n color: var(--mj-status-error);\n}\n\n.change-modified[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-status-warning) 20%, transparent);\n color: var(--mj-status-warning);\n}\n\n.change-unchanged[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-text-muted) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-text-muted) 20%, transparent);\n color: var(--mj-text-muted);\n}\n\n\n\n.entity-groups[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.entity-group[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n overflow: hidden;\n}\n\n.entity-group-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 14px 20px;\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.entity-group-header[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.entity-group-left[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.entity-group-left[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:first-child {\n font-size: 12px;\n color: var(--mj-text-muted);\n width: 16px;\n}\n\n.entity-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 14px;\n}\n\n.entity-group-name[_ngcontent-%COMP%] {\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.entity-group-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n}\n\n.badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 3px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n border: none;\n}\n\n\n\n.entity-chevron[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n width: 14px;\n text-align: center;\n transition: transform 0.2s ease;\n}\n\n.entity-chevron.expanded[_ngcontent-%COMP%] {\n transform: rotate(90deg);\n}\n\n\n\n.entity-group-items[_ngcontent-%COMP%] {\n border-top: 1px solid var(--mj-border-default);\n padding: 8px 16px;\n}\n\n.diff-item-wrapper[_ngcontent-%COMP%] {\n margin-bottom: 2px;\n}\n\n.diff-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 12px;\n border-radius: 6px;\n}\n\n.diff-item.clickable[_ngcontent-%COMP%] {\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.diff-item.clickable[_ngcontent-%COMP%]:hover {\n filter: brightness(0.97);\n}\n\n.diff-item-icon[_ngcontent-%COMP%] {\n font-size: 12px;\n width: 20px;\n text-align: center;\n}\n\n.diff-item-record[_ngcontent-%COMP%] {\n font-size: 13px;\n font-family: 'SF Mono', 'Fira Code', monospace;\n color: var(--mj-text-primary);\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.diff-item-display-name[_ngcontent-%COMP%] {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n color: var(--mj-text-secondary);\n font-weight: 500;\n}\n\n.diff-item-open-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: 1px solid transparent;\n border-radius: 4px;\n background: transparent;\n color: var(--mj-text-muted);\n font-size: 11px;\n cursor: pointer;\n transition: all 0.15s ease;\n flex-shrink: 0;\n}\n\n.diff-item-open-btn[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 6%, transparent);\n}\n\n.diff-item-type[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.diff-item-chevron[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-muted);\n transition: transform 0.2s ease;\n}\n\n.diff-item-chevron.expanded[_ngcontent-%COMP%] {\n transform: rotate(90deg);\n}\n\n\n\n.diff-fields[_ngcontent-%COMP%] {\n margin-left: 42px;\n margin-bottom: 8px;\n padding: 8px 0;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.diff-field[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 6px 10px;\n border-radius: 6px;\n font-size: 13px;\n}\n\n.diff-field.change-added[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 6%, transparent);\n}\n\n.diff-field.change-modified[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 6%, transparent);\n}\n\n.diff-field.change-removed[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n}\n\n.diff-field-name[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-primary);\n min-width: 120px;\n flex-shrink: 0;\n}\n\n.diff-field-values[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n flex: 1;\n}\n\n.diff-field-old[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n text-decoration: line-through;\n opacity: 0.8;\n font-family: 'SF Mono', 'Fira Code', monospace;\n font-size: 12px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.diff-field-arrow[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 10px;\n flex-shrink: 0;\n}\n\n.diff-field-new[_ngcontent-%COMP%] {\n color: var(--mj-status-success);\n font-family: 'SF Mono', 'Fira Code', monospace;\n font-size: 12px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.diff-fields-empty[_ngcontent-%COMP%] {\n padding: 6px 10px;\n font-size: 12px;\n color: var(--mj-text-muted);\n font-style: italic;\n}\n\n\n\n.diff-toolbar-right[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.toolbar-action-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-muted);\n font-size: 13px;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.toolbar-action-btn[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 6%, transparent);\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 400px;\n}\n\n\n\n.swap-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border: 1px solid var(--mj-border-default);\n border-radius: 50%;\n background: var(--mj-bg-surface-card);\n color: var(--mj-brand-primary);\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.swap-btn[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n border-color: var(--mj-brand-primary);\n transform: rotate(180deg);\n}\n\n\n\n.diff-toolbar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 16px;\n flex-wrap: wrap;\n}\n\n.diff-search[_ngcontent-%COMP%] {\n position: relative;\n flex: 1;\n min-width: 200px;\n}\n\n.diff-search-icon[_ngcontent-%COMP%] {\n position: absolute;\n left: 12px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n.diff-search-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: 8px 12px 8px 36px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 13px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n box-sizing: border-box;\n}\n\n.diff-search-input[_ngcontent-%COMP%]:focus {\n outline: none;\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.diff-filter-pills[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.filter-pill[_ngcontent-%COMP%] {\n padding: 6px 14px;\n border: 1px solid var(--mj-border-default);\n border-radius: 16px;\n background: var(--mj-bg-surface-card);\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.filter-pill[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n.filter-pill.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.filter-pill.change-added.active[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n border-color: var(--mj-status-success);\n}\n\n.filter-pill.change-removed.active[_ngcontent-%COMP%] {\n background: var(--mj-status-error);\n border-color: var(--mj-status-error);\n}\n\n.filter-pill.change-modified.active[_ngcontent-%COMP%] {\n background: var(--mj-status-warning);\n border-color: var(--mj-status-warning);\n}\n\n.diff-sort-toggle[_ngcontent-%COMP%] {\n display: flex;\n gap: 2px;\n}\n\n.toggle-btn-sm[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-muted);\n font-size: 13px;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.toggle-btn-sm[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n.toggle-btn-sm.active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n@media (max-width: 768px) {\n .diff-summary[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .label-selectors[_ngcontent-%COMP%] {\n flex-direction: column;\n }\n}"], changeDetection: 0 });
|
|
1151
1148
|
};
|
|
1152
1149
|
VersionHistoryDiffResourceComponent = VersionHistoryDiffResourceComponent_1 = __decorate([
|
|
1153
1150
|
RegisterClass(BaseResourceComponent, 'VersionHistoryDiffResource')
|
|
@@ -1155,7 +1152,7 @@ VersionHistoryDiffResourceComponent = VersionHistoryDiffResourceComponent_1 = __
|
|
|
1155
1152
|
export { VersionHistoryDiffResourceComponent };
|
|
1156
1153
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(VersionHistoryDiffResourceComponent, [{
|
|
1157
1154
|
type: Component,
|
|
1158
|
-
args: [{ standalone: false, selector: 'mj-version-history-diff-resource', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"diff-container\">\n @if (IsLoading) {\n <mj-loading text=\"Loading diff viewer...\"></mj-loading>\n }\n\n @if (!IsLoading) {\n <!-- Header -->\n <div class=\"page-header\">\n <div class=\"header-left\">\n <h2 class=\"page-title\">Diff Viewer</h2>\n <p class=\"page-subtitle\">Compare states between version labels or against current data</p>\n </div>\n </div>\n <!-- Diff Configuration Panel -->\n <div class=\"config-panel\">\n <!-- Mode Selector -->\n <div class=\"mode-selector\">\n <button class=\"mode-btn\"\n [class.active]=\"DiffMode === 'label-to-current'\"\n (click)=\"OnDiffModeChange('label-to-current')\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n Label vs Current\n </button>\n <button class=\"mode-btn\"\n [class.active]=\"DiffMode === 'label-to-label'\"\n (click)=\"OnDiffModeChange('label-to-label')\">\n <i class=\"fa-solid fa-code-compare\"></i>\n Label vs Label\n </button>\n </div>\n <!-- Label Selectors -->\n <div class=\"label-selectors\">\n <div class=\"selector-group\">\n <label class=\"selector-label\">\n {{DiffMode === 'label-to-current' ? 'Compare label' : 'From label'}}\n </label>\n <select class=\"selector-input\"\n [(ngModel)]=\"FromLabelId\">\n <option value=\"\">Select a label...</option>\n @for (label of FilteredFromLabels; track label) {\n <option\n [value]=\"label.ID\">\n {{FormatLabelOption(label)}}\n </option>\n }\n </select>\n </div>\n @if (DiffMode === 'label-to-label') {\n <div class=\"selector-arrow\">\n <button class=\"swap-btn\" (click)=\"SwapLabels()\" title=\"Swap direction\">\n <i class=\"fa-solid fa-arrows-rotate\"></i>\n </button>\n </div>\n }\n @if (DiffMode === 'label-to-current') {\n <div class=\"selector-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n <span class=\"current-state-badge\">Current State</span>\n </div>\n }\n @if (DiffMode === 'label-to-label') {\n <div class=\"selector-group\">\n <label class=\"selector-label\">To label</label>\n <select class=\"selector-input\"\n [(ngModel)]=\"ToLabelId\">\n <option value=\"\">Select a label...</option>\n @for (label of FilteredToLabels; track label) {\n <option\n [value]=\"label.ID\">\n {{FormatLabelOption(label)}}\n </option>\n }\n </select>\n </div>\n }\n </div>\n <!-- Run Button -->\n <button class=\"btn-primary\"\n [disabled]=\"!CanRunDiff || IsDiffLoading\"\n (click)=\"RunDiff()\">\n @if (!IsDiffLoading) {\n <i class=\"fa-solid fa-play\"></i>\n }\n @if (IsDiffLoading) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n }\n <span>{{IsDiffLoading ? 'Comparing...' : 'Compare'}}</span>\n </button>\n </div>\n <!-- Diff Results -->\n @if (HasDiffResult) {\n <!-- Summary Stats -->\n <div class=\"diff-summary\">\n <div class=\"diff-stat change-added\">\n <i class=\"fa-solid fa-plus\"></i>\n <span class=\"diff-stat-value\">{{TotalAdded}}</span>\n <span class=\"diff-stat-label\">Added</span>\n </div>\n <div class=\"diff-stat change-removed\">\n <i class=\"fa-solid fa-minus\"></i>\n <span class=\"diff-stat-value\">{{TotalRemoved}}</span>\n <span class=\"diff-stat-label\">Removed</span>\n </div>\n <div class=\"diff-stat change-modified\">\n <i class=\"fa-solid fa-pen\"></i>\n <span class=\"diff-stat-value\">{{TotalModified}}</span>\n <span class=\"diff-stat-label\">Modified</span>\n </div>\n <div class=\"diff-stat change-unchanged\">\n <i class=\"fa-solid fa-equals\"></i>\n <span class=\"diff-stat-value\">{{TotalUnchanged}}</span>\n <span class=\"diff-stat-label\">Unchanged</span>\n </div>\n </div>\n <!-- Results toolbar -->\n @if (EntityGroups.length > 0) {\n <div class=\"diff-toolbar\">\n <div class=\"diff-search\">\n <i class=\"fa-solid fa-search diff-search-icon\"></i>\n <input type=\"text\" class=\"diff-search-input\"\n placeholder=\"Search by entity or record...\"\n [ngModel]=\"DiffSearch\"\n (ngModelChange)=\"OnDiffSearchChange($event)\" />\n </div>\n <div class=\"diff-filter-pills\">\n <button class=\"filter-pill\" [class.active]=\"DiffFilterType === 'all'\"\n (click)=\"OnDiffFilterChange('all')\">All</button>\n <button class=\"filter-pill change-added\" [class.active]=\"DiffFilterType === 'added'\"\n (click)=\"OnDiffFilterChange('added')\">Added</button>\n <button class=\"filter-pill change-removed\" [class.active]=\"DiffFilterType === 'removed'\"\n (click)=\"OnDiffFilterChange('removed')\">Removed</button>\n <button class=\"filter-pill change-modified\" [class.active]=\"DiffFilterType === 'modified'\"\n (click)=\"OnDiffFilterChange('modified')\">Modified</button>\n </div>\n <div class=\"diff-toolbar-right\">\n <button class=\"toolbar-action-btn\" (click)=\"ExpandAllGroups()\" title=\"Expand all\">\n <i class=\"fa-solid fa-angles-down\"></i>\n </button>\n <button class=\"toolbar-action-btn\" (click)=\"CollapseAllGroups()\" title=\"Collapse all\">\n <i class=\"fa-solid fa-angles-up\"></i>\n </button>\n <div class=\"diff-sort-toggle\">\n <button class=\"toggle-btn-sm\" [class.active]=\"DiffSortBy === 'name'\"\n (click)=\"OnDiffSortChange('name')\" title=\"Sort by name\">\n <i class=\"fa-solid\" [ngClass]=\"DiffSortBy === 'name' && DiffSortDir === 'desc' ? 'fa-arrow-up-z-a' : 'fa-arrow-down-a-z'\"></i>\n </button>\n <button class=\"toggle-btn-sm\" [class.active]=\"DiffSortBy === 'count'\"\n (click)=\"OnDiffSortChange('count')\" title=\"Sort by count\">\n <i class=\"fa-solid\" [ngClass]=\"DiffSortBy === 'count' && DiffSortDir === 'asc' ? 'fa-arrow-up-1-9' : 'fa-arrow-down-9-1'\"></i>\n </button>\n </div>\n </div>\n </div>\n }\n <!-- Entity Groups -->\n @if (FilteredEntityGroups.length > 0) {\n <div class=\"entity-groups\">\n @for (group of FilteredEntityGroups; track group) {\n <div class=\"entity-group\">\n <div class=\"entity-group-header\" (click)=\"ToggleEntityGroup(group)\">\n <div class=\"entity-group-left\">\n <i class=\"fa-solid fa-chevron-right entity-chevron\"\n [class.expanded]=\"group.IsExpanded\">\n </i>\n <i [class]=\"group.EntityIcon\" class=\"entity-icon\"></i>\n <span class=\"entity-group-name\">{{group.EntityName}}</span>\n </div>\n <div class=\"entity-group-badges\">\n @if (group.AddedCount > 0) {\n <span class=\"badge change-added\">\n +{{group.AddedCount}}\n </span>\n }\n @if (group.RemovedCount > 0) {\n <span class=\"badge change-removed\">\n -{{group.RemovedCount}}\n </span>\n }\n @if (group.ModifiedCount > 0) {\n <span class=\"badge change-modified\">\n ~{{group.ModifiedCount}}\n </span>\n }\n </div>\n </div>\n @if (group.IsExpanded) {\n <div class=\"entity-group-items\">\n @for (item of group.Items; track item) {\n <div class=\"diff-item-wrapper\">\n <div class=\"diff-item\" [ngClass]=\"GetChangeTypeClass(item.ChangeType)\"\n [class.clickable]=\"item.ChangeType === 'Modified'\"\n (click)=\"ToggleItem(item)\">\n <i [class]=\"GetChangeTypeIcon(item.ChangeType)\" class=\"diff-item-icon\"></i>\n <span class=\"diff-item-record\">\n {{FormatRecordID(item.RecordID)}}\n @if (item.DisplayName) {\n <span class=\"diff-item-display-name\"> ({{item.DisplayName}})</span>\n }\n </span>\n <span class=\"diff-item-type\">{{item.ChangeType}}</span>\n <button class=\"diff-item-open-btn\" (click)=\"OnOpenRecord(item); $event.stopPropagation()\"\n title=\"Open record\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\"></i>\n </button>\n @if (item.ChangeType === 'Modified') {\n <i class=\"fa-solid fa-chevron-right diff-item-chevron\"\n [class.expanded]=\"item.IsExpanded\"\n ></i>\n }\n </div>\n <!-- Field-level changes -->\n @if (item.IsExpanded && item.ChangeType === 'Modified') {\n <div class=\"diff-fields\">\n @if (item.IsLoadingFields) {\n <mj-loading text=\"Loading changes...\" size=\"small\"></mj-loading>\n }\n @if (!item.IsLoadingFields && item.FieldChanges.length > 0) {\n @for (field of item.FieldChanges; track field) {\n <div class=\"diff-field\"\n [ngClass]=\"GetChangeTypeClass(field.ChangeType)\">\n <span class=\"diff-field-name\">{{field.FieldName}}</span>\n <span class=\"diff-field-values\">\n @if (field.OldValue) {\n <span class=\"diff-field-old\">{{field.OldValue | slice:0:60}}</span>\n }\n @if (field.OldValue && field.NewValue) {\n <i class=\"fa-solid fa-arrow-right diff-field-arrow\"></i>\n }\n @if (field.NewValue) {\n <span class=\"diff-field-new\">{{field.NewValue | slice:0:60}}</span>\n }\n </span>\n </div>\n }\n }\n @if (!item.IsLoadingFields && item.FieldsLoaded && item.FieldChanges.length === 0) {\n <div class=\"diff-fields-empty\">\n <span>No field-level changes available</span>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- No changes -->\n @if (FilteredEntityGroups.length === 0 && TotalChanges === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-check-circle empty-icon\" style=\"color: #10b981;\"></i>\n <h3>No differences found</h3>\n <p>The compared states are identical.</p>\n </div>\n }\n }\n <!-- No results yet -->\n @if (!HasDiffResult && !IsDiffLoading) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-code-compare empty-icon\"></i>\n <h3>Select labels to compare</h3>\n <p>Choose a diff mode and select labels above, then click Compare.</p>\n </div>\n }\n }\n</div>\n", styles: [".diff-container {\n padding: 24px;\n height: 100%;\n overflow-y: auto;\n}\n\n/* Header */\n.page-header {\n margin-bottom: 24px;\n}\n\n.page-title {\n font-size: 24px;\n font-weight: 700;\n color: var(--mj-text-primary);\n margin: 0 0 4px 0;\n}\n\n.page-subtitle {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n}\n\n/* Config Panel */\n.config-panel {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n padding: 24px;\n margin-bottom: 24px;\n}\n\n.mode-selector {\n display: flex;\n gap: 8px;\n margin-bottom: 20px;\n}\n\n.mode-btn {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 8px 18px;\n background: var(--mj-bg-surface-sunken);\n border: 2px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n font-size: 14px;\n color: var(--mj-text-secondary);\n transition: all 0.2s ease;\n}\n\n.mode-btn:hover {\n background: var(--mj-border-default);\n}\n\n.mode-btn.active {\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, transparent);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n font-weight: 600;\n}\n\n/* Label Selectors */\n.label-selectors {\n display: flex;\n align-items: flex-end;\n gap: 16px;\n margin-bottom: 20px;\n}\n\n.selector-group {\n flex: 1;\n}\n\n.selector-label {\n display: block;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 6px;\n}\n\n.selector-input {\n width: 100%;\n padding: 10px 12px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 14px;\n color: var(--mj-text-primary);\n outline: none;\n box-sizing: border-box;\n}\n\n.selector-input: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.selector-arrow {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n padding-bottom: 8px;\n color: var(--mj-text-secondary);\n font-size: 16px;\n}\n\n.current-state-badge {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n padding: 2px 8px;\n border-radius: 8px;\n white-space: nowrap;\n}\n\n/* Run Button */\n.btn-primary {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 10px 24px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 8px;\n color: var(--mj-text-inverse);\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.btn-primary:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n}\n\n.btn-primary:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Diff Summary */\n.diff-summary {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 12px;\n margin-bottom: 24px;\n}\n\n.diff-stat {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 16px 20px;\n border-radius: 10px;\n border: 1px solid var(--mj-border-default);\n}\n\n.diff-stat i {\n font-size: 16px;\n}\n\n.diff-stat-value {\n font-size: 22px;\n font-weight: 700;\n color: var(--mj-text-primary);\n}\n\n.diff-stat-label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n/* Change type colors */\n.change-added {\n background: color-mix(in srgb, var(--mj-status-success) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-status-success) 20%, transparent);\n color: var(--mj-status-success);\n}\n\n.change-removed {\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-status-error) 20%, transparent);\n color: var(--mj-status-error);\n}\n\n.change-modified {\n background: color-mix(in srgb, var(--mj-status-warning) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-status-warning) 20%, transparent);\n color: var(--mj-status-warning);\n}\n\n.change-unchanged {\n background: color-mix(in srgb, var(--mj-text-muted) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-text-muted) 20%, transparent);\n color: var(--mj-text-muted);\n}\n\n/* Entity Groups */\n.entity-groups {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.entity-group {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n overflow: hidden;\n}\n\n.entity-group-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 14px 20px;\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.entity-group-header:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.entity-group-left {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.entity-group-left i:first-child {\n font-size: 12px;\n color: var(--mj-text-muted);\n width: 16px;\n}\n\n.entity-icon {\n color: var(--mj-brand-primary);\n font-size: 14px;\n}\n\n.entity-group-name {\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.entity-group-badges {\n display: flex;\n gap: 6px;\n}\n\n.badge {\n display: inline-flex;\n align-items: center;\n padding: 3px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n border: none;\n}\n\n/* Entity chevron animation */\n.entity-chevron {\n font-size: 11px;\n color: var(--mj-text-muted);\n width: 14px;\n text-align: center;\n transition: transform 0.2s ease;\n}\n\n.entity-chevron.expanded {\n transform: rotate(90deg);\n}\n\n/* Entity group items */\n.entity-group-items {\n border-top: 1px solid var(--mj-border-default);\n padding: 8px 16px;\n}\n\n.diff-item-wrapper {\n margin-bottom: 2px;\n}\n\n.diff-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 12px;\n border-radius: 6px;\n}\n\n.diff-item.clickable {\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.diff-item.clickable:hover {\n filter: brightness(0.97);\n}\n\n.diff-item-icon {\n font-size: 12px;\n width: 20px;\n text-align: center;\n}\n\n.diff-item-record {\n font-size: 13px;\n font-family: 'SF Mono', 'Fira Code', monospace;\n color: var(--mj-text-primary);\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.diff-item-display-name {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n color: var(--mj-text-secondary);\n font-weight: 500;\n}\n\n.diff-item-open-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: 1px solid transparent;\n border-radius: 4px;\n background: transparent;\n color: var(--mj-text-muted);\n font-size: 11px;\n cursor: pointer;\n transition: all 0.15s ease;\n flex-shrink: 0;\n}\n\n.diff-item-open-btn:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 6%, transparent);\n}\n\n.diff-item-type {\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.diff-item-chevron {\n font-size: 10px;\n color: var(--mj-text-muted);\n transition: transform 0.2s ease;\n}\n\n.diff-item-chevron.expanded {\n transform: rotate(90deg);\n}\n\n/* Field-level diff changes */\n.diff-fields {\n margin-left: 42px;\n margin-bottom: 8px;\n padding: 8px 0;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.diff-field {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 6px 10px;\n border-radius: 6px;\n font-size: 13px;\n}\n\n.diff-field.change-added {\n background: color-mix(in srgb, var(--mj-status-success) 6%, transparent);\n}\n\n.diff-field.change-modified {\n background: color-mix(in srgb, var(--mj-status-warning) 6%, transparent);\n}\n\n.diff-field.change-removed {\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n}\n\n.diff-field-name {\n font-weight: 600;\n color: var(--mj-text-primary);\n min-width: 120px;\n flex-shrink: 0;\n}\n\n.diff-field-values {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n flex: 1;\n}\n\n.diff-field-old {\n color: var(--mj-status-error);\n text-decoration: line-through;\n opacity: 0.8;\n font-family: 'SF Mono', 'Fira Code', monospace;\n font-size: 12px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.diff-field-arrow {\n color: var(--mj-text-muted);\n font-size: 10px;\n flex-shrink: 0;\n}\n\n.diff-field-new {\n color: var(--mj-status-success);\n font-family: 'SF Mono', 'Fira Code', monospace;\n font-size: 12px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.diff-fields-empty {\n padding: 6px 10px;\n font-size: 12px;\n color: var(--mj-text-muted);\n font-style: italic;\n}\n\n/* Toolbar actions */\n.diff-toolbar-right {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.toolbar-action-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-muted);\n font-size: 13px;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.toolbar-action-btn:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 6%, transparent);\n}\n\n/* Empty State */\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.empty-state h3 {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.empty-state p {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 400px;\n}\n\n/* Swap Button */\n.swap-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border: 1px solid var(--mj-border-default);\n border-radius: 50%;\n background: var(--mj-bg-surface-card);\n color: var(--mj-brand-primary);\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.swap-btn:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n border-color: var(--mj-brand-primary);\n transform: rotate(180deg);\n}\n\n/* Diff Results Toolbar */\n.diff-toolbar {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 16px;\n flex-wrap: wrap;\n}\n\n.diff-search {\n position: relative;\n flex: 1;\n min-width: 200px;\n}\n\n.diff-search-icon {\n position: absolute;\n left: 12px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n.diff-search-input {\n width: 100%;\n padding: 8px 12px 8px 36px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 13px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n box-sizing: border-box;\n}\n\n.diff-search-input:focus {\n outline: none;\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.diff-filter-pills {\n display: flex;\n gap: 4px;\n}\n\n.filter-pill {\n padding: 6px 14px;\n border: 1px solid var(--mj-border-default);\n border-radius: 16px;\n background: var(--mj-bg-surface-card);\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.filter-pill:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n.filter-pill.active {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.filter-pill.change-added.active {\n background: var(--mj-status-success);\n border-color: var(--mj-status-success);\n}\n\n.filter-pill.change-removed.active {\n background: var(--mj-status-error);\n border-color: var(--mj-status-error);\n}\n\n.filter-pill.change-modified.active {\n background: var(--mj-status-warning);\n border-color: var(--mj-status-warning);\n}\n\n.diff-sort-toggle {\n display: flex;\n gap: 2px;\n}\n\n.toggle-btn-sm {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-muted);\n font-size: 13px;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.toggle-btn-sm:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n.toggle-btn-sm.active {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n@media (max-width: 768px) {\n .diff-summary {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .label-selectors {\n flex-direction: column;\n }\n}\n"] }]
|
|
1155
|
+
args: [{ standalone: false, selector: 'mj-version-history-diff-resource', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mj-page-layout>\n <mj-page-header\n Title=\"Diff Viewer\"\n Icon=\"fa-solid fa-code-compare\"\n Subtitle=\"Compare states between version labels or against current data\">\n </mj-page-header>\n\n <mj-page-body>\n @if (IsLoading) {\n <mj-loading text=\"Loading diff viewer...\"></mj-loading>\n }\n\n @if (!IsLoading) {\n <!-- Diff Configuration Panel -->\n <div class=\"config-panel\">\n <!-- Mode Selector -->\n <div class=\"mode-selector\">\n <button class=\"mode-btn\"\n [class.active]=\"DiffMode === 'label-to-current'\"\n (click)=\"OnDiffModeChange('label-to-current')\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n Label vs Current\n </button>\n <button class=\"mode-btn\"\n [class.active]=\"DiffMode === 'label-to-label'\"\n (click)=\"OnDiffModeChange('label-to-label')\">\n <i class=\"fa-solid fa-code-compare\"></i>\n Label vs Label\n </button>\n </div>\n <!-- Label Selectors -->\n <div class=\"label-selectors\">\n <div class=\"selector-group\">\n <label class=\"selector-label\">\n {{DiffMode === 'label-to-current' ? 'Compare label' : 'From label'}}\n </label>\n <select class=\"selector-input\"\n [(ngModel)]=\"FromLabelId\">\n <option value=\"\">Select a label...</option>\n @for (label of FilteredFromLabels; track label) {\n <option\n [value]=\"label.ID\">\n {{FormatLabelOption(label)}}\n </option>\n }\n </select>\n </div>\n @if (DiffMode === 'label-to-label') {\n <div class=\"selector-arrow\">\n <button class=\"swap-btn\" (click)=\"SwapLabels()\" title=\"Swap direction\">\n <i class=\"fa-solid fa-arrows-rotate\"></i>\n </button>\n </div>\n }\n @if (DiffMode === 'label-to-current') {\n <div class=\"selector-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n <span class=\"current-state-badge\">Current State</span>\n </div>\n }\n @if (DiffMode === 'label-to-label') {\n <div class=\"selector-group\">\n <label class=\"selector-label\">To label</label>\n <select class=\"selector-input\"\n [(ngModel)]=\"ToLabelId\">\n <option value=\"\">Select a label...</option>\n @for (label of FilteredToLabels; track label) {\n <option\n [value]=\"label.ID\">\n {{FormatLabelOption(label)}}\n </option>\n }\n </select>\n </div>\n }\n </div>\n <!-- Run Button -->\n <button class=\"btn-primary\"\n [disabled]=\"!CanRunDiff || IsDiffLoading\"\n (click)=\"RunDiff()\">\n @if (!IsDiffLoading) {\n <i class=\"fa-solid fa-play\"></i>\n }\n @if (IsDiffLoading) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n }\n <span>{{IsDiffLoading ? 'Comparing...' : 'Compare'}}</span>\n </button>\n </div>\n <!-- Diff Results -->\n @if (HasDiffResult) {\n <!-- Summary Stats -->\n <div class=\"diff-summary\">\n <div class=\"diff-stat change-added\">\n <i class=\"fa-solid fa-plus\"></i>\n <span class=\"diff-stat-value\">{{TotalAdded}}</span>\n <span class=\"diff-stat-label\">Added</span>\n </div>\n <div class=\"diff-stat change-removed\">\n <i class=\"fa-solid fa-minus\"></i>\n <span class=\"diff-stat-value\">{{TotalRemoved}}</span>\n <span class=\"diff-stat-label\">Removed</span>\n </div>\n <div class=\"diff-stat change-modified\">\n <i class=\"fa-solid fa-pen\"></i>\n <span class=\"diff-stat-value\">{{TotalModified}}</span>\n <span class=\"diff-stat-label\">Modified</span>\n </div>\n <div class=\"diff-stat change-unchanged\">\n <i class=\"fa-solid fa-equals\"></i>\n <span class=\"diff-stat-value\">{{TotalUnchanged}}</span>\n <span class=\"diff-stat-label\">Unchanged</span>\n </div>\n </div>\n <!-- Results toolbar -->\n @if (EntityGroups.length > 0) {\n <div class=\"diff-toolbar\">\n <div class=\"diff-search\">\n <i class=\"fa-solid fa-search diff-search-icon\"></i>\n <input type=\"text\" class=\"diff-search-input\"\n placeholder=\"Search by entity or record...\"\n [ngModel]=\"DiffSearch\"\n (ngModelChange)=\"OnDiffSearchChange($event)\" />\n </div>\n <div class=\"diff-filter-pills\">\n <button class=\"filter-pill\" [class.active]=\"DiffFilterType === 'all'\"\n (click)=\"OnDiffFilterChange('all')\">All</button>\n <button class=\"filter-pill change-added\" [class.active]=\"DiffFilterType === 'added'\"\n (click)=\"OnDiffFilterChange('added')\">Added</button>\n <button class=\"filter-pill change-removed\" [class.active]=\"DiffFilterType === 'removed'\"\n (click)=\"OnDiffFilterChange('removed')\">Removed</button>\n <button class=\"filter-pill change-modified\" [class.active]=\"DiffFilterType === 'modified'\"\n (click)=\"OnDiffFilterChange('modified')\">Modified</button>\n </div>\n <div class=\"diff-toolbar-right\">\n <button class=\"toolbar-action-btn\" (click)=\"ExpandAllGroups()\" title=\"Expand all\">\n <i class=\"fa-solid fa-angles-down\"></i>\n </button>\n <button class=\"toolbar-action-btn\" (click)=\"CollapseAllGroups()\" title=\"Collapse all\">\n <i class=\"fa-solid fa-angles-up\"></i>\n </button>\n <div class=\"diff-sort-toggle\">\n <button class=\"toggle-btn-sm\" [class.active]=\"DiffSortBy === 'name'\"\n (click)=\"OnDiffSortChange('name')\" title=\"Sort by name\">\n <i class=\"fa-solid\" [ngClass]=\"DiffSortBy === 'name' && DiffSortDir === 'desc' ? 'fa-arrow-up-z-a' : 'fa-arrow-down-a-z'\"></i>\n </button>\n <button class=\"toggle-btn-sm\" [class.active]=\"DiffSortBy === 'count'\"\n (click)=\"OnDiffSortChange('count')\" title=\"Sort by count\">\n <i class=\"fa-solid\" [ngClass]=\"DiffSortBy === 'count' && DiffSortDir === 'asc' ? 'fa-arrow-up-1-9' : 'fa-arrow-down-9-1'\"></i>\n </button>\n </div>\n </div>\n </div>\n }\n <!-- Entity Groups -->\n @if (FilteredEntityGroups.length > 0) {\n <div class=\"entity-groups\">\n @for (group of FilteredEntityGroups; track group) {\n <div class=\"entity-group\">\n <div class=\"entity-group-header\" (click)=\"ToggleEntityGroup(group)\">\n <div class=\"entity-group-left\">\n <i class=\"fa-solid fa-chevron-right entity-chevron\"\n [class.expanded]=\"group.IsExpanded\">\n </i>\n <i [class]=\"group.EntityIcon\" class=\"entity-icon\"></i>\n <span class=\"entity-group-name\">{{group.EntityName}}</span>\n </div>\n <div class=\"entity-group-badges\">\n @if (group.AddedCount > 0) {\n <span class=\"badge change-added\">\n +{{group.AddedCount}}\n </span>\n }\n @if (group.RemovedCount > 0) {\n <span class=\"badge change-removed\">\n -{{group.RemovedCount}}\n </span>\n }\n @if (group.ModifiedCount > 0) {\n <span class=\"badge change-modified\">\n ~{{group.ModifiedCount}}\n </span>\n }\n </div>\n </div>\n @if (group.IsExpanded) {\n <div class=\"entity-group-items\">\n @for (item of group.Items; track item) {\n <div class=\"diff-item-wrapper\">\n <div class=\"diff-item\" [ngClass]=\"GetChangeTypeClass(item.ChangeType)\"\n [class.clickable]=\"item.ChangeType === 'Modified'\"\n (click)=\"ToggleItem(item)\">\n <i [class]=\"GetChangeTypeIcon(item.ChangeType)\" class=\"diff-item-icon\"></i>\n <span class=\"diff-item-record\">\n {{FormatRecordID(item.RecordID)}}\n @if (item.DisplayName) {\n <span class=\"diff-item-display-name\"> ({{item.DisplayName}})</span>\n }\n </span>\n <span class=\"diff-item-type\">{{item.ChangeType}}</span>\n <button class=\"diff-item-open-btn\" (click)=\"OnOpenRecord(item); $event.stopPropagation()\"\n title=\"Open record\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\"></i>\n </button>\n @if (item.ChangeType === 'Modified') {\n <i class=\"fa-solid fa-chevron-right diff-item-chevron\"\n [class.expanded]=\"item.IsExpanded\"\n ></i>\n }\n </div>\n <!-- Field-level changes -->\n @if (item.IsExpanded && item.ChangeType === 'Modified') {\n <div class=\"diff-fields\">\n @if (item.IsLoadingFields) {\n <mj-loading text=\"Loading changes...\" size=\"small\"></mj-loading>\n }\n @if (!item.IsLoadingFields && item.FieldChanges.length > 0) {\n @for (field of item.FieldChanges; track field) {\n <div class=\"diff-field\"\n [ngClass]=\"GetChangeTypeClass(field.ChangeType)\">\n <span class=\"diff-field-name\">{{field.FieldName}}</span>\n <span class=\"diff-field-values\">\n @if (field.OldValue) {\n <span class=\"diff-field-old\">{{field.OldValue | slice:0:60}}</span>\n }\n @if (field.OldValue && field.NewValue) {\n <i class=\"fa-solid fa-arrow-right diff-field-arrow\"></i>\n }\n @if (field.NewValue) {\n <span class=\"diff-field-new\">{{field.NewValue | slice:0:60}}</span>\n }\n </span>\n </div>\n }\n }\n @if (!item.IsLoadingFields && item.FieldsLoaded && item.FieldChanges.length === 0) {\n <div class=\"diff-fields-empty\">\n <span>No field-level changes available</span>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- No changes -->\n @if (FilteredEntityGroups.length === 0 && TotalChanges === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-check-circle empty-icon\" style=\"color: #10b981;\"></i>\n <h3>No differences found</h3>\n <p>The compared states are identical.</p>\n </div>\n }\n }\n <!-- No results yet -->\n @if (!HasDiffResult && !IsDiffLoading) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-code-compare empty-icon\"></i>\n <h3>Select labels to compare</h3>\n <p>Choose a diff mode and select labels above, then click Compare.</p>\n </div>\n }\n }\n </mj-page-body>\n</mj-page-layout>\n", styles: ["/* Config Panel */\n.config-panel {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n padding: 24px;\n margin-bottom: 24px;\n}\n\n.mode-selector {\n display: flex;\n gap: 8px;\n margin-bottom: 20px;\n}\n\n.mode-btn {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 8px 18px;\n background: var(--mj-bg-surface-sunken);\n border: 2px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n font-size: 14px;\n color: var(--mj-text-secondary);\n transition: all 0.2s ease;\n}\n\n.mode-btn:hover {\n background: var(--mj-border-default);\n}\n\n.mode-btn.active {\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, transparent);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n font-weight: 600;\n}\n\n/* Label Selectors */\n.label-selectors {\n display: flex;\n align-items: flex-end;\n gap: 16px;\n margin-bottom: 20px;\n}\n\n.selector-group {\n flex: 1;\n}\n\n.selector-label {\n display: block;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 6px;\n}\n\n.selector-input {\n width: 100%;\n padding: 10px 12px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 14px;\n color: var(--mj-text-primary);\n outline: none;\n box-sizing: border-box;\n}\n\n.selector-input: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.selector-arrow {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n padding-bottom: 8px;\n color: var(--mj-text-secondary);\n font-size: 16px;\n}\n\n.current-state-badge {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n padding: 2px 8px;\n border-radius: 8px;\n white-space: nowrap;\n}\n\n/* Run Button */\n.btn-primary {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 10px 24px;\n background: var(--mj-brand-primary);\n border: none;\n border-radius: 8px;\n color: var(--mj-text-inverse);\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.btn-primary:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n}\n\n.btn-primary:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Diff Summary */\n.diff-summary {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 12px;\n margin-bottom: 24px;\n}\n\n.diff-stat {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 16px 20px;\n border-radius: 10px;\n border: 1px solid var(--mj-border-default);\n}\n\n.diff-stat i {\n font-size: 16px;\n}\n\n.diff-stat-value {\n font-size: 22px;\n font-weight: 700;\n color: var(--mj-text-primary);\n}\n\n.diff-stat-label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n/* Change type colors */\n.change-added {\n background: color-mix(in srgb, var(--mj-status-success) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-status-success) 20%, transparent);\n color: var(--mj-status-success);\n}\n\n.change-removed {\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-status-error) 20%, transparent);\n color: var(--mj-status-error);\n}\n\n.change-modified {\n background: color-mix(in srgb, var(--mj-status-warning) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-status-warning) 20%, transparent);\n color: var(--mj-status-warning);\n}\n\n.change-unchanged {\n background: color-mix(in srgb, var(--mj-text-muted) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-text-muted) 20%, transparent);\n color: var(--mj-text-muted);\n}\n\n/* Entity Groups */\n.entity-groups {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.entity-group {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n overflow: hidden;\n}\n\n.entity-group-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 14px 20px;\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.entity-group-header:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.entity-group-left {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.entity-group-left i:first-child {\n font-size: 12px;\n color: var(--mj-text-muted);\n width: 16px;\n}\n\n.entity-icon {\n color: var(--mj-brand-primary);\n font-size: 14px;\n}\n\n.entity-group-name {\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.entity-group-badges {\n display: flex;\n gap: 6px;\n}\n\n.badge {\n display: inline-flex;\n align-items: center;\n padding: 3px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n border: none;\n}\n\n/* Entity chevron animation */\n.entity-chevron {\n font-size: 11px;\n color: var(--mj-text-muted);\n width: 14px;\n text-align: center;\n transition: transform 0.2s ease;\n}\n\n.entity-chevron.expanded {\n transform: rotate(90deg);\n}\n\n/* Entity group items */\n.entity-group-items {\n border-top: 1px solid var(--mj-border-default);\n padding: 8px 16px;\n}\n\n.diff-item-wrapper {\n margin-bottom: 2px;\n}\n\n.diff-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 12px;\n border-radius: 6px;\n}\n\n.diff-item.clickable {\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.diff-item.clickable:hover {\n filter: brightness(0.97);\n}\n\n.diff-item-icon {\n font-size: 12px;\n width: 20px;\n text-align: center;\n}\n\n.diff-item-record {\n font-size: 13px;\n font-family: 'SF Mono', 'Fira Code', monospace;\n color: var(--mj-text-primary);\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.diff-item-display-name {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n color: var(--mj-text-secondary);\n font-weight: 500;\n}\n\n.diff-item-open-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: 1px solid transparent;\n border-radius: 4px;\n background: transparent;\n color: var(--mj-text-muted);\n font-size: 11px;\n cursor: pointer;\n transition: all 0.15s ease;\n flex-shrink: 0;\n}\n\n.diff-item-open-btn:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 6%, transparent);\n}\n\n.diff-item-type {\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.diff-item-chevron {\n font-size: 10px;\n color: var(--mj-text-muted);\n transition: transform 0.2s ease;\n}\n\n.diff-item-chevron.expanded {\n transform: rotate(90deg);\n}\n\n/* Field-level diff changes */\n.diff-fields {\n margin-left: 42px;\n margin-bottom: 8px;\n padding: 8px 0;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.diff-field {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 6px 10px;\n border-radius: 6px;\n font-size: 13px;\n}\n\n.diff-field.change-added {\n background: color-mix(in srgb, var(--mj-status-success) 6%, transparent);\n}\n\n.diff-field.change-modified {\n background: color-mix(in srgb, var(--mj-status-warning) 6%, transparent);\n}\n\n.diff-field.change-removed {\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n}\n\n.diff-field-name {\n font-weight: 600;\n color: var(--mj-text-primary);\n min-width: 120px;\n flex-shrink: 0;\n}\n\n.diff-field-values {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n flex: 1;\n}\n\n.diff-field-old {\n color: var(--mj-status-error);\n text-decoration: line-through;\n opacity: 0.8;\n font-family: 'SF Mono', 'Fira Code', monospace;\n font-size: 12px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.diff-field-arrow {\n color: var(--mj-text-muted);\n font-size: 10px;\n flex-shrink: 0;\n}\n\n.diff-field-new {\n color: var(--mj-status-success);\n font-family: 'SF Mono', 'Fira Code', monospace;\n font-size: 12px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.diff-fields-empty {\n padding: 6px 10px;\n font-size: 12px;\n color: var(--mj-text-muted);\n font-style: italic;\n}\n\n/* Toolbar actions */\n.diff-toolbar-right {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.toolbar-action-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-muted);\n font-size: 13px;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.toolbar-action-btn:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 6%, transparent);\n}\n\n/* Empty State */\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.empty-state h3 {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.empty-state p {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 400px;\n}\n\n/* Swap Button */\n.swap-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border: 1px solid var(--mj-border-default);\n border-radius: 50%;\n background: var(--mj-bg-surface-card);\n color: var(--mj-brand-primary);\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.swap-btn:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n border-color: var(--mj-brand-primary);\n transform: rotate(180deg);\n}\n\n/* Diff Results Toolbar */\n.diff-toolbar {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 16px;\n flex-wrap: wrap;\n}\n\n.diff-search {\n position: relative;\n flex: 1;\n min-width: 200px;\n}\n\n.diff-search-icon {\n position: absolute;\n left: 12px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n.diff-search-input {\n width: 100%;\n padding: 8px 12px 8px 36px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 13px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n box-sizing: border-box;\n}\n\n.diff-search-input:focus {\n outline: none;\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.diff-filter-pills {\n display: flex;\n gap: 4px;\n}\n\n.filter-pill {\n padding: 6px 14px;\n border: 1px solid var(--mj-border-default);\n border-radius: 16px;\n background: var(--mj-bg-surface-card);\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.filter-pill:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n.filter-pill.active {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.filter-pill.change-added.active {\n background: var(--mj-status-success);\n border-color: var(--mj-status-success);\n}\n\n.filter-pill.change-removed.active {\n background: var(--mj-status-error);\n border-color: var(--mj-status-error);\n}\n\n.filter-pill.change-modified.active {\n background: var(--mj-status-warning);\n border-color: var(--mj-status-warning);\n}\n\n.diff-sort-toggle {\n display: flex;\n gap: 2px;\n}\n\n.toggle-btn-sm {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-muted);\n font-size: 13px;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.toggle-btn-sm:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n.toggle-btn-sm.active {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n@media (max-width: 768px) {\n .diff-summary {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .label-selectors {\n flex-direction: column;\n }\n}\n"] }]
|
|
1159
1156
|
}], () => [{ type: i0.ChangeDetectorRef }], null); })();
|
|
1160
1157
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(VersionHistoryDiffResourceComponent, { className: "VersionHistoryDiffResourceComponent", filePath: "src/VersionHistory/components/diff-resource.component.ts", lineNumber: 59 }); })();
|
|
1161
1158
|
//# sourceMappingURL=diff-resource.component.js.map
|