@memberjunction/ng-dashboards 5.34.0 → 5.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AI/components/agents/agent-configuration.component.d.ts +51 -0
- package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +399 -292
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts +8 -2
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js +87 -85
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts +75 -0
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.js +400 -89
- package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
- package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts +5 -0
- package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/analytics-filter-bar.component.js +184 -135
- package/dist/AI/components/analytics/analytics-filter-bar.component.js.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +8 -2
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js +104 -103
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts +8 -2
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.js +76 -74
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.js +67 -87
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.js.map +1 -1
- package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts +12 -19
- package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/model-performance/model-performance.component.js +96 -203
- package/dist/AI/components/analytics/model-performance/model-performance.component.js.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +110 -126
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +61 -77
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +990 -992
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +6 -3
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +493 -490
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.d.ts +17 -0
- package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
- package/dist/AI/components/models/model-management.component.js +370 -425
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.d.ts +17 -0
- package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +317 -357
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.d.ts +11 -0
- package/dist/AI/components/requests/agent-requests-resource.component.d.ts.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.js +170 -175
- package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.d.ts +19 -0
- package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +403 -362
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +781 -783
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts +8 -3
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.js +547 -521
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.d.ts +6 -0
- package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +79 -30
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.d.ts +9 -3
- package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +196 -142
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts +41 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.js +388 -94
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
- package/dist/Actions/components/explorer/index.d.ts +0 -1
- package/dist/Actions/components/explorer/index.d.ts.map +1 -1
- package/dist/Actions/components/explorer/index.js +0 -1
- package/dist/Actions/components/explorer/index.js.map +1 -1
- package/dist/Admin/admin-data-schema.component.js +32 -40
- package/dist/Admin/admin-data-schema.component.js.map +1 -1
- package/dist/Admin/admin-dev-tools-resource.component.js +32 -40
- package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
- package/dist/Admin/admin-identity-access.component.js +32 -40
- package/dist/Admin/admin-identity-access.component.js.map +1 -1
- package/dist/Admin/admin-monitoring.component.js +32 -40
- package/dist/Admin/admin-monitoring.component.js.map +1 -1
- package/dist/ApplicationRoles/application-roles-resource.component.js +76 -82
- package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
- package/dist/Archiving/components/archive-config-resource.component.d.ts.map +1 -1
- package/dist/Archiving/components/archive-config-resource.component.js +24 -5
- package/dist/Archiving/components/archive-config-resource.component.js.map +1 -1
- package/dist/Archiving/components/archive-runs-resource.component.d.ts.map +1 -1
- package/dist/Archiving/components/archive-runs-resource.component.js +24 -5
- package/dist/Archiving/components/archive-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js +80 -99
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +127 -106
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js +44 -45
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +60 -58
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-templates-resource.component.js +139 -162
- package/dist/Communication/communication-templates-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts +7 -0
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.js +310 -297
- package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js +245 -266
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.d.ts +7 -0
- package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +381 -399
- package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.js +222 -228
- package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.d.ts +6 -0
- package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +294 -305
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts +8 -0
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +21 -0
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/entity-list.component.js +147 -160
- package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js +19 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +20 -16
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/Home/home-dashboard.component.d.ts +6 -0
- package/dist/Home/home-dashboard.component.d.ts.map +1 -1
- package/dist/Home/home-dashboard.component.js +521 -485
- package/dist/Home/home-dashboard.component.js.map +1 -1
- package/dist/Integration/components/activity/activity.component.d.ts +8 -0
- package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
- package/dist/Integration/components/activity/activity.component.js +309 -318
- package/dist/Integration/components/activity/activity.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +866 -847
- package/dist/Integration/components/connections/connections.component.js.map +1 -1
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +234 -233
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
- package/dist/Integration/components/overview/overview.component.js +182 -163
- package/dist/Integration/components/overview/overview.component.js.map +1 -1
- package/dist/Integration/components/pipelines/pipelines.component.d.ts +2 -0
- package/dist/Integration/components/pipelines/pipelines.component.d.ts.map +1 -1
- package/dist/Integration/components/pipelines/pipelines.component.js +610 -606
- package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
- package/dist/Integration/components/schedules/schedules.component.js +241 -241
- package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
- package/dist/Integration/integration.module.d.ts +1 -1
- package/dist/Integration/integration.module.d.ts.map +1 -1
- package/dist/Integration/integration.module.js +28 -1
- package/dist/Integration/integration.module.js.map +1 -1
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +673 -674
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +54 -51
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +745 -703
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts +12 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +191 -120
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +18 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +486 -532
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.js +152 -160
- package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +302 -319
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.js +234 -246
- package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
- package/dist/MCP/mcp-dashboard.component.d.ts +20 -0
- package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
- package/dist/MCP/mcp-dashboard.component.js +1248 -1338
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/MCP/mcp.module.d.ts +1 -1
- package/dist/MCP/mcp.module.d.ts.map +1 -1
- package/dist/MCP/mcp.module.js +34 -1
- package/dist/MCP/mcp.module.js.map +1 -1
- package/dist/Permissions/audit-log-resource.component.js +76 -85
- package/dist/Permissions/audit-log-resource.component.js.map +1 -1
- package/dist/Permissions/resource-access-resource.component.js +64 -69
- package/dist/Permissions/resource-access-resource.component.js.map +1 -1
- package/dist/Permissions/user-access-resource.component.js +63 -74
- package/dist/Permissions/user-access-resource.component.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +2 -2
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +2 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.js +11 -12
- package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts +9 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.js +250 -197
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +2 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js +11 -12
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts +9 -1
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js +203 -147
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +2 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.js +11 -12
- package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.d.ts +3 -1
- package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.js +224 -190
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.d.ts +19 -6
- package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +262 -104
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +4 -0
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.js +812 -784
- package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.js +7 -14
- package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics.component.d.ts +3 -1
- package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics.component.js +420 -393
- package/dist/Testing/components/testing-analytics.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +16 -19
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts +3 -1
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.js +157 -122
- package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.js +7 -12
- package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer.component.d.ts +8 -1
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer.component.js +587 -608
- package/dist/Testing/components/testing-explorer.component.js.map +1 -1
- package/dist/Testing/components/testing-review-resource.component.d.ts +4 -1
- package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-review-resource.component.js +9 -12
- package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-review.component.d.ts +3 -1
- package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-review.component.js +310 -274
- package/dist/Testing/components/testing-review.component.js.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.js +16 -19
- package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-runs.component.d.ts +3 -1
- package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs.component.js +307 -273
- package/dist/Testing/components/testing-runs.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.d.ts +2 -0
- package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +107 -93
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/VersionHistory/components/diff-resource.component.js +185 -188
- package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/graph-resource.component.js +154 -184
- package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.d.ts +7 -0
- package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.js +350 -354
- package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.js +163 -169
- package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
- package/dist/actions-dashboards.module.d.ts +15 -16
- package/dist/actions-dashboards.module.d.ts.map +1 -1
- package/dist/actions-dashboards.module.js +34 -11
- package/dist/actions-dashboards.module.js.map +1 -1
- package/dist/ai-dashboards.module.d.ts +45 -48
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +36 -10
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/archiving-dashboards.module.d.ts +2 -1
- package/dist/archiving-dashboards.module.d.ts.map +1 -1
- package/dist/archiving-dashboards.module.js +12 -2
- package/dist/archiving-dashboards.module.js.map +1 -1
- package/dist/communication-dashboards.module.d.ts +2 -1
- package/dist/communication-dashboards.module.d.ts.map +1 -1
- package/dist/communication-dashboards.module.js +24 -3
- package/dist/communication-dashboards.module.js.map +1 -1
- package/dist/core-dashboards.module.d.ts +1 -1
- package/dist/core-dashboards.module.d.ts.map +1 -1
- package/dist/core-dashboards.module.js +31 -1
- package/dist/core-dashboards.module.js.map +1 -1
- package/dist/credentials-dashboards.module.d.ts +1 -1
- package/dist/credentials-dashboards.module.d.ts.map +1 -1
- package/dist/credentials-dashboards.module.js +28 -1
- package/dist/credentials-dashboards.module.js.map +1 -1
- package/dist/lists-dashboards.module.d.ts +1 -1
- package/dist/lists-dashboards.module.d.ts.map +1 -1
- package/dist/lists-dashboards.module.js +28 -1
- package/dist/lists-dashboards.module.js.map +1 -1
- package/dist/public-api.d.ts +2 -2
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -3
- package/dist/public-api.js.map +1 -1
- package/dist/scheduling-dashboards.module.d.ts +1 -1
- package/dist/scheduling-dashboards.module.d.ts.map +1 -1
- package/dist/scheduling-dashboards.module.js +31 -1
- package/dist/scheduling-dashboards.module.js.map +1 -1
- package/dist/testing-dashboards.module.d.ts +8 -7
- package/dist/testing-dashboards.module.d.ts.map +1 -1
- package/dist/testing-dashboards.module.js +30 -0
- package/dist/testing-dashboards.module.js.map +1 -1
- package/package.json +52 -52
- package/dist/AI/components/agents/agent-filter-panel.component.d.ts +0 -56
- package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +0 -1
- package/dist/AI/components/agents/agent-filter-panel.component.js +0 -285
- package/dist/AI/components/agents/agent-filter-panel.component.js.map +0 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts +0 -49
- package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +0 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.js +0 -184
- package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +0 -1
- package/dist/AI/components/system/system-config-filter-panel.component.d.ts +0 -33
- package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +0 -1
- package/dist/AI/components/system/system-config-filter-panel.component.js +0 -144
- package/dist/AI/components/system/system-config-filter-panel.component.js.map +0 -1
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts +0 -63
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +0 -1
- package/dist/Actions/components/explorer/action-toolbar.component.js +0 -463
- package/dist/Actions/components/explorer/action-toolbar.component.js.map +0 -1
|
@@ -12,218 +12,208 @@ import { BaseResourceComponent } from '@memberjunction/ng-shared';
|
|
|
12
12
|
import { UserInfoEngine } from '@memberjunction/core-entities';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
import * as i1 from "@angular/common";
|
|
15
|
-
import * as i2 from "@
|
|
15
|
+
import * as i2 from "@memberjunction/ng-ui-components";
|
|
16
16
|
import * as i3 from "@memberjunction/ng-shared-generic";
|
|
17
|
-
function
|
|
18
|
-
i0.ɵɵ
|
|
19
|
-
|
|
20
|
-
function
|
|
21
|
-
|
|
22
|
-
i0.ɵɵelementStart(0, "button", 28);
|
|
23
|
-
i0.ɵɵlistener("click", function VersionHistoryGraphResourceComponent_Conditional_2_Conditional_30_For_2_Template_button_click_0_listener() { const schema_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnSchemaFilterChange(schema_r4)); });
|
|
24
|
-
i0.ɵɵtext(1);
|
|
25
|
-
i0.ɵɵelementStart(2, "span", 29);
|
|
26
|
-
i0.ɵɵtext(3);
|
|
27
|
-
i0.ɵɵelementEnd()();
|
|
17
|
+
function VersionHistoryGraphResourceComponent_Conditional_10_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
19
|
+
i0.ɵɵelementStart(0, "mj-filter-chip", 13);
|
|
20
|
+
i0.ɵɵlistener("Clicked", function VersionHistoryGraphResourceComponent_Conditional_10_For_1_Template_mj_filter_chip_Clicked_0_listener() { const schema_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.OnSchemaFilterChange(schema_r2)); });
|
|
21
|
+
i0.ɵɵelementEnd();
|
|
28
22
|
} if (rf & 2) {
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
i0.ɵɵ
|
|
32
|
-
i0.ɵɵadvance();
|
|
33
|
-
i0.ɵɵtextInterpolate1(" ", schema_r4, " ");
|
|
34
|
-
i0.ɵɵadvance(2);
|
|
35
|
-
i0.ɵɵtextInterpolate(ctx_r1.GetSchemaEntityCount(schema_r4));
|
|
23
|
+
const schema_r2 = ctx.$implicit;
|
|
24
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
25
|
+
i0.ɵɵproperty("Label", schema_r2)("Count", ctx_r2.GetSchemaEntityCount(schema_r2))("Active", ctx_r2.SchemaFilter === schema_r2);
|
|
36
26
|
} }
|
|
37
|
-
function
|
|
38
|
-
i0.ɵɵ
|
|
39
|
-
i0.ɵɵrepeaterCreate(1, VersionHistoryGraphResourceComponent_Conditional_2_Conditional_30_For_2_Template, 4, 4, "button", 27, i0.ɵɵrepeaterTrackByIdentity);
|
|
40
|
-
i0.ɵɵelementEnd();
|
|
27
|
+
function VersionHistoryGraphResourceComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
+
i0.ɵɵrepeaterCreate(0, VersionHistoryGraphResourceComponent_Conditional_10_For_1_Template, 1, 3, "mj-filter-chip", 12, i0.ɵɵrepeaterTrackByIdentity);
|
|
41
29
|
} if (rf & 2) {
|
|
42
|
-
const
|
|
43
|
-
i0.ɵɵ
|
|
44
|
-
i0.ɵɵrepeater(ctx_r1.AvailableSchemas);
|
|
30
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
31
|
+
i0.ɵɵrepeater(ctx_r2.AvailableSchemas);
|
|
45
32
|
} }
|
|
46
|
-
function
|
|
47
|
-
i0.ɵɵ
|
|
33
|
+
function VersionHistoryGraphResourceComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
34
|
+
i0.ɵɵelement(0, "mj-loading", 10);
|
|
35
|
+
} }
|
|
36
|
+
function VersionHistoryGraphResourceComponent_Conditional_13_For_4_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
37
|
+
i0.ɵɵelementStart(0, "span", 23);
|
|
48
38
|
i0.ɵɵtext(1);
|
|
49
|
-
i0.ɵɵelement(2, "i",
|
|
39
|
+
i0.ɵɵelement(2, "i", 25);
|
|
50
40
|
i0.ɵɵelementEnd();
|
|
51
41
|
} if (rf & 2) {
|
|
52
|
-
const
|
|
53
|
-
const
|
|
54
|
-
i0.ɵɵproperty("ngClass",
|
|
42
|
+
const entity_r5 = i0.ɵɵnextContext().$implicit;
|
|
43
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
44
|
+
i0.ɵɵproperty("ngClass", ctx_r2.GetDependencyLevel(entity_r5.ReferencedByCount));
|
|
55
45
|
i0.ɵɵadvance();
|
|
56
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
46
|
+
i0.ɵɵtextInterpolate1(" ", entity_r5.ReferencedByCount, " ");
|
|
57
47
|
} }
|
|
58
|
-
function
|
|
59
|
-
i0.ɵɵelementStart(0, "span",
|
|
48
|
+
function VersionHistoryGraphResourceComponent_Conditional_13_For_4_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
49
|
+
i0.ɵɵelementStart(0, "span", 24);
|
|
60
50
|
i0.ɵɵtext(1);
|
|
61
|
-
i0.ɵɵelement(2, "i",
|
|
51
|
+
i0.ɵɵelement(2, "i", 26);
|
|
62
52
|
i0.ɵɵelementEnd();
|
|
63
53
|
} if (rf & 2) {
|
|
64
|
-
const
|
|
54
|
+
const entity_r5 = i0.ɵɵnextContext().$implicit;
|
|
65
55
|
i0.ɵɵadvance();
|
|
66
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
56
|
+
i0.ɵɵtextInterpolate1(" ", entity_r5.DependsOnCount, " ");
|
|
67
57
|
} }
|
|
68
|
-
function
|
|
69
|
-
const
|
|
70
|
-
i0.ɵɵelementStart(0, "div",
|
|
71
|
-
i0.ɵɵlistener("click", function
|
|
72
|
-
i0.ɵɵelementStart(1, "div",
|
|
58
|
+
function VersionHistoryGraphResourceComponent_Conditional_13_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
59
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
60
|
+
i0.ɵɵelementStart(0, "div", 20);
|
|
61
|
+
i0.ɵɵlistener("click", function VersionHistoryGraphResourceComponent_Conditional_13_For_4_Template_div_click_0_listener() { const entity_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.SelectEntity(entity_r5)); });
|
|
62
|
+
i0.ɵɵelementStart(1, "div", 21);
|
|
73
63
|
i0.ɵɵtext(2);
|
|
74
64
|
i0.ɵɵelementEnd();
|
|
75
|
-
i0.ɵɵelementStart(3, "div",
|
|
76
|
-
i0.ɵɵconditionalCreate(4,
|
|
77
|
-
i0.ɵɵconditionalCreate(5,
|
|
65
|
+
i0.ɵɵelementStart(3, "div", 22);
|
|
66
|
+
i0.ɵɵconditionalCreate(4, VersionHistoryGraphResourceComponent_Conditional_13_For_4_Conditional_4_Template, 3, 2, "span", 23);
|
|
67
|
+
i0.ɵɵconditionalCreate(5, VersionHistoryGraphResourceComponent_Conditional_13_For_4_Conditional_5_Template, 3, 1, "span", 24);
|
|
78
68
|
i0.ɵɵelementEnd()();
|
|
79
69
|
} if (rf & 2) {
|
|
80
|
-
const
|
|
81
|
-
i0.ɵɵclassProp("selected",
|
|
70
|
+
const entity_r5 = ctx.$implicit;
|
|
71
|
+
i0.ɵɵclassProp("selected", entity_r5.IsSelected);
|
|
82
72
|
i0.ɵɵadvance(2);
|
|
83
|
-
i0.ɵɵtextInterpolate(
|
|
73
|
+
i0.ɵɵtextInterpolate(entity_r5.Name);
|
|
84
74
|
i0.ɵɵadvance(2);
|
|
85
|
-
i0.ɵɵconditional(
|
|
75
|
+
i0.ɵɵconditional(entity_r5.ReferencedByCount > 0 ? 4 : -1);
|
|
86
76
|
i0.ɵɵadvance();
|
|
87
|
-
i0.ɵɵconditional(
|
|
77
|
+
i0.ɵɵconditional(entity_r5.DependsOnCount > 0 ? 5 : -1);
|
|
88
78
|
} }
|
|
89
|
-
function
|
|
90
|
-
i0.ɵɵelementStart(0, "div",
|
|
79
|
+
function VersionHistoryGraphResourceComponent_Conditional_13_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
80
|
+
i0.ɵɵelementStart(0, "div", 17)(1, "p");
|
|
91
81
|
i0.ɵɵtext(2, "No entities match your search.");
|
|
92
82
|
i0.ɵɵelementEnd()();
|
|
93
83
|
} }
|
|
94
|
-
function
|
|
95
|
-
const
|
|
96
|
-
i0.ɵɵelementStart(0, "div",
|
|
97
|
-
i0.ɵɵlistener("click", function
|
|
98
|
-
i0.ɵɵelement(2, "i",
|
|
99
|
-
i0.ɵɵelementStart(3, "span",
|
|
84
|
+
function VersionHistoryGraphResourceComponent_Conditional_13_Conditional_7_Conditional_18_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
85
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
86
|
+
i0.ɵɵelementStart(0, "div", 40)(1, "div", 41);
|
|
87
|
+
i0.ɵɵlistener("click", function VersionHistoryGraphResourceComponent_Conditional_13_Conditional_7_Conditional_18_For_2_Template_div_click_1_listener() { const rel_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(rel_r7.ToEntity)); });
|
|
88
|
+
i0.ɵɵelement(2, "i", 42);
|
|
89
|
+
i0.ɵɵelementStart(3, "span", 43);
|
|
100
90
|
i0.ɵɵtext(4);
|
|
101
91
|
i0.ɵɵelementEnd();
|
|
102
|
-
i0.ɵɵelementStart(5, "span",
|
|
103
|
-
i0.ɵɵelement(6, "i",
|
|
92
|
+
i0.ɵɵelementStart(5, "span", 44);
|
|
93
|
+
i0.ɵɵelement(6, "i", 45);
|
|
104
94
|
i0.ɵɵtext(7);
|
|
105
95
|
i0.ɵɵelementEnd()()();
|
|
106
96
|
} if (rf & 2) {
|
|
107
|
-
const
|
|
97
|
+
const rel_r7 = ctx.$implicit;
|
|
108
98
|
i0.ɵɵadvance(4);
|
|
109
|
-
i0.ɵɵtextInterpolate(
|
|
99
|
+
i0.ɵɵtextInterpolate(rel_r7.ToEntity);
|
|
110
100
|
i0.ɵɵadvance(3);
|
|
111
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
101
|
+
i0.ɵɵtextInterpolate1(" ", rel_r7.RelatedEntityJoinField, " ");
|
|
112
102
|
} }
|
|
113
|
-
function
|
|
114
|
-
i0.ɵɵelementStart(0, "div",
|
|
115
|
-
i0.ɵɵrepeaterCreate(1,
|
|
103
|
+
function VersionHistoryGraphResourceComponent_Conditional_13_Conditional_7_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
104
|
+
i0.ɵɵelementStart(0, "div", 37);
|
|
105
|
+
i0.ɵɵrepeaterCreate(1, VersionHistoryGraphResourceComponent_Conditional_13_Conditional_7_Conditional_18_For_2_Template, 8, 2, "div", 40, i0.ɵɵrepeaterTrackByIdentity);
|
|
116
106
|
i0.ɵɵelementEnd();
|
|
117
107
|
} if (rf & 2) {
|
|
118
|
-
const
|
|
108
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
119
109
|
i0.ɵɵadvance();
|
|
120
|
-
i0.ɵɵrepeater(
|
|
110
|
+
i0.ɵɵrepeater(ctx_r2.ReferencedByEntities);
|
|
121
111
|
} }
|
|
122
|
-
function
|
|
123
|
-
i0.ɵɵelementStart(0, "div",
|
|
112
|
+
function VersionHistoryGraphResourceComponent_Conditional_13_Conditional_7_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
113
|
+
i0.ɵɵelementStart(0, "div", 38)(1, "p");
|
|
124
114
|
i0.ɵɵtext(2, "No entities reference this entity.");
|
|
125
115
|
i0.ɵɵelementEnd()();
|
|
126
116
|
} }
|
|
127
|
-
function
|
|
128
|
-
const
|
|
129
|
-
i0.ɵɵelementStart(0, "div",
|
|
130
|
-
i0.ɵɵlistener("click", function
|
|
131
|
-
i0.ɵɵelement(2, "i",
|
|
132
|
-
i0.ɵɵelementStart(3, "span",
|
|
117
|
+
function VersionHistoryGraphResourceComponent_Conditional_13_Conditional_7_Conditional_31_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
118
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
119
|
+
i0.ɵɵelementStart(0, "div", 40)(1, "div", 41);
|
|
120
|
+
i0.ɵɵlistener("click", function VersionHistoryGraphResourceComponent_Conditional_13_Conditional_7_Conditional_31_For_2_Template_div_click_1_listener() { const rel_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(rel_r9.FromEntity)); });
|
|
121
|
+
i0.ɵɵelement(2, "i", 42);
|
|
122
|
+
i0.ɵɵelementStart(3, "span", 43);
|
|
133
123
|
i0.ɵɵtext(4);
|
|
134
124
|
i0.ɵɵelementEnd();
|
|
135
|
-
i0.ɵɵelementStart(5, "span",
|
|
136
|
-
i0.ɵɵelement(6, "i",
|
|
125
|
+
i0.ɵɵelementStart(5, "span", 44);
|
|
126
|
+
i0.ɵɵelement(6, "i", 45);
|
|
137
127
|
i0.ɵɵtext(7);
|
|
138
128
|
i0.ɵɵelementEnd()()();
|
|
139
129
|
} if (rf & 2) {
|
|
140
|
-
const
|
|
130
|
+
const rel_r9 = ctx.$implicit;
|
|
141
131
|
i0.ɵɵadvance(4);
|
|
142
|
-
i0.ɵɵtextInterpolate(
|
|
132
|
+
i0.ɵɵtextInterpolate(rel_r9.FromEntity);
|
|
143
133
|
i0.ɵɵadvance(3);
|
|
144
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
134
|
+
i0.ɵɵtextInterpolate1(" ", rel_r9.RelatedEntityJoinField, " ");
|
|
145
135
|
} }
|
|
146
|
-
function
|
|
147
|
-
i0.ɵɵelementStart(0, "div",
|
|
148
|
-
i0.ɵɵrepeaterCreate(1,
|
|
136
|
+
function VersionHistoryGraphResourceComponent_Conditional_13_Conditional_7_Conditional_31_Template(rf, ctx) { if (rf & 1) {
|
|
137
|
+
i0.ɵɵelementStart(0, "div", 37);
|
|
138
|
+
i0.ɵɵrepeaterCreate(1, VersionHistoryGraphResourceComponent_Conditional_13_Conditional_7_Conditional_31_For_2_Template, 8, 2, "div", 40, i0.ɵɵrepeaterTrackByIdentity);
|
|
149
139
|
i0.ɵɵelementEnd();
|
|
150
140
|
} if (rf & 2) {
|
|
151
|
-
const
|
|
141
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
152
142
|
i0.ɵɵadvance();
|
|
153
|
-
i0.ɵɵrepeater(
|
|
143
|
+
i0.ɵɵrepeater(ctx_r2.DependsOnEntities);
|
|
154
144
|
} }
|
|
155
|
-
function
|
|
156
|
-
i0.ɵɵelementStart(0, "div",
|
|
145
|
+
function VersionHistoryGraphResourceComponent_Conditional_13_Conditional_7_Conditional_32_Template(rf, ctx) { if (rf & 1) {
|
|
146
|
+
i0.ɵɵelementStart(0, "div", 38)(1, "p");
|
|
157
147
|
i0.ɵɵtext(2, "This entity has no foreign key dependencies.");
|
|
158
148
|
i0.ɵɵelementEnd()();
|
|
159
149
|
} }
|
|
160
|
-
function
|
|
161
|
-
i0.ɵɵelementStart(0, "div",
|
|
162
|
-
i0.ɵɵelement(1, "i",
|
|
163
|
-
i0.ɵɵelementStart(2, "div",
|
|
150
|
+
function VersionHistoryGraphResourceComponent_Conditional_13_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
151
|
+
i0.ɵɵelementStart(0, "div", 27);
|
|
152
|
+
i0.ɵɵelement(1, "i", 28);
|
|
153
|
+
i0.ɵɵelementStart(2, "div", 29)(3, "h3", 30);
|
|
164
154
|
i0.ɵɵtext(4);
|
|
165
155
|
i0.ɵɵelementEnd();
|
|
166
|
-
i0.ɵɵelementStart(5, "span",
|
|
156
|
+
i0.ɵɵelementStart(5, "span", 31);
|
|
167
157
|
i0.ɵɵtext(6);
|
|
168
158
|
i0.ɵɵelementEnd()()();
|
|
169
|
-
i0.ɵɵelementStart(7, "div",
|
|
170
|
-
i0.ɵɵelement(9, "i",
|
|
159
|
+
i0.ɵɵelementStart(7, "div", 32)(8, "div", 33);
|
|
160
|
+
i0.ɵɵelement(9, "i", 34);
|
|
171
161
|
i0.ɵɵelementStart(10, "h4");
|
|
172
162
|
i0.ɵɵtext(11, "Referenced By");
|
|
173
163
|
i0.ɵɵelementEnd();
|
|
174
|
-
i0.ɵɵelementStart(12, "span",
|
|
164
|
+
i0.ɵɵelementStart(12, "span", 35);
|
|
175
165
|
i0.ɵɵtext(13);
|
|
176
166
|
i0.ɵɵelementEnd()();
|
|
177
|
-
i0.ɵɵelementStart(14, "p",
|
|
167
|
+
i0.ɵɵelementStart(14, "p", 36);
|
|
178
168
|
i0.ɵɵtext(15, "Entities that have foreign keys pointing to ");
|
|
179
169
|
i0.ɵɵelementStart(16, "strong");
|
|
180
170
|
i0.ɵɵtext(17);
|
|
181
171
|
i0.ɵɵelementEnd()();
|
|
182
|
-
i0.ɵɵconditionalCreate(18,
|
|
183
|
-
i0.ɵɵconditionalCreate(19,
|
|
172
|
+
i0.ɵɵconditionalCreate(18, VersionHistoryGraphResourceComponent_Conditional_13_Conditional_7_Conditional_18_Template, 3, 0, "div", 37);
|
|
173
|
+
i0.ɵɵconditionalCreate(19, VersionHistoryGraphResourceComponent_Conditional_13_Conditional_7_Conditional_19_Template, 3, 0, "div", 38);
|
|
184
174
|
i0.ɵɵelementEnd();
|
|
185
|
-
i0.ɵɵelementStart(20, "div",
|
|
186
|
-
i0.ɵɵelement(22, "i",
|
|
175
|
+
i0.ɵɵelementStart(20, "div", 32)(21, "div", 33);
|
|
176
|
+
i0.ɵɵelement(22, "i", 39);
|
|
187
177
|
i0.ɵɵelementStart(23, "h4");
|
|
188
178
|
i0.ɵɵtext(24, "Depends On");
|
|
189
179
|
i0.ɵɵelementEnd();
|
|
190
|
-
i0.ɵɵelementStart(25, "span",
|
|
180
|
+
i0.ɵɵelementStart(25, "span", 35);
|
|
191
181
|
i0.ɵɵtext(26);
|
|
192
182
|
i0.ɵɵelementEnd()();
|
|
193
|
-
i0.ɵɵelementStart(27, "p",
|
|
183
|
+
i0.ɵɵelementStart(27, "p", 36)(28, "strong");
|
|
194
184
|
i0.ɵɵtext(29);
|
|
195
185
|
i0.ɵɵelementEnd();
|
|
196
186
|
i0.ɵɵtext(30, " has foreign keys pointing to these entities");
|
|
197
187
|
i0.ɵɵelementEnd();
|
|
198
|
-
i0.ɵɵconditionalCreate(31,
|
|
199
|
-
i0.ɵɵconditionalCreate(32,
|
|
188
|
+
i0.ɵɵconditionalCreate(31, VersionHistoryGraphResourceComponent_Conditional_13_Conditional_7_Conditional_31_Template, 3, 0, "div", 37);
|
|
189
|
+
i0.ɵɵconditionalCreate(32, VersionHistoryGraphResourceComponent_Conditional_13_Conditional_7_Conditional_32_Template, 3, 0, "div", 38);
|
|
200
190
|
i0.ɵɵelementEnd();
|
|
201
191
|
} if (rf & 2) {
|
|
202
|
-
const
|
|
192
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
203
193
|
i0.ɵɵadvance(4);
|
|
204
|
-
i0.ɵɵtextInterpolate(
|
|
194
|
+
i0.ɵɵtextInterpolate(ctx_r2.SelectedEntity.Name);
|
|
205
195
|
i0.ɵɵadvance(2);
|
|
206
|
-
i0.ɵɵtextInterpolate(
|
|
196
|
+
i0.ɵɵtextInterpolate(ctx_r2.SelectedEntity.SchemaName);
|
|
207
197
|
i0.ɵɵadvance(7);
|
|
208
|
-
i0.ɵɵtextInterpolate(
|
|
198
|
+
i0.ɵɵtextInterpolate(ctx_r2.ReferencedByEntities.length);
|
|
209
199
|
i0.ɵɵadvance(4);
|
|
210
|
-
i0.ɵɵtextInterpolate(
|
|
200
|
+
i0.ɵɵtextInterpolate(ctx_r2.SelectedEntity.Name);
|
|
211
201
|
i0.ɵɵadvance();
|
|
212
|
-
i0.ɵɵconditional(
|
|
202
|
+
i0.ɵɵconditional(ctx_r2.ReferencedByEntities.length > 0 ? 18 : -1);
|
|
213
203
|
i0.ɵɵadvance();
|
|
214
|
-
i0.ɵɵconditional(
|
|
204
|
+
i0.ɵɵconditional(ctx_r2.ReferencedByEntities.length === 0 ? 19 : -1);
|
|
215
205
|
i0.ɵɵadvance(7);
|
|
216
|
-
i0.ɵɵtextInterpolate(
|
|
206
|
+
i0.ɵɵtextInterpolate(ctx_r2.DependsOnEntities.length);
|
|
217
207
|
i0.ɵɵadvance(3);
|
|
218
|
-
i0.ɵɵtextInterpolate(
|
|
208
|
+
i0.ɵɵtextInterpolate(ctx_r2.SelectedEntity.Name);
|
|
219
209
|
i0.ɵɵadvance(2);
|
|
220
|
-
i0.ɵɵconditional(
|
|
210
|
+
i0.ɵɵconditional(ctx_r2.DependsOnEntities.length > 0 ? 31 : -1);
|
|
221
211
|
i0.ɵɵadvance();
|
|
222
|
-
i0.ɵɵconditional(
|
|
212
|
+
i0.ɵɵconditional(ctx_r2.DependsOnEntities.length === 0 ? 32 : -1);
|
|
223
213
|
} }
|
|
224
|
-
function
|
|
225
|
-
i0.ɵɵelementStart(0, "div",
|
|
226
|
-
i0.ɵɵelement(1, "i",
|
|
214
|
+
function VersionHistoryGraphResourceComponent_Conditional_13_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
215
|
+
i0.ɵɵelementStart(0, "div", 19);
|
|
216
|
+
i0.ɵɵelement(1, "i", 46);
|
|
227
217
|
i0.ɵɵelementStart(2, "h3");
|
|
228
218
|
i0.ɵɵtext(3, "Select an Entity");
|
|
229
219
|
i0.ɵɵelementEnd();
|
|
@@ -231,67 +221,22 @@ function VersionHistoryGraphResourceComponent_Conditional_2_Conditional_37_Templ
|
|
|
231
221
|
i0.ɵɵtext(5, "Choose an entity from the list to explore its dependency relationships.");
|
|
232
222
|
i0.ɵɵelementEnd()();
|
|
233
223
|
} }
|
|
234
|
-
function
|
|
235
|
-
|
|
236
|
-
i0.ɵɵ
|
|
237
|
-
i0.ɵɵ
|
|
238
|
-
i0.ɵɵelementEnd();
|
|
239
|
-
i0.ɵɵelementStart(4, "p", 5);
|
|
240
|
-
i0.ɵɵtext(5, "Explore entity relationships used by the version history system");
|
|
241
|
-
i0.ɵɵelementEnd()();
|
|
242
|
-
i0.ɵɵelementStart(6, "div", 6)(7, "button", 7);
|
|
243
|
-
i0.ɵɵlistener("click", function VersionHistoryGraphResourceComponent_Conditional_2_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.Refresh()); });
|
|
244
|
-
i0.ɵɵelement(8, "i", 8);
|
|
245
|
-
i0.ɵɵelementEnd()()();
|
|
246
|
-
i0.ɵɵelementStart(9, "div", 9)(10, "div", 10);
|
|
247
|
-
i0.ɵɵelement(11, "i", 11);
|
|
248
|
-
i0.ɵɵelementStart(12, "span");
|
|
249
|
-
i0.ɵɵtext(13);
|
|
250
|
-
i0.ɵɵelementEnd()();
|
|
251
|
-
i0.ɵɵelementStart(14, "div", 10);
|
|
252
|
-
i0.ɵɵelement(15, "i", 12);
|
|
253
|
-
i0.ɵɵelementStart(16, "span");
|
|
254
|
-
i0.ɵɵtext(17);
|
|
255
|
-
i0.ɵɵelementEnd()();
|
|
256
|
-
i0.ɵɵelementStart(18, "div", 10);
|
|
257
|
-
i0.ɵɵelement(19, "i", 13);
|
|
258
|
-
i0.ɵɵelementStart(20, "span");
|
|
259
|
-
i0.ɵɵtext(21);
|
|
260
|
-
i0.ɵɵelementEnd()()();
|
|
261
|
-
i0.ɵɵelementStart(22, "div", 14)(23, "div", 15)(24, "div", 16)(25, "h3", 17);
|
|
262
|
-
i0.ɵɵtext(26, "Entities");
|
|
224
|
+
function VersionHistoryGraphResourceComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
225
|
+
i0.ɵɵelementStart(0, "div", 11)(1, "div", 14)(2, "div", 15);
|
|
226
|
+
i0.ɵɵrepeaterCreate(3, VersionHistoryGraphResourceComponent_Conditional_13_For_4_Template, 6, 5, "div", 16, i0.ɵɵrepeaterTrackByIdentity);
|
|
227
|
+
i0.ɵɵconditionalCreate(5, VersionHistoryGraphResourceComponent_Conditional_13_Conditional_5_Template, 3, 0, "div", 17);
|
|
263
228
|
i0.ɵɵelementEnd()();
|
|
264
|
-
i0.ɵɵelementStart(
|
|
265
|
-
i0.ɵɵ
|
|
266
|
-
i0.ɵɵelementStart(29, "input", 20);
|
|
267
|
-
i0.ɵɵlistener("ngModelChange", function VersionHistoryGraphResourceComponent_Conditional_2_Template_input_ngModelChange_29_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnSearchChange($event)); });
|
|
268
|
-
i0.ɵɵelementEnd()();
|
|
269
|
-
i0.ɵɵconditionalCreate(30, VersionHistoryGraphResourceComponent_Conditional_2_Conditional_30_Template, 3, 0, "div", 21);
|
|
270
|
-
i0.ɵɵelementStart(31, "div", 22);
|
|
271
|
-
i0.ɵɵrepeaterCreate(32, VersionHistoryGraphResourceComponent_Conditional_2_For_33_Template, 6, 5, "div", 23, i0.ɵɵrepeaterTrackByIdentity);
|
|
272
|
-
i0.ɵɵconditionalCreate(34, VersionHistoryGraphResourceComponent_Conditional_2_Conditional_34_Template, 3, 0, "div", 24);
|
|
273
|
-
i0.ɵɵelementEnd()();
|
|
274
|
-
i0.ɵɵelementStart(35, "div", 25);
|
|
275
|
-
i0.ɵɵconditionalCreate(36, VersionHistoryGraphResourceComponent_Conditional_2_Conditional_36_Template, 33, 10)(37, VersionHistoryGraphResourceComponent_Conditional_2_Conditional_37_Template, 6, 0, "div", 26);
|
|
229
|
+
i0.ɵɵelementStart(6, "div", 18);
|
|
230
|
+
i0.ɵɵconditionalCreate(7, VersionHistoryGraphResourceComponent_Conditional_13_Conditional_7_Template, 33, 10)(8, VersionHistoryGraphResourceComponent_Conditional_13_Conditional_8_Template, 6, 0, "div", 19);
|
|
276
231
|
i0.ɵɵelementEnd()();
|
|
277
232
|
} if (rf & 2) {
|
|
278
|
-
const
|
|
279
|
-
i0.ɵɵadvance(
|
|
280
|
-
i0.ɵɵ
|
|
281
|
-
i0.ɵɵadvance(4);
|
|
282
|
-
i0.ɵɵtextInterpolate1("", ctx_r1.EntitiesWithDependents, " with Dependents");
|
|
283
|
-
i0.ɵɵadvance(4);
|
|
284
|
-
i0.ɵɵtextInterpolate1("", ctx_r1.TotalRelationships, " Relationships");
|
|
285
|
-
i0.ɵɵadvance(8);
|
|
286
|
-
i0.ɵɵproperty("ngModel", ctx_r1.SearchText);
|
|
287
|
-
i0.ɵɵadvance();
|
|
288
|
-
i0.ɵɵconditional(ctx_r1.AvailableSchemas.length > 1 ? 30 : -1);
|
|
289
|
-
i0.ɵɵadvance(2);
|
|
290
|
-
i0.ɵɵrepeater(ctx_r1.FilteredEntities);
|
|
233
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
234
|
+
i0.ɵɵadvance(3);
|
|
235
|
+
i0.ɵɵrepeater(ctx_r2.FilteredEntities);
|
|
291
236
|
i0.ɵɵadvance(2);
|
|
292
|
-
i0.ɵɵconditional(
|
|
237
|
+
i0.ɵɵconditional(ctx_r2.FilteredEntities.length === 0 ? 5 : -1);
|
|
293
238
|
i0.ɵɵadvance(2);
|
|
294
|
-
i0.ɵɵconditional(
|
|
239
|
+
i0.ɵɵconditional(ctx_r2.SelectedEntity ? 7 : 8);
|
|
295
240
|
} }
|
|
296
241
|
let VersionHistoryGraphResourceComponent = class VersionHistoryGraphResourceComponent extends BaseResourceComponent {
|
|
297
242
|
static { VersionHistoryGraphResourceComponent_1 = this; }
|
|
@@ -498,17 +443,42 @@ let VersionHistoryGraphResourceComponent = class VersionHistoryGraphResourceComp
|
|
|
498
443
|
this.LoadData();
|
|
499
444
|
}
|
|
500
445
|
static ɵfac = function VersionHistoryGraphResourceComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || VersionHistoryGraphResourceComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
501
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VersionHistoryGraphResourceComponent, selectors: [["mj-version-history-graph-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
502
|
-
i0.ɵɵelementStart(0, "
|
|
503
|
-
i0.ɵɵ
|
|
504
|
-
i0.ɵɵ
|
|
446
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VersionHistoryGraphResourceComponent, selectors: [["mj-version-history-graph-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 14, vars: 9, consts: [["Title", "Entity Dependency Graph", "Icon", "fa-solid fa-diagram-project", "Subtitle", "Explore entity relationships used by the version history system"], ["meta", ""], ["Icon", "fa-solid fa-table", "Label", "entities", 3, "Count"], ["Icon", "fa-solid fa-diagram-project", "Label", "with dependents", 3, "Count"], ["Icon", "fa-solid fa-arrow-right-arrow-left", "Label", "relationships", 3, "Count"], ["actions", ""], [3, "Clicked", "Loading"], ["toolbar", ""], ["Placeholder", "Filter entities...", 3, "ValueChange", "Value"], [3, "Flex"], ["text", "Loading dependency graph..."], [1, "graph-layout"], [3, "Label", "Count", "Active"], [3, "Clicked", "Label", "Count", "Active"], [1, "entity-list-panel"], [1, "entity-scroll-list"], [1, "entity-list-item", 3, "selected"], [1, "empty-list"], [1, "entity-detail-panel"], [1, "no-selection"], [1, "entity-list-item", 3, "click"], [1, "entity-list-name"], [1, "entity-list-badges"], ["title", "Referenced by (entities with FKs to this)", 1, "dep-badge", 3, "ngClass"], ["title", "Depends on (entities this has FKs to)", 1, "dep-badge", "level-depends-on"], [1, "fa-solid", "fa-arrow-down"], [1, "fa-solid", "fa-arrow-up"], [1, "detail-header"], [1, "fa-solid", "fa-table", "detail-icon"], [1, "detail-header-text"], [1, "detail-title"], [1, "detail-schema"], [1, "relationship-section"], [1, "section-header"], [1, "fa-solid", "fa-arrow-down", "section-icon", "referenced-by-icon"], [1, "section-count"], [1, "section-hint"], [1, "relationship-list"], [1, "empty-relationships"], [1, "fa-solid", "fa-arrow-up", "section-icon", "depends-on-icon"], [1, "relationship-item"], [1, "rel-main", 3, "click"], [1, "fa-solid", "fa-table", "rel-icon"], [1, "rel-entity-name"], [1, "rel-join-field"], [1, "fa-solid", "fa-link"], [1, "fa-solid", "fa-diagram-project", "no-selection-icon"]], template: function VersionHistoryGraphResourceComponent_Template(rf, ctx) { if (rf & 1) {
|
|
447
|
+
i0.ɵɵelementStart(0, "mj-page-layout")(1, "mj-page-header", 0)(2, "div", 1);
|
|
448
|
+
i0.ɵɵelement(3, "mj-stat-badge", 2)(4, "mj-stat-badge", 3)(5, "mj-stat-badge", 4);
|
|
449
|
+
i0.ɵɵelementEnd();
|
|
450
|
+
i0.ɵɵelementStart(6, "div", 5)(7, "mj-refresh-button", 6);
|
|
451
|
+
i0.ɵɵlistener("Clicked", function VersionHistoryGraphResourceComponent_Template_mj_refresh_button_Clicked_7_listener() { return ctx.Refresh(); });
|
|
452
|
+
i0.ɵɵelementEnd()();
|
|
453
|
+
i0.ɵɵelementStart(8, "div", 7)(9, "mj-page-search", 8);
|
|
454
|
+
i0.ɵɵlistener("ValueChange", function VersionHistoryGraphResourceComponent_Template_mj_page_search_ValueChange_9_listener($event) { return ctx.OnSearchChange($event); });
|
|
505
455
|
i0.ɵɵelementEnd();
|
|
456
|
+
i0.ɵɵconditionalCreate(10, VersionHistoryGraphResourceComponent_Conditional_10_Template, 2, 0);
|
|
457
|
+
i0.ɵɵelementEnd()();
|
|
458
|
+
i0.ɵɵelementStart(11, "mj-page-body", 9);
|
|
459
|
+
i0.ɵɵconditionalCreate(12, VersionHistoryGraphResourceComponent_Conditional_12_Template, 1, 0, "mj-loading", 10);
|
|
460
|
+
i0.ɵɵconditionalCreate(13, VersionHistoryGraphResourceComponent_Conditional_13_Template, 9, 2, "div", 11);
|
|
461
|
+
i0.ɵɵelementEnd()();
|
|
506
462
|
} if (rf & 2) {
|
|
463
|
+
i0.ɵɵadvance(3);
|
|
464
|
+
i0.ɵɵproperty("Count", ctx.TotalEntities);
|
|
465
|
+
i0.ɵɵadvance();
|
|
466
|
+
i0.ɵɵproperty("Count", ctx.EntitiesWithDependents);
|
|
467
|
+
i0.ɵɵadvance();
|
|
468
|
+
i0.ɵɵproperty("Count", ctx.TotalRelationships);
|
|
469
|
+
i0.ɵɵadvance(2);
|
|
470
|
+
i0.ɵɵproperty("Loading", ctx.IsLoading);
|
|
471
|
+
i0.ɵɵadvance(2);
|
|
472
|
+
i0.ɵɵproperty("Value", ctx.SearchText);
|
|
473
|
+
i0.ɵɵadvance();
|
|
474
|
+
i0.ɵɵconditional(ctx.AvailableSchemas.length > 1 ? 10 : -1);
|
|
475
|
+
i0.ɵɵadvance();
|
|
476
|
+
i0.ɵɵproperty("Flex", true);
|
|
507
477
|
i0.ɵɵadvance();
|
|
508
|
-
i0.ɵɵconditional(ctx.IsLoading ?
|
|
478
|
+
i0.ɵɵconditional(ctx.IsLoading ? 12 : -1);
|
|
509
479
|
i0.ɵɵadvance();
|
|
510
|
-
i0.ɵɵconditional(!ctx.IsLoading ?
|
|
511
|
-
} }, dependencies: [i1.NgClass, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.LoadingComponent], styles: [".graph-container[_ngcontent-%COMP%] {\n padding: 24px;\n height: 100%;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n}\n\n\n\n.page-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 20px;\n}\n\n.header-left[_ngcontent-%COMP%] { flex: 1; }\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.header-actions[_ngcontent-%COMP%] { display: flex; gap: 12px; }\n\n.btn-icon[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n color: var(--mj-text-secondary);\n}\n\n.btn-icon[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n\n\n.stats-row[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n margin-bottom: 20px;\n}\n\n.stat-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 20px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.stat-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n\n\n.graph-layout[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 340px 1fr;\n gap: 20px;\n flex: 1;\n min-height: 0;\n}\n\n\n\n.entity-list-panel[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n display: flex;\n flex-direction: column;\n max-height: calc(100vh - 280px);\n}\n\n.panel-header[_ngcontent-%COMP%] {\n padding: 16px 20px 0;\n}\n\n.panel-title[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n}\n\n.search-bar[_ngcontent-%COMP%] {\n position: relative;\n padding: 12px 16px 8px;\n}\n\n.search-icon[_ngcontent-%COMP%] {\n position: absolute;\n left: 28px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-secondary);\n font-size: 13px;\n}\n\n.search-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: 8px 12px 8px 34px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 13px;\n color: var(--mj-text-primary);\n outline: none;\n box-sizing: border-box;\n}\n\n.search-input[_ngcontent-%COMP%]:focus {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-brand-primary);\n}\n\n\n\n.schema-chips[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n padding: 0 16px 10px;\n}\n\n.schema-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 4px 10px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n border-radius: 14px;\n font-size: 11px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.schema-chip[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n}\n\n.schema-chip.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.schema-chip-count[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 18px;\n height: 18px;\n padding: 0 4px;\n background: color-mix(in srgb, var(--mj-text-primary) 6%, transparent);\n border-radius: 9px;\n font-size: 10px;\n font-weight: 600;\n}\n\n.schema-chip.active[_ngcontent-%COMP%] .schema-chip-count[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.entity-scroll-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 0 8px 8px;\n}\n\n.entity-list-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 12px;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.entity-list-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.entity-list-item.selected[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, transparent);\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.entity-list-name[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n}\n\n.entity-list-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.dep-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n padding: 2px 8px;\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.dep-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 9px; }\n\n.level-none[_ngcontent-%COMP%] { display: none; }\n\n.level-low[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 10%, transparent);\n color: var(--mj-status-success);\n}\n\n.level-medium[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent);\n color: var(--mj-status-warning);\n}\n\n.level-high[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 10%, transparent);\n color: var(--mj-status-error);\n}\n\n.level-depends-on[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n}\n\n.empty-list[_ngcontent-%COMP%] {\n padding: 20px;\n text-align: center;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n\n\n.entity-detail-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 overflow-y: auto;\n max-height: calc(100vh - 280px);\n}\n\n.detail-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 28px;\n padding-bottom: 16px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.detail-header-text[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.detail-icon[_ngcontent-%COMP%] {\n font-size: 20px;\n color: var(--mj-brand-primary);\n}\n\n.detail-title[_ngcontent-%COMP%] {\n font-size: 20px;\n font-weight: 700;\n color: var(--mj-text-primary);\n margin: 0;\n}\n\n.detail-schema[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n\n\n.relationship-section[_ngcontent-%COMP%] {\n margin-bottom: 28px;\n}\n\n.section-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin-bottom: 4px;\n}\n\n.section-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n flex: 1;\n}\n\n.section-hint[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n margin: 0 0 12px 0;\n}\n\n.section-hint[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n}\n\n.section-icon[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n.referenced-by-icon[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n.depends-on-icon[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n\n.section-count[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 24px;\n height: 24px;\n padding: 0 8px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.relationship-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.relationship-item[_ngcontent-%COMP%] {\n border-radius: 8px;\n transition: background 0.15s ease;\n}\n\n.relationship-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.rel-main[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n}\n\n.rel-icon[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-brand-primary);\n opacity: 0.7;\n flex-shrink: 0;\n}\n\n.rel-entity-name[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-brand-primary);\n font-weight: 500;\n}\n\n.rel-entity-name[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n.rel-join-field[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n color: var(--mj-text-muted);\n font-family: 'SF Mono', 'Fira Code', monospace;\n margin-left: 4px;\n padding: 2px 8px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n}\n\n.rel-join-field[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 9px;\n opacity: 0.5;\n}\n\n.empty-relationships[_ngcontent-%COMP%] {\n padding: 12px;\n text-align: center;\n font-size: 13px;\n color: var(--mj-text-muted);\n}\n\n\n\n.no-selection[_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 height: 100%;\n}\n\n.no-selection-icon[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.no-selection[_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.no-selection[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 300px;\n}"], changeDetection: 0 });
|
|
480
|
+
i0.ɵɵconditional(!ctx.IsLoading ? 13 : -1);
|
|
481
|
+
} }, dependencies: [i1.NgClass, i2.MJPageHeaderComponent, i2.MJPageLayoutComponent, i2.MJPageBodyComponent, i2.MJPageSearchComponent, i2.MJFilterChipComponent, i2.MJStatBadgeComponent, i2.MJRefreshButtonComponent, i3.LoadingComponent], styles: ["\n\n.graph-layout[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 340px 1fr;\n gap: 20px;\n flex: 1;\n min-height: 0;\n}\n\n\n\n.entity-list-panel[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n display: flex;\n flex-direction: column;\n max-height: calc(100vh - 280px);\n}\n\n.entity-scroll-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 8px;\n}\n\n.entity-list-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 12px;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.entity-list-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.entity-list-item.selected[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, transparent);\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.entity-list-name[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n}\n\n.entity-list-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.dep-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n padding: 2px 8px;\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.dep-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 9px; }\n\n.level-none[_ngcontent-%COMP%] { display: none; }\n\n.level-low[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 10%, transparent);\n color: var(--mj-status-success);\n}\n\n.level-medium[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent);\n color: var(--mj-status-warning);\n}\n\n.level-high[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 10%, transparent);\n color: var(--mj-status-error);\n}\n\n.level-depends-on[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n}\n\n.empty-list[_ngcontent-%COMP%] {\n padding: 20px;\n text-align: center;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n\n\n.entity-detail-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 overflow-y: auto;\n max-height: calc(100vh - 280px);\n}\n\n.detail-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 28px;\n padding-bottom: 16px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.detail-header-text[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.detail-icon[_ngcontent-%COMP%] {\n font-size: 20px;\n color: var(--mj-brand-primary);\n}\n\n.detail-title[_ngcontent-%COMP%] {\n font-size: 20px;\n font-weight: 700;\n color: var(--mj-text-primary);\n margin: 0;\n}\n\n.detail-schema[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n\n\n.relationship-section[_ngcontent-%COMP%] {\n margin-bottom: 28px;\n}\n\n.section-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin-bottom: 4px;\n}\n\n.section-header[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n flex: 1;\n}\n\n.section-hint[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n margin: 0 0 12px 0;\n}\n\n.section-hint[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n}\n\n.section-icon[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n.referenced-by-icon[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n.depends-on-icon[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n\n.section-count[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 24px;\n height: 24px;\n padding: 0 8px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.relationship-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.relationship-item[_ngcontent-%COMP%] {\n border-radius: 8px;\n transition: background 0.15s ease;\n}\n\n.relationship-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.rel-main[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n}\n\n.rel-icon[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-brand-primary);\n opacity: 0.7;\n flex-shrink: 0;\n}\n\n.rel-entity-name[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-brand-primary);\n font-weight: 500;\n}\n\n.rel-entity-name[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n.rel-join-field[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n color: var(--mj-text-muted);\n font-family: 'SF Mono', 'Fira Code', monospace;\n margin-left: 4px;\n padding: 2px 8px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n}\n\n.rel-join-field[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 9px;\n opacity: 0.5;\n}\n\n.empty-relationships[_ngcontent-%COMP%] {\n padding: 12px;\n text-align: center;\n font-size: 13px;\n color: var(--mj-text-muted);\n}\n\n\n\n.no-selection[_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 height: 100%;\n}\n\n.no-selection-icon[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.no-selection[_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.no-selection[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 300px;\n}"], changeDetection: 0 });
|
|
512
482
|
};
|
|
513
483
|
VersionHistoryGraphResourceComponent = VersionHistoryGraphResourceComponent_1 = __decorate([
|
|
514
484
|
RegisterClass(BaseResourceComponent, 'VersionHistoryGraphResource')
|
|
@@ -516,7 +486,7 @@ VersionHistoryGraphResourceComponent = VersionHistoryGraphResourceComponent_1 =
|
|
|
516
486
|
export { VersionHistoryGraphResourceComponent };
|
|
517
487
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(VersionHistoryGraphResourceComponent, [{
|
|
518
488
|
type: Component,
|
|
519
|
-
args: [{ standalone: false, selector: 'mj-version-history-graph-resource', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"graph-container\">\n @if (IsLoading) {\n <mj-loading text=\"Loading dependency graph...\"></mj-loading>\n }\n\n @if (!IsLoading) {\n <!-- Header -->\n <div class=\"page-header\">\n <div class=\"header-left\">\n <h2 class=\"page-title\">Entity Dependency Graph</h2>\n <p class=\"page-subtitle\">Explore entity relationships used by the version history system</p>\n </div>\n <div class=\"header-actions\">\n <button class=\"btn-icon\" (click)=\"Refresh()\" title=\"Refresh\">\n <i class=\"fa-solid fa-refresh\"></i>\n </button>\n </div>\n </div>\n <!-- Stats Row -->\n <div class=\"stats-row\">\n <div class=\"stat-badge\">\n <i class=\"fa-solid fa-table\"></i>\n <span>{{TotalEntities}} Entities</span>\n </div>\n <div class=\"stat-badge\">\n <i class=\"fa-solid fa-diagram-project\"></i>\n <span>{{EntitiesWithDependents}} with Dependents</span>\n </div>\n <div class=\"stat-badge\">\n <i class=\"fa-solid fa-arrow-right-arrow-left\"></i>\n <span>{{TotalRelationships}} Relationships</span>\n </div>\n </div>\n <!-- Main Layout: Entity List + Detail -->\n <div class=\"graph-layout\">\n <!-- Entity List -->\n <div class=\"entity-list-panel\">\n <div class=\"panel-header\">\n <h3 class=\"panel-title\">Entities</h3>\n </div>\n <div class=\"search-bar\">\n <i class=\"fa-solid fa-search search-icon\"></i>\n <input type=\"text\"\n class=\"search-input\"\n placeholder=\"Filter entities...\"\n [ngModel]=\"SearchText\"\n (ngModelChange)=\"OnSearchChange($event)\" />\n </div>\n <!-- Schema Filter Chips -->\n @if (AvailableSchemas.length > 1) {\n <div class=\"schema-chips\">\n @for (schema of AvailableSchemas; track schema) {\n <button class=\"schema-chip\"\n [class.active]=\"SchemaFilter === schema\"\n (click)=\"OnSchemaFilterChange(schema)\">\n {{schema}}\n <span class=\"schema-chip-count\">{{GetSchemaEntityCount(schema)}}</span>\n </button>\n }\n </div>\n }\n <div class=\"entity-scroll-list\">\n @for (entity of FilteredEntities; track entity) {\n <div class=\"entity-list-item\"\n [class.selected]=\"entity.IsSelected\"\n (click)=\"SelectEntity(entity)\">\n <div class=\"entity-list-name\">{{entity.Name}}</div>\n <div class=\"entity-list-badges\">\n @if (entity.ReferencedByCount > 0) {\n <span class=\"dep-badge\"\n [ngClass]=\"GetDependencyLevel(entity.ReferencedByCount)\"\n title=\"Referenced by (entities with FKs to this)\">\n {{entity.ReferencedByCount}} <i class=\"fa-solid fa-arrow-down\"></i>\n </span>\n }\n @if (entity.DependsOnCount > 0) {\n <span class=\"dep-badge level-depends-on\"\n title=\"Depends on (entities this has FKs to)\">\n {{entity.DependsOnCount}} <i class=\"fa-solid fa-arrow-up\"></i>\n </span>\n }\n </div>\n </div>\n }\n @if (FilteredEntities.length === 0) {\n <div class=\"empty-list\">\n <p>No entities match your search.</p>\n </div>\n }\n </div>\n </div>\n <!-- Detail Panel -->\n <div class=\"entity-detail-panel\">\n @if (SelectedEntity) {\n <div class=\"detail-header\">\n <i class=\"fa-solid fa-table detail-icon\"></i>\n <div class=\"detail-header-text\">\n <h3 class=\"detail-title\">{{SelectedEntity.Name}}</h3>\n <span class=\"detail-schema\">{{SelectedEntity.SchemaName}}</span>\n </div>\n </div>\n <!-- Referenced By (entities that have FKs pointing to this entity) -->\n <div class=\"relationship-section\">\n <div class=\"section-header\">\n <i class=\"fa-solid fa-arrow-down section-icon referenced-by-icon\"></i>\n <h4>Referenced By</h4>\n <span class=\"section-count\">{{ReferencedByEntities.length}}</span>\n </div>\n <p class=\"section-hint\">Entities that have foreign keys pointing to <strong>{{SelectedEntity.Name}}</strong></p>\n @if (ReferencedByEntities.length > 0) {\n <div class=\"relationship-list\">\n @for (rel of ReferencedByEntities; track rel) {\n <div class=\"relationship-item\">\n <div class=\"rel-main\"\n (click)=\"NavigateToEntity(rel.ToEntity)\">\n <i class=\"fa-solid fa-table rel-icon\"></i>\n <span class=\"rel-entity-name\">{{rel.ToEntity}}</span>\n <span class=\"rel-join-field\">\n <i class=\"fa-solid fa-link\"></i>\n {{rel.RelatedEntityJoinField}}\n </span>\n </div>\n </div>\n }\n </div>\n }\n @if (ReferencedByEntities.length === 0) {\n <div class=\"empty-relationships\">\n <p>No entities reference this entity.</p>\n </div>\n }\n </div>\n <!-- Depends On (entities this entity has FKs to) -->\n <div class=\"relationship-section\">\n <div class=\"section-header\">\n <i class=\"fa-solid fa-arrow-up section-icon depends-on-icon\"></i>\n <h4>Depends On</h4>\n <span class=\"section-count\">{{DependsOnEntities.length}}</span>\n </div>\n <p class=\"section-hint\"><strong>{{SelectedEntity.Name}}</strong> has foreign keys pointing to these entities</p>\n @if (DependsOnEntities.length > 0) {\n <div class=\"relationship-list\">\n @for (rel of DependsOnEntities; track rel) {\n <div class=\"relationship-item\">\n <div class=\"rel-main\"\n (click)=\"NavigateToEntity(rel.FromEntity)\">\n <i class=\"fa-solid fa-table rel-icon\"></i>\n <span class=\"rel-entity-name\">{{rel.FromEntity}}</span>\n <span class=\"rel-join-field\">\n <i class=\"fa-solid fa-link\"></i>\n {{rel.RelatedEntityJoinField}}\n </span>\n </div>\n </div>\n }\n </div>\n }\n @if (DependsOnEntities.length === 0) {\n <div class=\"empty-relationships\">\n <p>This entity has no foreign key dependencies.</p>\n </div>\n }\n </div>\n } @else {\n <div class=\"no-selection\">\n <i class=\"fa-solid fa-diagram-project no-selection-icon\"></i>\n <h3>Select an Entity</h3>\n <p>Choose an entity from the list to explore its dependency relationships.</p>\n </div>\n }\n </div>\n </div>\n }\n</div>\n", styles: [".graph-container {\n padding: 24px;\n height: 100%;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n}\n\n/* Header */\n.page-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 20px;\n}\n\n.header-left { flex: 1; }\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.header-actions { display: flex; gap: 12px; }\n\n.btn-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n color: var(--mj-text-secondary);\n}\n\n.btn-icon:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n}\n\n/* Stats Row */\n.stats-row {\n display: flex;\n gap: 12px;\n margin-bottom: 20px;\n}\n\n.stat-badge {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 20px;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.stat-badge i {\n color: var(--mj-brand-primary);\n}\n\n/* Main Layout */\n.graph-layout {\n display: grid;\n grid-template-columns: 340px 1fr;\n gap: 20px;\n flex: 1;\n min-height: 0;\n}\n\n/* Entity List Panel */\n.entity-list-panel {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n display: flex;\n flex-direction: column;\n max-height: calc(100vh - 280px);\n}\n\n.panel-header {\n padding: 16px 20px 0;\n}\n\n.panel-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n}\n\n.search-bar {\n position: relative;\n padding: 12px 16px 8px;\n}\n\n.search-icon {\n position: absolute;\n left: 28px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-secondary);\n font-size: 13px;\n}\n\n.search-input {\n width: 100%;\n padding: 8px 12px 8px 34px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-strong);\n border-radius: 8px;\n font-size: 13px;\n color: var(--mj-text-primary);\n outline: none;\n box-sizing: border-box;\n}\n\n.search-input:focus {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-brand-primary);\n}\n\n/* Schema Filter Chips */\n.schema-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n padding: 0 16px 10px;\n}\n\n.schema-chip {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 4px 10px;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-default);\n border-radius: 14px;\n font-size: 11px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.schema-chip:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 6%, transparent);\n border-color: color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n}\n\n.schema-chip.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.schema-chip-count {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 18px;\n height: 18px;\n padding: 0 4px;\n background: color-mix(in srgb, var(--mj-text-primary) 6%, transparent);\n border-radius: 9px;\n font-size: 10px;\n font-weight: 600;\n}\n\n.schema-chip.active .schema-chip-count {\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.entity-scroll-list {\n flex: 1;\n overflow-y: auto;\n padding: 0 8px 8px;\n}\n\n.entity-list-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 12px;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.entity-list-item:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.entity-list-item.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, transparent);\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.entity-list-name {\n font-size: 13px;\n color: var(--mj-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n}\n\n.entity-list-badges {\n display: flex;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.dep-badge {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n padding: 2px 8px;\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.dep-badge i { font-size: 9px; }\n\n.level-none { display: none; }\n\n.level-low {\n background: color-mix(in srgb, var(--mj-status-success) 10%, transparent);\n color: var(--mj-status-success);\n}\n\n.level-medium {\n background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent);\n color: var(--mj-status-warning);\n}\n\n.level-high {\n background: color-mix(in srgb, var(--mj-status-error) 10%, transparent);\n color: var(--mj-status-error);\n}\n\n.level-depends-on {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n}\n\n.empty-list {\n padding: 20px;\n text-align: center;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n/* Detail Panel */\n.entity-detail-panel {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n padding: 24px;\n overflow-y: auto;\n max-height: calc(100vh - 280px);\n}\n\n.detail-header {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 28px;\n padding-bottom: 16px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.detail-header-text {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.detail-icon {\n font-size: 20px;\n color: var(--mj-brand-primary);\n}\n\n.detail-title {\n font-size: 20px;\n font-weight: 700;\n color: var(--mj-text-primary);\n margin: 0;\n}\n\n.detail-schema {\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n/* Relationship Sections */\n.relationship-section {\n margin-bottom: 28px;\n}\n\n.section-header {\n display: flex;\n align-items: center;\n gap: 10px;\n margin-bottom: 4px;\n}\n\n.section-header h4 {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n flex: 1;\n}\n\n.section-hint {\n font-size: 12px;\n color: var(--mj-text-muted);\n margin: 0 0 12px 0;\n}\n\n.section-hint strong {\n color: var(--mj-text-secondary);\n}\n\n.section-icon {\n font-size: 14px;\n}\n\n.referenced-by-icon { color: var(--mj-status-success); }\n.depends-on-icon { color: var(--mj-brand-primary); }\n\n.section-count {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 24px;\n height: 24px;\n padding: 0 8px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.relationship-list {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.relationship-item {\n border-radius: 8px;\n transition: background 0.15s ease;\n}\n\n.relationship-item:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.rel-main {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n}\n\n.rel-icon {\n font-size: 12px;\n color: var(--mj-brand-primary);\n opacity: 0.7;\n flex-shrink: 0;\n}\n\n.rel-entity-name {\n font-size: 14px;\n color: var(--mj-brand-primary);\n font-weight: 500;\n}\n\n.rel-entity-name:hover {\n text-decoration: underline;\n}\n\n.rel-join-field {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n color: var(--mj-text-muted);\n font-family: 'SF Mono', 'Fira Code', monospace;\n margin-left: 4px;\n padding: 2px 8px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n}\n\n.rel-join-field i {\n font-size: 9px;\n opacity: 0.5;\n}\n\n.empty-relationships {\n padding: 12px;\n text-align: center;\n font-size: 13px;\n color: var(--mj-text-muted);\n}\n\n/* No Selection */\n.no-selection {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n height: 100%;\n}\n\n.no-selection-icon {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.no-selection h3 {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.no-selection p {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 300px;\n}\n"] }]
|
|
489
|
+
args: [{ standalone: false, selector: 'mj-version-history-graph-resource', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mj-page-layout>\n <mj-page-header\n Title=\"Entity Dependency Graph\"\n Icon=\"fa-solid fa-diagram-project\"\n Subtitle=\"Explore entity relationships used by the version history system\">\n <div meta>\n <mj-stat-badge Icon=\"fa-solid fa-table\" [Count]=\"TotalEntities\" Label=\"entities\"></mj-stat-badge>\n <mj-stat-badge Icon=\"fa-solid fa-diagram-project\" [Count]=\"EntitiesWithDependents\" Label=\"with dependents\"></mj-stat-badge>\n <mj-stat-badge Icon=\"fa-solid fa-arrow-right-arrow-left\" [Count]=\"TotalRelationships\" Label=\"relationships\"></mj-stat-badge>\n </div>\n <div actions>\n <mj-refresh-button [Loading]=\"IsLoading\" (Clicked)=\"Refresh()\"></mj-refresh-button>\n </div>\n <div toolbar>\n <mj-page-search\n Placeholder=\"Filter entities...\"\n [Value]=\"SearchText\"\n (ValueChange)=\"OnSearchChange($event)\">\n </mj-page-search>\n @if (AvailableSchemas.length > 1) {\n @for (schema of AvailableSchemas; track schema) {\n <mj-filter-chip\n [Label]=\"schema\"\n [Count]=\"GetSchemaEntityCount(schema)\"\n [Active]=\"SchemaFilter === schema\"\n (Clicked)=\"OnSchemaFilterChange(schema)\">\n </mj-filter-chip>\n }\n }\n </div>\n </mj-page-header>\n\n <mj-page-body [Flex]=\"true\">\n @if (IsLoading) {\n <mj-loading text=\"Loading dependency graph...\"></mj-loading>\n }\n\n @if (!IsLoading) {\n <!-- Main Layout: Entity List + Detail -->\n <div class=\"graph-layout\">\n <!-- Entity List \u2014 page-header [toolbar] owns search + schema chips -->\n <div class=\"entity-list-panel\">\n <div class=\"entity-scroll-list\">\n @for (entity of FilteredEntities; track entity) {\n <div class=\"entity-list-item\"\n [class.selected]=\"entity.IsSelected\"\n (click)=\"SelectEntity(entity)\">\n <div class=\"entity-list-name\">{{entity.Name}}</div>\n <div class=\"entity-list-badges\">\n @if (entity.ReferencedByCount > 0) {\n <span class=\"dep-badge\"\n [ngClass]=\"GetDependencyLevel(entity.ReferencedByCount)\"\n title=\"Referenced by (entities with FKs to this)\">\n {{entity.ReferencedByCount}} <i class=\"fa-solid fa-arrow-down\"></i>\n </span>\n }\n @if (entity.DependsOnCount > 0) {\n <span class=\"dep-badge level-depends-on\"\n title=\"Depends on (entities this has FKs to)\">\n {{entity.DependsOnCount}} <i class=\"fa-solid fa-arrow-up\"></i>\n </span>\n }\n </div>\n </div>\n }\n @if (FilteredEntities.length === 0) {\n <div class=\"empty-list\">\n <p>No entities match your search.</p>\n </div>\n }\n </div>\n </div>\n <!-- Detail Panel -->\n <div class=\"entity-detail-panel\">\n @if (SelectedEntity) {\n <div class=\"detail-header\">\n <i class=\"fa-solid fa-table detail-icon\"></i>\n <div class=\"detail-header-text\">\n <h3 class=\"detail-title\">{{SelectedEntity.Name}}</h3>\n <span class=\"detail-schema\">{{SelectedEntity.SchemaName}}</span>\n </div>\n </div>\n <!-- Referenced By (entities that have FKs pointing to this entity) -->\n <div class=\"relationship-section\">\n <div class=\"section-header\">\n <i class=\"fa-solid fa-arrow-down section-icon referenced-by-icon\"></i>\n <h4>Referenced By</h4>\n <span class=\"section-count\">{{ReferencedByEntities.length}}</span>\n </div>\n <p class=\"section-hint\">Entities that have foreign keys pointing to <strong>{{SelectedEntity.Name}}</strong></p>\n @if (ReferencedByEntities.length > 0) {\n <div class=\"relationship-list\">\n @for (rel of ReferencedByEntities; track rel) {\n <div class=\"relationship-item\">\n <div class=\"rel-main\"\n (click)=\"NavigateToEntity(rel.ToEntity)\">\n <i class=\"fa-solid fa-table rel-icon\"></i>\n <span class=\"rel-entity-name\">{{rel.ToEntity}}</span>\n <span class=\"rel-join-field\">\n <i class=\"fa-solid fa-link\"></i>\n {{rel.RelatedEntityJoinField}}\n </span>\n </div>\n </div>\n }\n </div>\n }\n @if (ReferencedByEntities.length === 0) {\n <div class=\"empty-relationships\">\n <p>No entities reference this entity.</p>\n </div>\n }\n </div>\n <!-- Depends On (entities this entity has FKs to) -->\n <div class=\"relationship-section\">\n <div class=\"section-header\">\n <i class=\"fa-solid fa-arrow-up section-icon depends-on-icon\"></i>\n <h4>Depends On</h4>\n <span class=\"section-count\">{{DependsOnEntities.length}}</span>\n </div>\n <p class=\"section-hint\"><strong>{{SelectedEntity.Name}}</strong> has foreign keys pointing to these entities</p>\n @if (DependsOnEntities.length > 0) {\n <div class=\"relationship-list\">\n @for (rel of DependsOnEntities; track rel) {\n <div class=\"relationship-item\">\n <div class=\"rel-main\"\n (click)=\"NavigateToEntity(rel.FromEntity)\">\n <i class=\"fa-solid fa-table rel-icon\"></i>\n <span class=\"rel-entity-name\">{{rel.FromEntity}}</span>\n <span class=\"rel-join-field\">\n <i class=\"fa-solid fa-link\"></i>\n {{rel.RelatedEntityJoinField}}\n </span>\n </div>\n </div>\n }\n </div>\n }\n @if (DependsOnEntities.length === 0) {\n <div class=\"empty-relationships\">\n <p>This entity has no foreign key dependencies.</p>\n </div>\n }\n </div>\n } @else {\n <div class=\"no-selection\">\n <i class=\"fa-solid fa-diagram-project no-selection-icon\"></i>\n <h3>Select an Entity</h3>\n <p>Choose an entity from the list to explore its dependency relationships.</p>\n </div>\n }\n </div>\n </div>\n }\n </mj-page-body>\n</mj-page-layout>\n", styles: ["/* Main Layout */\n.graph-layout {\n display: grid;\n grid-template-columns: 340px 1fr;\n gap: 20px;\n flex: 1;\n min-height: 0;\n}\n\n/* Entity List Panel */\n.entity-list-panel {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n display: flex;\n flex-direction: column;\n max-height: calc(100vh - 280px);\n}\n\n.entity-scroll-list {\n flex: 1;\n overflow-y: auto;\n padding: 8px;\n}\n\n.entity-list-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 12px;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.entity-list-item:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.entity-list-item.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, transparent);\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.entity-list-name {\n font-size: 13px;\n color: var(--mj-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n}\n\n.entity-list-badges {\n display: flex;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.dep-badge {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n padding: 2px 8px;\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.dep-badge i { font-size: 9px; }\n\n.level-none { display: none; }\n\n.level-low {\n background: color-mix(in srgb, var(--mj-status-success) 10%, transparent);\n color: var(--mj-status-success);\n}\n\n.level-medium {\n background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent);\n color: var(--mj-status-warning);\n}\n\n.level-high {\n background: color-mix(in srgb, var(--mj-status-error) 10%, transparent);\n color: var(--mj-status-error);\n}\n\n.level-depends-on {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n}\n\n.empty-list {\n padding: 20px;\n text-align: center;\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n/* Detail Panel */\n.entity-detail-panel {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n padding: 24px;\n overflow-y: auto;\n max-height: calc(100vh - 280px);\n}\n\n.detail-header {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 28px;\n padding-bottom: 16px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.detail-header-text {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.detail-icon {\n font-size: 20px;\n color: var(--mj-brand-primary);\n}\n\n.detail-title {\n font-size: 20px;\n font-weight: 700;\n color: var(--mj-text-primary);\n margin: 0;\n}\n\n.detail-schema {\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n/* Relationship Sections */\n.relationship-section {\n margin-bottom: 28px;\n}\n\n.section-header {\n display: flex;\n align-items: center;\n gap: 10px;\n margin-bottom: 4px;\n}\n\n.section-header h4 {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0;\n flex: 1;\n}\n\n.section-hint {\n font-size: 12px;\n color: var(--mj-text-muted);\n margin: 0 0 12px 0;\n}\n\n.section-hint strong {\n color: var(--mj-text-secondary);\n}\n\n.section-icon {\n font-size: 14px;\n}\n\n.referenced-by-icon { color: var(--mj-status-success); }\n.depends-on-icon { color: var(--mj-brand-primary); }\n\n.section-count {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 24px;\n height: 24px;\n padding: 0 8px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n}\n\n.relationship-list {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.relationship-item {\n border-radius: 8px;\n transition: background 0.15s ease;\n}\n\n.relationship-item:hover {\n background: var(--mj-bg-surface-sunken);\n}\n\n.rel-main {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n}\n\n.rel-icon {\n font-size: 12px;\n color: var(--mj-brand-primary);\n opacity: 0.7;\n flex-shrink: 0;\n}\n\n.rel-entity-name {\n font-size: 14px;\n color: var(--mj-brand-primary);\n font-weight: 500;\n}\n\n.rel-entity-name:hover {\n text-decoration: underline;\n}\n\n.rel-join-field {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n color: var(--mj-text-muted);\n font-family: 'SF Mono', 'Fira Code', monospace;\n margin-left: 4px;\n padding: 2px 8px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n}\n\n.rel-join-field i {\n font-size: 9px;\n opacity: 0.5;\n}\n\n.empty-relationships {\n padding: 12px;\n text-align: center;\n font-size: 13px;\n color: var(--mj-text-muted);\n}\n\n/* No Selection */\n.no-selection {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n height: 100%;\n}\n\n.no-selection-icon {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.no-selection h3 {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.no-selection p {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 300px;\n}\n"] }]
|
|
520
490
|
}], () => [{ type: i0.ChangeDetectorRef }], null); })();
|
|
521
491
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(VersionHistoryGraphResourceComponent, { className: "VersionHistoryGraphResourceComponent", filePath: "src/VersionHistory/components/graph-resource.component.ts", lineNumber: 35 }); })();
|
|
522
492
|
//# sourceMappingURL=graph-resource.component.js.map
|