@memberjunction/ng-dashboards 5.34.1 → 5.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AI/components/agents/agent-configuration.component.d.ts +51 -0
- package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +399 -292
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts +8 -2
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js +87 -85
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts +75 -0
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.js +400 -89
- package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
- package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts +5 -0
- package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/analytics-filter-bar.component.js +184 -135
- package/dist/AI/components/analytics/analytics-filter-bar.component.js.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +8 -2
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js +104 -103
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts +8 -2
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.js +76 -74
- package/dist/AI/components/analytics/error-analysis/error-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.js +67 -87
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.js.map +1 -1
- package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts +12 -19
- package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/model-performance/model-performance.component.js +96 -203
- package/dist/AI/components/analytics/model-performance/model-performance.component.js.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +110 -126
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +61 -77
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +990 -992
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +6 -3
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +493 -490
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.d.ts +17 -0
- package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
- package/dist/AI/components/models/model-management.component.js +370 -425
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.d.ts +17 -0
- package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +317 -357
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.d.ts +11 -0
- package/dist/AI/components/requests/agent-requests-resource.component.d.ts.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.js +170 -175
- package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.d.ts +19 -0
- package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +403 -362
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +781 -783
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts +8 -3
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.js +547 -521
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.d.ts +6 -0
- package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +79 -30
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.d.ts +9 -3
- package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +196 -142
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts +41 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.js +388 -94
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
- package/dist/Actions/components/explorer/index.d.ts +0 -1
- package/dist/Actions/components/explorer/index.d.ts.map +1 -1
- package/dist/Actions/components/explorer/index.js +0 -1
- package/dist/Actions/components/explorer/index.js.map +1 -1
- package/dist/Admin/admin-data-schema.component.js +32 -40
- package/dist/Admin/admin-data-schema.component.js.map +1 -1
- package/dist/Admin/admin-dev-tools-resource.component.js +32 -40
- package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
- package/dist/Admin/admin-identity-access.component.js +32 -40
- package/dist/Admin/admin-identity-access.component.js.map +1 -1
- package/dist/Admin/admin-monitoring.component.js +32 -40
- package/dist/Admin/admin-monitoring.component.js.map +1 -1
- package/dist/ApplicationRoles/application-roles-resource.component.js +76 -82
- package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
- package/dist/Archiving/components/archive-config-resource.component.d.ts.map +1 -1
- package/dist/Archiving/components/archive-config-resource.component.js +24 -5
- package/dist/Archiving/components/archive-config-resource.component.js.map +1 -1
- package/dist/Archiving/components/archive-runs-resource.component.d.ts.map +1 -1
- package/dist/Archiving/components/archive-runs-resource.component.js +24 -5
- package/dist/Archiving/components/archive-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js +80 -99
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +127 -106
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js +44 -45
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +60 -58
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-templates-resource.component.js +139 -162
- package/dist/Communication/communication-templates-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts +7 -0
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.js +310 -297
- package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js +245 -266
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.d.ts +7 -0
- package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +381 -399
- package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.js +222 -228
- package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.d.ts +6 -0
- package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +294 -305
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts +8 -0
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +21 -0
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/entity-list.component.js +147 -160
- package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js +19 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +20 -16
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/Home/home-dashboard.component.d.ts +6 -0
- package/dist/Home/home-dashboard.component.d.ts.map +1 -1
- package/dist/Home/home-dashboard.component.js +521 -485
- package/dist/Home/home-dashboard.component.js.map +1 -1
- package/dist/Integration/components/activity/activity.component.d.ts +8 -0
- package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
- package/dist/Integration/components/activity/activity.component.js +309 -318
- package/dist/Integration/components/activity/activity.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +866 -847
- package/dist/Integration/components/connections/connections.component.js.map +1 -1
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +234 -233
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
- package/dist/Integration/components/overview/overview.component.js +182 -163
- package/dist/Integration/components/overview/overview.component.js.map +1 -1
- package/dist/Integration/components/pipelines/pipelines.component.d.ts +2 -0
- package/dist/Integration/components/pipelines/pipelines.component.d.ts.map +1 -1
- package/dist/Integration/components/pipelines/pipelines.component.js +610 -606
- package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
- package/dist/Integration/components/schedules/schedules.component.js +241 -241
- package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
- package/dist/Integration/integration.module.d.ts +1 -1
- package/dist/Integration/integration.module.d.ts.map +1 -1
- package/dist/Integration/integration.module.js +28 -1
- package/dist/Integration/integration.module.js.map +1 -1
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +673 -674
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +54 -51
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +745 -703
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts +12 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +191 -120
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +18 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +486 -532
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.js +152 -160
- package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +302 -319
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.js +234 -246
- package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
- package/dist/MCP/mcp-dashboard.component.d.ts +20 -0
- package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
- package/dist/MCP/mcp-dashboard.component.js +1248 -1338
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/MCP/mcp.module.d.ts +1 -1
- package/dist/MCP/mcp.module.d.ts.map +1 -1
- package/dist/MCP/mcp.module.js +34 -1
- package/dist/MCP/mcp.module.js.map +1 -1
- package/dist/Permissions/audit-log-resource.component.js +76 -85
- package/dist/Permissions/audit-log-resource.component.js.map +1 -1
- package/dist/Permissions/resource-access-resource.component.js +64 -69
- package/dist/Permissions/resource-access-resource.component.js.map +1 -1
- package/dist/Permissions/user-access-resource.component.js +63 -74
- package/dist/Permissions/user-access-resource.component.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +2 -2
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +2 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.js +11 -12
- package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts +9 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.js +250 -197
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +2 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js +11 -12
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts +9 -1
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js +203 -147
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +2 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.js +11 -12
- package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.d.ts +3 -1
- package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.js +224 -190
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.d.ts +19 -6
- package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +262 -104
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.js +773 -783
- package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.js +7 -14
- package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics.component.d.ts +3 -1
- package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics.component.js +420 -393
- package/dist/Testing/components/testing-analytics.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +16 -19
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts +3 -1
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab.component.js +157 -122
- package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.js +7 -12
- package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer.component.d.ts +8 -1
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer.component.js +587 -608
- package/dist/Testing/components/testing-explorer.component.js.map +1 -1
- package/dist/Testing/components/testing-review-resource.component.d.ts +4 -1
- package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-review-resource.component.js +9 -12
- package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-review.component.d.ts +3 -1
- package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-review.component.js +310 -274
- package/dist/Testing/components/testing-review.component.js.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.js +16 -19
- package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-runs.component.d.ts +3 -1
- package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs.component.js +307 -273
- package/dist/Testing/components/testing-runs.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.d.ts +2 -0
- package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +107 -93
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/VersionHistory/components/diff-resource.component.js +185 -188
- package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/graph-resource.component.js +154 -184
- package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.d.ts +7 -0
- package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.js +350 -354
- package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.js +163 -169
- package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
- package/dist/actions-dashboards.module.d.ts +15 -16
- package/dist/actions-dashboards.module.d.ts.map +1 -1
- package/dist/actions-dashboards.module.js +34 -11
- package/dist/actions-dashboards.module.js.map +1 -1
- package/dist/ai-dashboards.module.d.ts +45 -48
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +36 -10
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/archiving-dashboards.module.d.ts +2 -1
- package/dist/archiving-dashboards.module.d.ts.map +1 -1
- package/dist/archiving-dashboards.module.js +12 -2
- package/dist/archiving-dashboards.module.js.map +1 -1
- package/dist/communication-dashboards.module.d.ts +2 -1
- package/dist/communication-dashboards.module.d.ts.map +1 -1
- package/dist/communication-dashboards.module.js +24 -3
- package/dist/communication-dashboards.module.js.map +1 -1
- package/dist/core-dashboards.module.d.ts +1 -1
- package/dist/core-dashboards.module.d.ts.map +1 -1
- package/dist/core-dashboards.module.js +31 -1
- package/dist/core-dashboards.module.js.map +1 -1
- package/dist/credentials-dashboards.module.d.ts +1 -1
- package/dist/credentials-dashboards.module.d.ts.map +1 -1
- package/dist/credentials-dashboards.module.js +28 -1
- package/dist/credentials-dashboards.module.js.map +1 -1
- package/dist/lists-dashboards.module.d.ts +1 -1
- package/dist/lists-dashboards.module.d.ts.map +1 -1
- package/dist/lists-dashboards.module.js +28 -1
- package/dist/lists-dashboards.module.js.map +1 -1
- package/dist/public-api.d.ts +2 -2
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -3
- package/dist/public-api.js.map +1 -1
- package/dist/scheduling-dashboards.module.d.ts +1 -1
- package/dist/scheduling-dashboards.module.d.ts.map +1 -1
- package/dist/scheduling-dashboards.module.js +31 -1
- package/dist/scheduling-dashboards.module.js.map +1 -1
- package/dist/testing-dashboards.module.d.ts +8 -7
- package/dist/testing-dashboards.module.d.ts.map +1 -1
- package/dist/testing-dashboards.module.js +30 -0
- package/dist/testing-dashboards.module.js.map +1 -1
- package/package.json +52 -52
- package/dist/AI/components/agents/agent-filter-panel.component.d.ts +0 -56
- package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +0 -1
- package/dist/AI/components/agents/agent-filter-panel.component.js +0 -285
- package/dist/AI/components/agents/agent-filter-panel.component.js.map +0 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts +0 -49
- package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +0 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.js +0 -184
- package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +0 -1
- package/dist/AI/components/system/system-config-filter-panel.component.d.ts +0 -33
- package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +0 -1
- package/dist/AI/components/system/system-config-filter-panel.component.js +0 -144
- package/dist/AI/components/system/system-config-filter-panel.component.js.map +0 -1
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts +0 -63
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +0 -1
- package/dist/Actions/components/explorer/action-toolbar.component.js +0 -463
- package/dist/Actions/components/explorer/action-toolbar.component.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels-resource.component.js","sourceRoot":"","sources":["../../../src/VersionHistory/components/labels-resource.component.ts","../../../src/VersionHistory/components/labels-resource.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { RegisterClass , UUIDsEqual } from '@memberjunction/global';\nimport { BaseResourceComponent, NavigationService } from '@memberjunction/ng-shared';\nimport { RunView, Metadata } from '@memberjunction/core';\nimport { ResourceData, MJVersionLabelEntityType, MJVersionLabelItemEntityType, UserInfoEngine } from '@memberjunction/core-entities';\nimport { EntityLinkClickEvent } from '@memberjunction/ng-versions';\ninterface ScopeStat {\n Scope: string;\n Count: number;\n Icon: string;\n Color: string;\n}\n\ninterface StatusStat {\n Status: string;\n Count: number;\n Color: string;\n}\n\ninterface VersionLabelPreferences {\n ViewMode: 'card' | 'list';\n ActiveScopeFilter: string;\n ActiveStatusFilter: string;\n DefaultDetailTab: string;\n SortField: string;\n SortDirection: 'asc' | 'desc';\n}\n\ntype SortField = 'Name' | 'Scope' | 'Status' | 'Items' | 'Date';\n\n@RegisterClass(BaseResourceComponent, 'VersionHistoryLabelsResource')\n@Component({\n standalone: false,\n selector: 'mj-version-history-labels-resource',\n templateUrl: './labels-resource.component.html',\n styleUrls: ['./labels-resource.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VersionHistoryLabelsResourceComponent extends BaseResourceComponent implements OnInit, OnDestroy {\n private static readonly PREFS_KEY = 'VersionHistory.Labels.UserPreferences';\n\n public IsLoading = true;\n\n // View mode\n public ViewMode: 'card' | 'list' = 'card';\n\n // Detail panel\n public SelectedLabel: MJVersionLabelEntityType | null = null;\n public ShowDetailPanel = false;\n\n // Stats\n public TotalLabels = 0;\n public ActiveLabels = 0;\n public ArchivedLabels = 0;\n public RestoredLabels = 0;\n\n // Grouped data\n public ScopeStats: ScopeStat[] = [];\n public StatusStats: StatusStat[] = [];\n public Labels: MJVersionLabelEntityType[] = [];\n public FilteredLabels: MJVersionLabelEntityType[] = [];\n public ItemCountMap = new Map<string, number>();\n\n // Filters\n public ScopeFilter = '';\n public StatusFilter = '';\n public SearchText = '';\n\n // Sorting\n public SortField: SortField = 'Date';\n public SortDirection: 'asc' | 'desc' = 'desc';\n\n // User preferences\n private preferencesLoaded = false;\n\n // Create Label Wizard\n public ShowCreateWizard = false;\n\n private metadata = this.ProviderToUse;\n protected override destroy$ = new Subject<void>();\n\n constructor(private cdr: ChangeDetectorRef) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.loadUserPreferences();\n this.LoadData();\n }\n\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n async GetResourceDisplayName(data: ResourceData): Promise<string> {\n return 'Labels';\n }\n\n async GetResourceIconClass(data: ResourceData): Promise<string> {\n return 'fa-solid fa-tags';\n }\n\n // =======================================================================\n // Data loading\n // =======================================================================\n\n public async LoadData(): Promise<void> {\n try {\n this.IsLoading = true;\n this.cdr.markForCheck();\n\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n\n const [labelsResult, itemsResult] = await rv.RunViews([\n {\n EntityName: 'MJ: Version Labels',\n OrderBy: '__mj_CreatedAt DESC',\n MaxRows: 500,\n ResultType: 'simple'\n },\n {\n EntityName: 'MJ: Version Label Items',\n Fields: ['VersionLabelID'],\n ResultType: 'simple'\n }\n ]);\n\n if (labelsResult.Success) {\n this.Labels = labelsResult.Results as MJVersionLabelEntityType[];\n const items = itemsResult.Success\n ? itemsResult.Results as MJVersionLabelItemEntityType[]\n : [];\n this.ItemCountMap = this.buildItemCountMap(items);\n this.computeStats();\n this.applyFilters();\n }\n } catch (error) {\n console.error('Error loading version labels:', error);\n } finally {\n this.IsLoading = false;\n this.NotifyLoadComplete();\n this.cdr.markForCheck();\n }\n }\n\n private buildItemCountMap(items: MJVersionLabelItemEntityType[]): Map<string, number> {\n const counts = new Map<string, number>();\n for (const item of items) {\n const labelId = item.VersionLabelID ?? '';\n counts.set(labelId, (counts.get(labelId) ?? 0) + 1);\n }\n return counts;\n }\n\n public GetItemCount(labelId: string | undefined): number {\n return this.ItemCountMap.get(labelId ?? '') ?? 0;\n }\n\n public ResolveEntityName(entityId: string | undefined): string {\n if (!entityId) return '';\n const entity = this.metadata.Entities.find(e => UUIDsEqual(e.ID, entityId));\n return entity ? entity.Name : '';\n }\n\n // =======================================================================\n // Stats\n // =======================================================================\n\n private computeStats(): void {\n // Only count root-level labels (exclude children) for stats\n const rootLabels = this.Labels.filter(l => !l.ParentID);\n this.TotalLabels = rootLabels.length;\n this.ActiveLabels = rootLabels.filter(l => l.Status === 'Active').length;\n this.ArchivedLabels = rootLabels.filter(l => l.Status === 'Archived').length;\n this.RestoredLabels = rootLabels.filter(l => l.Status === 'Restored').length;\n\n this.ScopeStats = this.computeScopeStats();\n this.StatusStats = this.computeStatusStats();\n }\n\n private computeScopeStats(): ScopeStat[] {\n const scopeMap = new Map<string, number>();\n for (const label of this.Labels) {\n const scope = label.Scope ?? 'Record';\n scopeMap.set(scope, (scopeMap.get(scope) ?? 0) + 1);\n }\n\n const scopeConfig: Record<string, { Icon: string; Color: string }> = {\n 'System': { Icon: 'fa-solid fa-globe', Color: '#6366f1' },\n 'Entity': { Icon: 'fa-solid fa-table', Color: '#3b82f6' },\n 'Record': { Icon: 'fa-solid fa-file', Color: '#10b981' }\n };\n\n return Array.from(scopeMap.entries()).map(([scope, count]) => ({\n Scope: scope,\n Count: count,\n Icon: scopeConfig[scope]?.Icon ?? 'fa-solid fa-tag',\n Color: scopeConfig[scope]?.Color ?? '#64748b'\n }));\n }\n\n private computeStatusStats(): StatusStat[] {\n const statusMap = new Map<string, number>();\n for (const label of this.Labels) {\n const status = label.Status ?? 'Active';\n statusMap.set(status, (statusMap.get(status) ?? 0) + 1);\n }\n\n const statusColors: Record<string, string> = {\n 'Active': '#10b981',\n 'Archived': '#6b7280',\n 'Restored': '#f59e0b'\n };\n\n return Array.from(statusMap.entries()).map(([status, count]) => ({\n Status: status,\n Count: count,\n Color: statusColors[status] ?? '#64748b'\n }));\n }\n\n // =======================================================================\n // Filters\n // =======================================================================\n\n public applyFilters(): void {\n // First: exclude child labels (those with ParentID) from top-level list\n let result = this.Labels.filter(l => !l.ParentID);\n\n // Apply scope filter\n if (this.ScopeFilter) {\n result = result.filter(l => l.Scope === this.ScopeFilter);\n }\n\n // Apply status filter\n if (this.StatusFilter) {\n result = result.filter(l => l.Status === this.StatusFilter);\n }\n\n // Apply search\n if (this.SearchText) {\n const search = this.SearchText.toLowerCase();\n result = result.filter(l => {\n const name = (l.Name ?? '').toLowerCase();\n const desc = (l.Description ?? '').toLowerCase();\n const entityName = (l.Entity ?? this.ResolveEntityName(l.EntityID)).toLowerCase();\n return name.includes(search) || desc.includes(search) || entityName.includes(search);\n });\n }\n\n // Apply sorting\n result = this.sortLabels(result);\n\n this.FilteredLabels = result;\n this.cdr.markForCheck();\n }\n\n private sortLabels(labels: MJVersionLabelEntityType[]): MJVersionLabelEntityType[] {\n const dir = this.SortDirection === 'asc' ? 1 : -1;\n return [...labels].sort((a, b) => {\n switch (this.SortField) {\n case 'Name':\n return dir * (a.Name ?? '').localeCompare(b.Name ?? '');\n case 'Scope':\n return dir * (a.Scope ?? '').localeCompare(b.Scope ?? '');\n case 'Status':\n return dir * (a.Status ?? '').localeCompare(b.Status ?? '');\n case 'Items': {\n const aCount = this.GetItemCount(a.ID);\n const bCount = this.GetItemCount(b.ID);\n return dir * (aCount - bCount);\n }\n case 'Date':\n default: {\n const aDate = (a as Record<string, unknown>)['__mj_CreatedAt'] ?? '';\n const bDate = (b as Record<string, unknown>)['__mj_CreatedAt'] ?? '';\n return dir * String(aDate).localeCompare(String(bDate));\n }\n }\n });\n }\n\n public OnSortChange(field: SortField): void {\n if (this.SortField === field) {\n this.SortDirection = this.SortDirection === 'asc' ? 'desc' : 'asc';\n } else {\n this.SortField = field;\n this.SortDirection = field === 'Date' ? 'desc' : 'asc';\n }\n this.applyFilters();\n this.persistPreferences();\n }\n\n public GetSortIcon(field: SortField): string {\n if (this.SortField !== field) return 'fa-solid fa-sort';\n return this.SortDirection === 'asc' ? 'fa-solid fa-sort-up' : 'fa-solid fa-sort-down';\n }\n\n public OnScopeFilterChange(scope: string): void {\n this.ScopeFilter = this.ScopeFilter === scope ? '' : scope;\n this.applyFilters();\n this.persistPreferences();\n }\n\n public OnStatusFilterChange(status: string): void {\n this.StatusFilter = this.StatusFilter === status ? '' : status;\n this.applyFilters();\n this.persistPreferences();\n }\n\n public OnSearchChange(text: string): void {\n this.SearchText = text;\n this.applyFilters();\n }\n\n public Refresh(): void {\n this.LoadData();\n }\n\n // =======================================================================\n // View mode and detail panel\n // =======================================================================\n\n public ToggleViewMode(): void {\n this.ViewMode = this.ViewMode === 'card' ? 'list' : 'card';\n this.persistPreferences();\n this.cdr.markForCheck();\n }\n\n public SetViewMode(mode: 'card' | 'list'): void {\n if (this.ViewMode !== mode) {\n this.ViewMode = mode;\n this.persistPreferences();\n this.cdr.markForCheck();\n }\n }\n\n public OnLabelClick(label: MJVersionLabelEntityType): void {\n this.SelectedLabel = label;\n this.ShowDetailPanel = true;\n this.cdr.markForCheck();\n }\n\n public OnDetailPanelClose(): void {\n this.ShowDetailPanel = false;\n this.SelectedLabel = null;\n this.cdr.markForCheck();\n }\n\n public OnLabelUpdated(): void {\n this.LoadData();\n }\n\n public OnEntityLinkClick(event: EntityLinkClickEvent): void {\n this.navigationService.OpenEntityRecord(event.EntityName, event.CompositeKey);\n }\n\n // =======================================================================\n // User preferences\n // =======================================================================\n\n private loadUserPreferences(): void {\n try {\n const json = UserInfoEngine.Instance.GetSetting(VersionHistoryLabelsResourceComponent.PREFS_KEY);\n if (json) {\n const prefs = JSON.parse(json) as VersionLabelPreferences;\n this.ViewMode = prefs.ViewMode ?? 'card';\n this.ScopeFilter = prefs.ActiveScopeFilter ?? '';\n this.StatusFilter = prefs.ActiveStatusFilter ?? '';\n if (prefs.SortField) this.SortField = prefs.SortField as SortField;\n if (prefs.SortDirection) this.SortDirection = prefs.SortDirection;\n }\n } catch (e) {\n console.warn('[VersionLabels] Failed to load user preferences:', e);\n } finally {\n this.preferencesLoaded = true;\n }\n }\n\n private persistPreferences(): void {\n if (!this.preferencesLoaded) return;\n\n const prefs: VersionLabelPreferences = {\n ViewMode: this.ViewMode,\n ActiveScopeFilter: this.ScopeFilter,\n ActiveStatusFilter: this.StatusFilter,\n DefaultDetailTab: 'overview',\n SortField: this.SortField,\n SortDirection: this.SortDirection,\n };\n\n UserInfoEngine.Instance.SetSettingDebounced(\n VersionHistoryLabelsResourceComponent.PREFS_KEY,\n JSON.stringify(prefs)\n );\n }\n\n // =======================================================================\n // Create Label Wizard\n // =======================================================================\n\n public OpenCreateDialog(): void {\n this.ShowCreateWizard = true;\n this.cdr.markForCheck();\n }\n\n public OnLabelCreated(_event: { LabelCount: number; ItemCount: number }): void {\n this.ShowCreateWizard = false;\n this.cdr.markForCheck();\n this.LoadData();\n }\n\n public OnCreateWizardCancel(): void {\n this.ShowCreateWizard = false;\n this.cdr.markForCheck();\n }\n\n // =======================================================================\n // Display helpers\n // =======================================================================\n\n public GetScopeIcon(scope: string | undefined): string {\n const icons: Record<string, string> = {\n 'System': 'fa-solid fa-globe',\n 'Entity': 'fa-solid fa-table',\n 'Record': 'fa-solid fa-file'\n };\n return icons[scope ?? ''] ?? 'fa-solid fa-tag';\n }\n\n public GetStatusClass(status: string | undefined): string {\n const classes: Record<string, string> = {\n 'Active': 'status-active',\n 'Archived': 'status-archived',\n 'Restored': 'status-restored'\n };\n return classes[status ?? ''] ?? '';\n }\n\n public FormatDate(date: Date | string | undefined): string {\n if (!date) return '';\n const d = date instanceof Date ? date : new Date(date);\n const now = new Date();\n const diffMs = now.getTime() - d.getTime();\n const diffMins = Math.floor(diffMs / 60000);\n const diffHours = Math.floor(diffMs / 3600000);\n const diffDays = Math.floor(diffMs / 86400000);\n\n if (diffMins < 1) return 'Just now';\n if (diffMins < 60) return `${diffMins}m ago`;\n if (diffHours < 24) return `${diffHours}h ago`;\n if (diffDays < 7) return `${diffDays}d ago`;\n\n return d.toLocaleDateString('en-US', {\n month: 'short',\n day: 'numeric',\n year: 'numeric'\n });\n }\n\n public FormatNumber(num: number): string {\n if (num >= 1000) return (num / 1000).toFixed(1) + 'k';\n return num.toString();\n }\n\n public FormatDuration(ms: number | undefined): string {\n if (!ms) return '';\n if (ms < 1000) return `${ms}ms`;\n return `${(ms / 1000).toFixed(1)}s`;\n }\n\n public IsGroupParent(label: MJVersionLabelEntityType): boolean {\n return !label.RecordID && !label.ParentID && !!label.EntityID;\n }\n\n public GetChildLabels(parentId: string | undefined): MJVersionLabelEntityType[] {\n if (!parentId) return [];\n return this.Labels.filter(l => UUIDsEqual(l.ParentID, parentId));\n }\n}\n","<div class=\"labels-container\">\n @if (IsLoading) {\n <mj-loading text=\"Loading version labels...\"></mj-loading>\n }\n\n @if (!IsLoading) {\n <!-- Header -->\n <div class=\"page-header\">\n <div class=\"header-left\">\n <h2 class=\"page-title\">Version Labels</h2>\n <p class=\"page-subtitle\">Manage versioning snapshots across your system</p>\n </div>\n <div class=\"header-actions\">\n <div class=\"view-toggle\">\n <button class=\"toggle-btn\" [class.active]=\"ViewMode === 'card'\" (click)=\"SetViewMode('card')\" title=\"Card view\">\n <i class=\"fa-solid fa-grip\"></i>\n </button>\n <button class=\"toggle-btn\" [class.active]=\"ViewMode === 'list'\" (click)=\"SetViewMode('list')\" title=\"List view\">\n <i class=\"fa-solid fa-list\"></i>\n </button>\n </div>\n <button class=\"btn-primary\" (click)=\"OpenCreateDialog()\">\n <i class=\"fa-solid fa-plus\"></i>\n <span>Create Label</span>\n </button>\n <button class=\"btn-icon\" (click)=\"Refresh()\" title=\"Refresh\">\n <i class=\"fa-solid fa-refresh\"></i>\n </button>\n </div>\n </div>\n <!-- KPI Cards -->\n <div class=\"kpi-row\">\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent); color: var(--mj-brand-primary);\">\n <i class=\"fa-solid fa-tags\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FormatNumber(TotalLabels)}}</div>\n <div class=\"kpi-label\">Total Labels</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-status-success) 10%, transparent); color: var(--mj-status-success);\">\n <i class=\"fa-solid fa-circle-check\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FormatNumber(ActiveLabels)}}</div>\n <div class=\"kpi-label\">Active</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-text-muted) 10%, transparent); color: var(--mj-text-muted);\">\n <i class=\"fa-solid fa-box-archive\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FormatNumber(ArchivedLabels)}}</div>\n <div class=\"kpi-label\">Archived</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent); color: var(--mj-status-warning);\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FormatNumber(RestoredLabels)}}</div>\n <div class=\"kpi-label\">Restored</div>\n </div>\n </div>\n </div>\n <!-- Scope breakdown -->\n <div class=\"scope-chips\">\n @for (stat of ScopeStats; track stat) {\n <button class=\"scope-chip\"\n [class.active]=\"ScopeFilter === stat.Scope\"\n (click)=\"OnScopeFilterChange(stat.Scope)\">\n <i [class]=\"stat.Icon\"></i>\n <span>{{stat.Scope}}</span>\n <span class=\"chip-count\">{{stat.Count}}</span>\n </button>\n }\n @for (stat of StatusStats; track stat) {\n <button class=\"scope-chip\"\n [class.active]=\"StatusFilter === stat.Status\"\n [ngClass]=\"GetStatusClass(stat.Status)\"\n (click)=\"OnStatusFilterChange(stat.Status)\">\n <span>{{stat.Status}}</span>\n <span class=\"chip-count\">{{stat.Count}}</span>\n </button>\n }\n </div>\n <!-- Search -->\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=\"Search labels by name, description, or entity...\"\n [ngModel]=\"SearchText\"\n (ngModelChange)=\"OnSearchChange($event)\" />\n @if (SearchText) {\n <button class=\"btn-clear\" (click)=\"OnSearchChange('')\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n }\n </div>\n <!-- Labels Card View -->\n @if (FilteredLabels.length > 0 && ViewMode === 'card') {\n <div class=\"labels-list\">\n @for (label of FilteredLabels; track label) {\n <div class=\"label-card clickable\"\n [class.group-parent]=\"IsGroupParent(label)\"\n (click)=\"OnLabelClick(label)\">\n <div class=\"label-header\">\n <div class=\"label-title-row\">\n <i [class]=\"GetScopeIcon(label.Scope)\" class=\"label-scope-icon\"></i>\n <h3 class=\"label-name\">{{label.Name}}</h3>\n @if (IsGroupParent(label)) {\n <span class=\"group-badge\">\n <i class=\"fa-solid fa-layer-group\"></i>\n {{GetChildLabels(label.ID).length}} records\n </span>\n }\n <span class=\"label-status\" [ngClass]=\"GetStatusClass(label.Status)\">\n {{label.Status}}\n </span>\n </div>\n <div class=\"label-meta\">\n <span class=\"meta-item\" title=\"Scope\">\n <i class=\"fa-solid fa-layer-group\"></i> {{label.Scope}}\n </span>\n @if (label.Entity || label.EntityID) {\n <span class=\"meta-item\" title=\"Entity\">\n <i class=\"fa-solid fa-table\"></i> {{label.Entity ?? ResolveEntityName(label.EntityID)}}\n </span>\n }\n @if (label.RecordID) {\n <span class=\"meta-item\" title=\"Record ID\">\n <i class=\"fa-solid fa-fingerprint\"></i> {{label.RecordID | slice:0:12}}...\n </span>\n }\n @if (label.ItemCount) {\n <span class=\"meta-item\" title=\"Items captured\">\n <i class=\"fa-solid fa-camera\"></i> {{label.ItemCount}} items\n </span>\n }\n @if (!label.ItemCount) {\n <span class=\"meta-item\" title=\"Items captured\">\n <i class=\"fa-solid fa-camera\"></i> {{GetItemCount(label.ID)}} items\n </span>\n }\n @if (label.CreationDurationMS) {\n <span class=\"meta-item\" title=\"Creation time\">\n <i class=\"fa-solid fa-stopwatch\"></i> {{FormatDuration(label.CreationDurationMS)}}\n </span>\n }\n @if (label.CreatedByUser) {\n <span class=\"meta-item\" title=\"Created by\">\n <i class=\"fa-solid fa-user\"></i> {{label.CreatedByUser}}\n </span>\n }\n <span class=\"meta-item\" title=\"Created\">\n <i class=\"fa-regular fa-clock\"></i> {{FormatDate(label.__mj_CreatedAt)}}\n </span>\n </div>\n </div>\n @if (label.Description) {\n <p class=\"label-description\">{{label.Description}}</p>\n }\n <!-- Child labels for group parents -->\n @if (IsGroupParent(label) && GetChildLabels(label.ID).length > 0) {\n <div class=\"child-labels\">\n @for (child of GetChildLabels(label.ID); track child) {\n <div class=\"child-label\">\n <i class=\"fa-solid fa-tag child-icon\"></i>\n <span class=\"child-name\">{{child.Name}}</span>\n @if (child.RecordID) {\n <span class=\"child-record\">{{child.RecordID | slice:0:12}}...</span>\n }\n @if (child.ItemCount) {\n <span class=\"child-items\">{{child.ItemCount}} items</span>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- Labels List View -->\n @if (FilteredLabels.length > 0 && ViewMode === 'list') {\n <div class=\"labels-table\">\n <div class=\"list-header-row\">\n <span class=\"list-col-icon\"></span>\n <span class=\"list-col-name sortable-header\" (click)=\"OnSortChange('Name')\">\n Name <i [class]=\"GetSortIcon('Name')\" class=\"sort-icon\"></i>\n </span>\n <span class=\"list-col-entity\">Entity</span>\n <span class=\"list-col-status sortable-header\" (click)=\"OnSortChange('Status')\">\n Status <i [class]=\"GetSortIcon('Status')\" class=\"sort-icon\"></i>\n </span>\n <span class=\"list-col-items sortable-header\" (click)=\"OnSortChange('Items')\">\n Items <i [class]=\"GetSortIcon('Items')\" class=\"sort-icon\"></i>\n </span>\n <span class=\"list-col-date sortable-header\" (click)=\"OnSortChange('Date')\">\n Created <i [class]=\"GetSortIcon('Date')\" class=\"sort-icon\"></i>\n </span>\n <span class=\"list-col-arrow\"></span>\n </div>\n @for (label of FilteredLabels; track label) {\n <div class=\"list-row clickable\"\n (click)=\"OnLabelClick(label)\">\n <span class=\"list-col-icon\">\n <i [class]=\"GetScopeIcon(label.Scope)\" class=\"list-scope-icon\"></i>\n </span>\n <span class=\"list-col-name\">\n <span class=\"list-label-name\">{{label.Name}}</span>\n @if (IsGroupParent(label)) {\n <span class=\"list-group-badge\">\n <i class=\"fa-solid fa-layer-group\"></i> {{GetChildLabels(label.ID).length}}\n </span>\n }\n </span>\n <span class=\"list-col-entity\">{{label.Entity ?? ResolveEntityName(label.EntityID)}}</span>\n <span class=\"list-col-status\">\n <span class=\"label-status small\" [ngClass]=\"GetStatusClass(label.Status)\">{{label.Status}}</span>\n </span>\n <span class=\"list-col-items\">{{label.ItemCount || GetItemCount(label.ID)}}</span>\n <span class=\"list-col-date\">{{FormatDate(label.__mj_CreatedAt)}}</span>\n <span class=\"list-col-arrow\">\n <i class=\"fa-solid fa-chevron-right list-arrow\"></i>\n </span>\n </div>\n }\n </div>\n }\n <!-- Empty state -->\n @if (FilteredLabels.length === 0 && !IsLoading) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-tags empty-icon\"></i>\n <h3>No labels found</h3>\n @if (SearchText || ScopeFilter || StatusFilter) {\n <p>\n Try adjusting your filters or search criteria.\n </p>\n }\n @if (!SearchText && !ScopeFilter && !StatusFilter) {\n <p>\n No version labels have been created yet.\n </p>\n }\n @if (!SearchText && !ScopeFilter && !StatusFilter) {\n <button class=\"btn-primary empty-cta\"\n (click)=\"OpenCreateDialog()\">\n <i class=\"fa-solid fa-plus\"></i>\n <span>Create Your First Label</span>\n </button>\n }\n </div>\n }\n }\n\n <!-- Create Label Wizard -->\n @if (ShowCreateWizard) {\n <div class=\"create-wizard-overlay\" (click)=\"OnCreateWizardCancel()\">\n <div class=\"create-wizard-container\" (click)=\"$event.stopPropagation()\">\n <div class=\"create-wizard-header\">\n <h3 class=\"create-wizard-title\">\n <i class=\"fa-solid fa-tag\"></i>\n Create Version Label\n </h3>\n <button class=\"create-wizard-close\" (click)=\"OnCreateWizardCancel()\" title=\"Close\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"create-wizard-body\">\n <mj-label-create\n (Created)=\"OnLabelCreated($event)\"\n (Cancel)=\"OnCreateWizardCancel()\">\n </mj-label-create>\n </div>\n </div>\n </div>\n }\n\n <!-- Detail panel -->\n @if (ShowDetailPanel && SelectedLabel) {\n <mj-label-detail-panel\n [Label]=\"SelectedLabel\"\n [AllLabels]=\"Labels\"\n [ItemCountMap]=\"ItemCountMap\"\n (Close)=\"OnDetailPanelClose()\"\n (LabelUpdated)=\"OnLabelUpdated()\"\n (EntityLinkClick)=\"OnEntityLinkClick($event)\">\n </mj-label-detail-panel>\n }\n</div>\n"]}
|
|
1
|
+
{"version":3,"file":"labels-resource.component.js","sourceRoot":"","sources":["../../../src/VersionHistory/components/labels-resource.component.ts","../../../src/VersionHistory/components/labels-resource.component.html"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,SAAS,EAAwC,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACzG,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAG,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAqB,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,OAAO,EAAY,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAwE,cAAc,EAAE,MAAM,+BAA+B,CAAC;;;;;;;ICwCjI,iCAA0D;;;IAuD5C,gCAA0B;IACxB,wBAAuC;IACvC,YACF;IAAA,iBAAO;;;;IADL,eACF;IADE,kFACF;;;IAWA,gCAAuC;IACrC,wBAAiC;IAAC,YACpC;IAAA,iBAAO;;;;IAD6B,eACpC;IADoC,+FACpC;;;IAGA,gCAA0C;IACxC,wBAAuC;IAAC,YAC1C;;IAAA,iBAAO;;;IADmC,eAC1C;IAD0C,kFAC1C;;;IAGA,gCAA+C;IAC7C,wBAAkC;IAAC,YACrC;IAAA,iBAAO;;;IAD8B,eACrC;IADqC,yDACrC;;;IAGA,gCAA+C;IAC7C,wBAAkC;IAAC,YACrC;IAAA,iBAAO;;;;IAD8B,eACrC;IADqC,uEACrC;;;IAGA,gCAA8C;IAC5C,wBAAqC;IAAC,YACxC;IAAA,iBAAO;;;;IADiC,eACxC;IADwC,mFACxC;;;IAGA,gCAA2C;IACzC,wBAAgC;IAAC,YACnC;IAAA,iBAAO;;;IAD4B,eACnC;IADmC,uDACnC;;;IAQJ,6BAA6B;IAAA,YAAqB;IAAA,iBAAI;;;IAAzB,cAAqB;IAArB,0CAAqB;;;IAU1C,gCAA2B;IAAA,YAAkC;;IAAA,iBAAO;;;IAAzC,cAAkC;IAAlC,gFAAkC;;;IAG7D,gCAA0B;IAAA,YAAyB;IAAA,iBAAO;;;IAAhC,cAAyB;IAAzB,uDAAyB;;;IAPvD,+BAAyB;IACvB,wBAA0C;IAC1C,gCAAyB;IAAA,YAAc;IAAA,iBAAO;IAC9C,kKAAsB;IAGtB,kKAAuB;IAGzB,iBAAM;;;IAPqB,eAAc;IAAd,mCAAc;IACvC,cAEC;IAFD,4CAEC;IACD,cAEC;IAFD,6CAEC;;;IAVP,+BAA0B;IACxB,8KAWC;IACH,iBAAM;;;;IAZJ,cAWC;IAXD,cAAA,kCAAwB,CAWvB;;;;IAzEP,+BAEgC;IAA9B,wPAAS,6BAAmB,KAAC;IAE3B,AADF,+BAA0B,cACK;IAC3B,wBAAoE;IACpE,8BAAuB;IAAA,YAAc;IAAA,iBAAK;IAC1C,6IAA4B;IAM5B,gCAAoE;IAClE,YACF;IACF,AADE,iBAAO,EACH;IAEJ,AADF,+BAAwB,gBACgB;IACpC,yBAAuC;IAAC,aAC1C;IAAA,iBAAO;IACP,+IAAsC;IAKtC,+IAAsB;IAKtB,+IAAuB;IAKvB,+IAAwB;IAKxB,+IAAgC;IAKhC,+IAA2B;IAK3B,iCAAwC;IACtC,yBAAmC;IAAC,aACtC;IAEJ,AADE,AADE,iBAAO,EACH,EACF;IACN,4IAAyB;IAIzB,8IAAmE;IAgBrE,iBAAM;;;;IA3EJ,8DAA2C;IAIpC,eAAmC;IAAnC,kDAAmC;IACf,eAAc;IAAd,mCAAc;IACrC,cAKC;IALD,yDAKC;IAC0B,cAAwC;IAAxC,gEAAwC;IACjE,cACF;IADE,gDACF;IAI0C,eAC1C;IAD0C,+CAC1C;IACA,cAIC;IAJD,gEAIC;IACD,cAIC;IAJD,6CAIC;IACD,cAIC;IAJD,8CAIC;IACD,cAIC;IAJD,+CAIC;IACD,cAIC;IAJD,uDAIC;IACD,cAIC;IAJD,kDAIC;IAEqC,eACtC;IADsC,2EACtC;IAGJ,cAEC;IAFD,gDAEC;IAED,cAeC;IAfD,2GAeC;;;IA7EP,+BAAyB;IACvB,2JA8EC;IACH,iBAAM;;;IA/EJ,cA8EC;IA9ED,oCA8EC;;;IAgCO,gCAA+B;IAC7B,wBAAuC;IAAC,YAC1C;IAAA,iBAAO;;;;IADmC,eAC1C;IAD0C,0EAC1C;;;;IAVN,+BACgC;IAA9B,yPAAS,6BAAmB,KAAC;IAC7B,gCAA4B;IAC1B,wBAAmE;IACrE,iBAAO;IAEL,AADF,gCAA4B,eACI;IAAA,YAAc;IAAA,iBAAO;IACnD,8IAA4B;IAK9B,iBAAO;IACP,gCAA8B;IAAA,YAAqD;IAAA,iBAAO;IAExF,AADF,gCAA8B,gBAC8C;IAAA,aAAgB;IAC5F,AAD4F,iBAAO,EAC5F;IACP,iCAA6B;IAAA,aAA6C;IAAA,iBAAO;IACjF,iCAA4B;IAAA,aAAoC;IAAA,iBAAO;IACvE,iCAA6B;IAC3B,yBAAoD;IAExD,AADE,iBAAO,EACH;;;;IAnBC,eAAmC;IAAnC,kDAAmC;IAGR,eAAc;IAAd,mCAAc;IAC5C,cAIC;IAJD,yDAIC;IAE2B,eAAqD;IAArD,oFAAqD;IAEhD,eAAwC;IAAxC,gEAAwC;IAAC,cAAgB;IAAhB,qCAAgB;IAE/D,eAA6C;IAA7C,4EAA6C;IAC9C,eAAoC;IAApC,gEAAoC;;;;IApCpE,AADF,+BAA0B,cACK;IAC3B,2BAAmC;IACnC,gCAA2E;IAA/B,wNAAS,oBAAa,MAAM,CAAC,KAAC;IACxE,sBAAK;IAAA,wBAAuD;IAC9D,iBAAO;IACP,gCAA8B;IAAA,sBAAM;IAAA,iBAAO;IAC3C,gCAA+E;IAAjC,wNAAS,oBAAa,QAAQ,CAAC,KAAC;IAC5E,wBAAO;IAAA,yBAAyD;IAClE,iBAAO;IACP,iCAA6E;IAAhC,yNAAS,oBAAa,OAAO,CAAC,KAAC;IAC1E,wBAAM;IAAA,yBAAwD;IAChE,iBAAO;IACP,iCAA2E;IAA/B,yNAAS,oBAAa,MAAM,CAAC,KAAC;IACxE,0BAAQ;IAAA,yBAAuD;IACjE,iBAAO;IACP,4BAAoC;IACtC,iBAAM;IACN,4JAwBC;IACH,iBAAM;;;IAvCQ,eAA6B;IAA7B,yCAA6B;IAI3B,eAA+B;IAA/B,2CAA+B;IAGhC,eAA8B;IAA9B,0CAA8B;IAG5B,eAA6B;IAA7B,yCAA6B;IAI5C,eAwBC;IAxBD,oCAwBC;;;IASC,yBAAG;IACD,gEACF;IAAA,iBAAI;;;IAGJ,yBAAG;IACD,0DACF;IAAA,iBAAI;;;;IAGJ,kCAC+B;IAA7B,wOAAS,yBAAkB,KAAC;IAC5B,uBAAgC;IAChC,4BAAM;IAAA,uCAAuB;IAC/B,AAD+B,iBAAO,EAC7B;;;IAlBb,+BAAyB;IACvB,wBAA2C;IAC3C,0BAAI;IAAA,+BAAe;IAAA,iBAAK;IACxB,gIAAiD;IAKjD,gIAAoD;IAKpD,yIAAoD;IAOtD,iBAAM;;;IAjBJ,eAIC;IAJD,yFAIC;IACD,cAIC;IAJD,4FAIC;IACD,cAMC;IAND,4FAMC;;;IA5LD,AADF,AADF,+BAAqB,cACG,cACoH;IACtI,wBAAgC;IAClC,iBAAM;IAEJ,AADF,+BAAyB,cACA;IAAA,YAA6B;IAAA,iBAAM;IAC1D,+BAAuB;IAAA,4BAAY;IAEvC,AADE,AADqC,iBAAM,EACrC,EACF;IAEJ,AADF,+BAAsB,eACsH;IACxI,yBAAwC;IAC1C,iBAAM;IAEJ,AADF,gCAAyB,eACA;IAAA,aAA8B;IAAA,iBAAM;IAC3D,gCAAuB;IAAA,uBAAM;IAEjC,AADE,AAD+B,iBAAM,EAC/B,EACF;IAEJ,AADF,gCAAsB,eAC8G;IAChI,yBAAuC;IACzC,iBAAM;IAEJ,AADF,gCAAyB,eACA;IAAA,aAAgC;IAAA,iBAAM;IAC7D,gCAAuB;IAAA,yBAAQ;IAEnC,AADE,AADiC,iBAAM,EACjC,EACF;IAEJ,AADF,gCAAsB,eACsH;IACxI,yBAA6C;IAC/C,iBAAM;IAEJ,AADF,gCAAyB,eACA;IAAA,aAAgC;IAAA,iBAAM;IAC7D,gCAAuB;IAAA,yBAAQ;IAGrC,AADE,AADE,AADiC,iBAAM,EACjC,EACF,EACF;IAEN,yHAAwD;IAoFxD,0HAAwD;IA+CxD,yHAAiD;;;IApKpB,eAA6B;IAA7B,6DAA6B;IAS7B,eAA8B;IAA9B,8DAA8B;IAS9B,eAAgC;IAAhC,gEAAgC;IAShC,eAAgC;IAAhC,gEAAgC;IAM7D,eAkFC;IAlFD,0FAkFC;IAED,cA6CC;IA7CD,0FA6CC;IAED,cAsBC;IAtBD,mFAsBC;;;;IAKD,+BAAoE;IAAjC,uMAAS,6BAAsB,KAAC;IACjE,+BAAwE;IAAnC,0KAAS,wBAAwB,KAAC;IAEnE,AADF,+BAAkC,aACA;IAC9B,wBAA+B;IAC/B,sCACF;IAAA,iBAAK;IACL,kCAAmF;IAA/C,0MAAS,6BAAsB,KAAC;IAClE,wBAAiC;IAErC,AADE,iBAAS,EACL;IAEJ,AADF,+BAAgC,0BAGM;IAAlC,AADA,6NAAW,6BAAsB,KAAC,wMACxB,6BAAsB,KAAC;IAIzC,AADE,AADE,AADE,iBAAkB,EACd,EACF,EACF;;;;IAON,iDAMgD;IAA9C,AADA,AADA,0NAAS,2BAAoB,KAAC,2NACd,uBAAgB,KAAC,uOACd,gCAAyB,KAAC;IAC/C,iBAAwB;;;IAJtB,AADA,AADA,4CAAuB,4BACH,qCACS;;AD3O5B,IAAM,qCAAqC,GAA3C,MAAM,qCAAsC,SAAQ,qBAAqB;;IAmGxD;IAlGZ,MAAM,CAAU,SAAS,GAAG,uCAAuC,CAAC;IAErE,SAAS,GAAG,IAAI,CAAC;IAExB,YAAY;IACL,QAAQ,GAAoB,MAAM,CAAC;IAE1C,eAAe;IACR,aAAa,GAAoC,IAAI,CAAC;IACtD,eAAe,GAAG,KAAK,CAAC;IAE/B,QAAQ;IACD,WAAW,GAAG,CAAC,CAAC;IAChB,YAAY,GAAG,CAAC,CAAC;IACjB,cAAc,GAAG,CAAC,CAAC;IACnB,cAAc,GAAG,CAAC,CAAC;IAE1B,eAAe;IACR,UAAU,GAAgB,EAAE,CAAC;IAC7B,WAAW,GAAiB,EAAE,CAAC;IAC/B,MAAM,GAA+B,EAAE,CAAC;IACxC,cAAc,GAA+B,EAAE,CAAC;IAChD,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEhD,UAAU;IACH,WAAW,GAAG,EAAE,CAAC;IACjB,YAAY,GAAG,EAAE,CAAC;IAClB,UAAU,GAAG,EAAE,CAAC;IAEvB,UAAU;IACH,SAAS,GAAc,MAAM,CAAC;IAC9B,aAAa,GAAmB,MAAM,CAAC;IAE9C,mBAAmB;IACX,iBAAiB,GAAG,KAAK,CAAC;IAElC,sBAAsB;IACf,gBAAgB,GAAG,KAAK,CAAC;IAExB,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;IACnB,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;IAElC,WAAW,GAAuB;QAC9C,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE;QAC7D,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE;KAChE,CAAC;IAEF,IAAW,YAAY;QACnB,MAAM,YAAY,GAAG;YACjB,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE;YACjC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;SACrF,CAAC;QACF,MAAM,aAAa,GAAG;YAClB,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,EAAE;YACnC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SACxF,CAAC;QACF,OAAO;YACH;gBACI,GAAG,EAAE,aAAa;gBAClB,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,YAAY;gBACzB,OAAO,EAAE,YAAY;aACxB;YACD;gBACI,GAAG,EAAE,cAAc;gBACnB,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,cAAc;gBAC3B,OAAO,EAAE,aAAa;aACzB;SACJ,CAAC;IACN,CAAC;IACD,IAAW,YAAY;QACnB,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IAC9E,CAAC;IACD,IAAW,iBAAiB;QACxB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,IAAI,CAAC,WAAW;YAAE,CAAC,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,YAAY;YAAE,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC;IACb,CAAC;IACM,oBAAoB,CAAC,CAA0B;QAClD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAoD,CAAC;QAC1E,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAChD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YAClD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IACM,YAAY;QACf,IAAI,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,YAAoB,GAAsB;QACtC,KAAK,EAAE,CAAC;QADQ,QAAG,GAAH,GAAG,CAAmB;IAE1C,CAAC;IAED,QAAQ;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,WAAW;QACP,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAkB;QAC3C,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAkB;QACzC,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAED,0EAA0E;IAC1E,eAAe;IACf,0EAA0E;IAEnE,KAAK,CAAC,QAAQ;QACjB,IAAI,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAExB,MAAM,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAE5D,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC;gBAClD;oBACI,UAAU,EAAE,oBAAoB;oBAChC,OAAO,EAAE,qBAAqB;oBAC9B,OAAO,EAAE,GAAG;oBACZ,UAAU,EAAE,QAAQ;iBACvB;gBACD;oBACI,UAAU,EAAE,yBAAyB;oBACrC,MAAM,EAAE,CAAC,gBAAgB,CAAC;oBAC1B,UAAU,EAAE,QAAQ;iBACvB;aACJ,CAAC,CAAC;YAEH,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,OAAqC,CAAC;gBACjE,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO;oBAC7B,CAAC,CAAC,WAAW,CAAC,OAAyC;oBACvD,CAAC,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,KAAqC;QAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,YAAY,CAAC,OAA2B;QAC3C,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAEM,iBAAiB,CAAC,QAA4B;QACjD,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5E,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,CAAC;IAED,0EAA0E;IAC1E,QAAQ;IACR,0EAA0E;IAElE,YAAY;QAChB,4DAA4D;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QACzE,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;QAC7E,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;QAE7E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACjD,CAAC;IAEO,iBAAiB;QACrB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC3C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC;YACtC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAoD;YACjE,QAAQ,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAE;YACzD,QAAQ,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAE;YACzD,QAAQ,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE;SAC3D,CAAC;QAEF,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3D,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,iBAAiB;YACnD,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,SAAS;SAChD,CAAC,CAAC,CAAC;IACR,CAAC;IAEO,kBAAkB;QACtB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC;YACxC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,YAAY,GAA2B;YACzC,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,SAAS;SACxB,CAAC;QAEF,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7D,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,SAAS;SAC3C,CAAC,CAAC,CAAC;IACR,CAAC;IAED,0EAA0E;IAC1E,UAAU;IACV,0EAA0E;IAEnE,YAAY;QACf,wEAAwE;QACxE,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAElD,qBAAqB;QACrB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;QAChE,CAAC;QAED,eAAe;QACf,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACvB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBACjD,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAClF,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACzF,CAAC,CAAC,CAAC;QACP,CAAC;QAED,gBAAgB;QAChB,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEjC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAEO,UAAU,CAAC,MAAkC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7B,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrB,KAAK,MAAM;oBACP,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC5D,KAAK,OAAO;oBACR,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC9D,KAAK,QAAQ;oBACT,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBAChE,KAAK,OAAO,CAAC,CAAC,CAAC;oBACX,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACvC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACvC,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;gBACnC,CAAC;gBACD,KAAK,MAAM,CAAC;gBACZ,OAAO,CAAC,CAAC,CAAC;oBACN,MAAM,KAAK,GAAI,CAA6B,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;oBACrE,MAAM,KAAK,GAAI,CAA6B,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;oBACrE,OAAO,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,YAAY,CAAC,KAAgB;QAChC,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QACvE,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAEM,WAAW,CAAC,KAAgB;QAC/B,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO,kBAAkB,CAAC;QACxD,OAAO,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAC1F,CAAC;IAEM,mBAAmB,CAAC,KAAa;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAEM,oBAAoB,CAAC,MAAc;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAEM,cAAc,CAAC,IAAY;QAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,0EAA0E;IAC1E,6BAA6B;IAC7B,0EAA0E;IAEnE,cAAc;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3D,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAEM,WAAW,CAAC,IAAqB;QACpC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IAEM,YAAY,CAAC,KAA+B;QAC/C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAEM,kBAAkB;QACrB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAEM,cAAc;QACjB,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAEM,iBAAiB,CAAC,KAA2B;QAChD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAClF,CAAC;IAED,0EAA0E;IAC1E,mBAAmB;IACnB,0EAA0E;IAElE,mBAAmB;QACvB,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,uCAAqC,CAAC,SAAS,CAAC,CAAC;YACjG,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;gBAC1D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC;gBACzC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC;gBACjD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC;gBACnD,IAAI,KAAK,CAAC,SAAS;oBAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAsB,CAAC;gBACnE,IAAI,KAAK,CAAC,aAAa;oBAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;YACtE,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,kDAAkD,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAClC,CAAC;IACL,CAAC;IAEO,kBAAkB;QACtB,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAEpC,MAAM,KAAK,GAA4B;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,iBAAiB,EAAE,IAAI,CAAC,WAAW;YACnC,kBAAkB,EAAE,IAAI,CAAC,YAAY;YACrC,gBAAgB,EAAE,UAAU;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,aAAa,EAAE,IAAI,CAAC,aAAa;SACpC,CAAC;QAEF,cAAc,CAAC,QAAQ,CAAC,mBAAmB,CACvC,uCAAqC,CAAC,SAAS,EAC/C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACxB,CAAC;IACN,CAAC;IAED,0EAA0E;IAC1E,sBAAsB;IACtB,0EAA0E;IAEnE,gBAAgB;QACnB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAEM,cAAc,CAAC,MAAiD;QACnE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAEM,oBAAoB;QACvB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAED,0EAA0E;IAC1E,kBAAkB;IAClB,0EAA0E;IAEnE,YAAY,CAAC,KAAyB;QACzC,MAAM,KAAK,GAA2B;YAClC,QAAQ,EAAE,mBAAmB;YAC7B,QAAQ,EAAE,mBAAmB;YAC7B,QAAQ,EAAE,kBAAkB;SAC/B,CAAC;QACF,OAAO,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,iBAAiB,CAAC;IACnD,CAAC;IAEM,cAAc,CAAC,MAA0B;QAC5C,MAAM,OAAO,GAA2B;YACpC,QAAQ,EAAE,eAAe;YACzB,UAAU,EAAE,iBAAiB;YAC7B,UAAU,EAAE,iBAAiB;SAChC,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IAEM,UAAU,CAAC,IAA+B;QAC7C,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;QAE/C,IAAI,QAAQ,GAAG,CAAC;YAAE,OAAO,UAAU,CAAC;QACpC,IAAI,QAAQ,GAAG,EAAE;YAAE,OAAO,GAAG,QAAQ,OAAO,CAAC;QAC7C,IAAI,SAAS,GAAG,EAAE;YAAE,OAAO,GAAG,SAAS,OAAO,CAAC;QAC/C,IAAI,QAAQ,GAAG,CAAC;YAAE,OAAO,GAAG,QAAQ,OAAO,CAAC;QAE5C,OAAO,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;YACjC,KAAK,EAAE,OAAO;YACd,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;SAClB,CAAC,CAAC;IACP,CAAC;IAEM,YAAY,CAAC,GAAW;QAC3B,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACtD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEM,cAAc,CAAC,EAAsB;QACxC,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC;QACnB,IAAI,EAAE,GAAG,IAAI;YAAE,OAAO,GAAG,EAAE,IAAI,CAAC;QAChC,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACxC,CAAC;IAEM,aAAa,CAAC,KAA+B;QAChD,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;IAClE,CAAC;IAEM,cAAc,CAAC,QAA4B;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrE,CAAC;+HAnfQ,qCAAqC;6DAArC,qCAAqC;YCnC9C,AAJF,AADF,sCAAgB,wBAI8C,aAChD;YACR,mCAIgB;YAClB,iBAAM;YAEJ,AADF,8BAAa,2BAI4B;YAArC,qJAAqB,kBAAc,IAAC;YACpC,0CAI2B;YAAzB,AADA,+IAAgB,gCAA4B,IAAC,8GACpC,kBAAc,IAAC;YAE5B,AADE,iBAAkB,EACA;YACpB,yCAG0C;YAAxC,wIAAa,uBAAyB,IAAC;YACzC,iBAAiB;YACjB,4CAA+D;YAAtB,iIAAW,aAAS,IAAC;YAAC,iBAAoB;YACnF,iCAA0E;YAA7B,kHAAS,sBAAkB,IAAC;YACvE,wBAAgC;YAAC,+BACnC;YACF,AADE,iBAAS,EACL;YAEJ,AADF,gCAAa,0BAI8B;YAAvC,6IAAe,0BAAsB,IAAC;YAG5C,AADE,AADE,iBAAiB,EACb,EACS;YAEjB,qCAAc;YACd,iHAAiB;YAIjB,gGAAkB;YAsMlB,2GAAwB;YAsBxB,iBAAe;YAGf,4HAAwC;YAU1C,iBAAiB;;YAlRT,eAA+B;YAC/B,AADA,iDAA+B,4BACR;YAMvB,eAAiC;YACjC,AADA,mDAAiC,2CACK;YAGpC,cAAuB;YACvB,AADA,yCAAuB,4BACA;YAMzB,cAAuB;YACvB,AADA,yCAAuB,2BACD;YAGL,cAAqB;YAArB,uCAAqB;YAQtC,eAAoB;YAApB,sCAAoB;YAO1B,eAEC;YAFD,yCAEC;YAED,cAmMC;YAnMD,0CAmMC;YAGD,cAoBC;YApBD,gDAoBC;YAKD,cASC;YATD,oEASC;;;ADhPU,qCAAqC;IARjD,aAAa,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;GAQxD,qCAAqC,CAofjD;;iFApfY,qCAAqC;cAPjD,SAAS;6BACI,KAAK,YACL,oCAAoC,mBAG7B,uBAAuB,CAAC,MAAM;;kFAEtC,qCAAqC","sourcesContent":["import { Component, OnInit, OnDestroy, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { RegisterClass , UUIDsEqual } from '@memberjunction/global';\nimport { BaseResourceComponent, NavigationService } from '@memberjunction/ng-shared';\nimport { RunView, Metadata } from '@memberjunction/core';\nimport { ResourceData, MJVersionLabelEntityType, MJVersionLabelItemEntityType, UserInfoEngine } from '@memberjunction/core-entities';\nimport { EntityLinkClickEvent } from '@memberjunction/ng-versions';\nimport { FilterFieldConfig, ViewToggleOption } from '@memberjunction/ng-ui-components';\ninterface ScopeStat {\n Scope: string;\n Count: number;\n Icon: string;\n Color: string;\n}\n\ninterface StatusStat {\n Status: string;\n Count: number;\n Color: string;\n}\n\ninterface VersionLabelPreferences {\n ViewMode: 'card' | 'list';\n ActiveScopeFilter: string;\n ActiveStatusFilter: string;\n DefaultDetailTab: string;\n SortField: string;\n SortDirection: 'asc' | 'desc';\n}\n\ntype SortField = 'Name' | 'Scope' | 'Status' | 'Items' | 'Date';\n\n@RegisterClass(BaseResourceComponent, 'VersionHistoryLabelsResource')\n@Component({\n standalone: false,\n selector: 'mj-version-history-labels-resource',\n templateUrl: './labels-resource.component.html',\n styleUrls: ['./labels-resource.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VersionHistoryLabelsResourceComponent extends BaseResourceComponent implements OnInit, OnDestroy {\n private static readonly PREFS_KEY = 'VersionHistory.Labels.UserPreferences';\n\n public IsLoading = true;\n\n // View mode\n public ViewMode: 'card' | 'list' = 'card';\n\n // Detail panel\n public SelectedLabel: MJVersionLabelEntityType | null = null;\n public ShowDetailPanel = false;\n\n // Stats\n public TotalLabels = 0;\n public ActiveLabels = 0;\n public ArchivedLabels = 0;\n public RestoredLabels = 0;\n\n // Grouped data\n public ScopeStats: ScopeStat[] = [];\n public StatusStats: StatusStat[] = [];\n public Labels: MJVersionLabelEntityType[] = [];\n public FilteredLabels: MJVersionLabelEntityType[] = [];\n public ItemCountMap = new Map<string, number>();\n\n // Filters\n public ScopeFilter = '';\n public StatusFilter = '';\n public SearchText = '';\n\n // Sorting\n public SortField: SortField = 'Date';\n public SortDirection: 'asc' | 'desc' = 'desc';\n\n // User preferences\n private preferencesLoaded = false;\n\n // Create Label Wizard\n public ShowCreateWizard = false;\n\n private metadata = this.ProviderToUse;\n protected override destroy$ = new Subject<void>();\n\n public readonly viewOptions: ViewToggleOption[] = [\n { key: 'card', icon: 'fa-solid fa-grip', title: 'Card view' },\n { key: 'list', icon: 'fa-solid fa-list', title: 'List view' }\n ];\n\n public get FilterFields(): FilterFieldConfig[] {\n const scopeOptions = [\n { text: 'All Scopes', value: '' },\n ...this.ScopeStats.map(s => ({ text: `${s.Scope} (${s.Count})`, value: s.Scope }))\n ];\n const statusOptions = [\n { text: 'All Statuses', value: '' },\n ...this.StatusStats.map(s => ({ text: `${s.Status} (${s.Count})`, value: s.Status }))\n ];\n return [\n {\n key: 'scopeFilter',\n type: 'dropdown',\n label: 'Scope',\n icon: 'fa-solid fa-layer-group',\n placeholder: 'All Scopes',\n options: scopeOptions\n },\n {\n key: 'statusFilter',\n type: 'dropdown',\n label: 'Status',\n icon: 'fa-solid fa-circle-info',\n placeholder: 'All Statuses',\n options: statusOptions\n }\n ];\n }\n public get FilterValues(): Record<string, unknown> {\n return { scopeFilter: this.ScopeFilter, statusFilter: this.StatusFilter };\n }\n public get ActiveFilterCount(): number {\n let n = 0;\n if (this.ScopeFilter) n++;\n if (this.StatusFilter) n++;\n return n;\n }\n public onFilterValuesChange(v: Record<string, unknown>): void {\n const next = (v ?? {}) as { scopeFilter?: string; statusFilter?: string };\n if ((next.scopeFilter ?? '') !== this.ScopeFilter) {\n this.OnScopeFilterChange(next.scopeFilter ?? '');\n }\n if ((next.statusFilter ?? '') !== this.StatusFilter) {\n this.OnStatusFilterChange(next.statusFilter ?? '');\n }\n }\n public resetFilters(): void {\n if (this.ScopeFilter) this.OnScopeFilterChange('');\n if (this.StatusFilter) this.OnStatusFilterChange('');\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.loadUserPreferences();\n this.LoadData();\n }\n\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n async GetResourceDisplayName(data: ResourceData): Promise<string> {\n return 'Labels';\n }\n\n async GetResourceIconClass(data: ResourceData): Promise<string> {\n return 'fa-solid fa-tags';\n }\n\n // =======================================================================\n // Data loading\n // =======================================================================\n\n public async LoadData(): Promise<void> {\n try {\n this.IsLoading = true;\n this.cdr.markForCheck();\n\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n\n const [labelsResult, itemsResult] = await rv.RunViews([\n {\n EntityName: 'MJ: Version Labels',\n OrderBy: '__mj_CreatedAt DESC',\n MaxRows: 500,\n ResultType: 'simple'\n },\n {\n EntityName: 'MJ: Version Label Items',\n Fields: ['VersionLabelID'],\n ResultType: 'simple'\n }\n ]);\n\n if (labelsResult.Success) {\n this.Labels = labelsResult.Results as MJVersionLabelEntityType[];\n const items = itemsResult.Success\n ? itemsResult.Results as MJVersionLabelItemEntityType[]\n : [];\n this.ItemCountMap = this.buildItemCountMap(items);\n this.computeStats();\n this.applyFilters();\n }\n } catch (error) {\n console.error('Error loading version labels:', error);\n } finally {\n this.IsLoading = false;\n this.NotifyLoadComplete();\n this.cdr.markForCheck();\n }\n }\n\n private buildItemCountMap(items: MJVersionLabelItemEntityType[]): Map<string, number> {\n const counts = new Map<string, number>();\n for (const item of items) {\n const labelId = item.VersionLabelID ?? '';\n counts.set(labelId, (counts.get(labelId) ?? 0) + 1);\n }\n return counts;\n }\n\n public GetItemCount(labelId: string | undefined): number {\n return this.ItemCountMap.get(labelId ?? '') ?? 0;\n }\n\n public ResolveEntityName(entityId: string | undefined): string {\n if (!entityId) return '';\n const entity = this.metadata.Entities.find(e => UUIDsEqual(e.ID, entityId));\n return entity ? entity.Name : '';\n }\n\n // =======================================================================\n // Stats\n // =======================================================================\n\n private computeStats(): void {\n // Only count root-level labels (exclude children) for stats\n const rootLabels = this.Labels.filter(l => !l.ParentID);\n this.TotalLabels = rootLabels.length;\n this.ActiveLabels = rootLabels.filter(l => l.Status === 'Active').length;\n this.ArchivedLabels = rootLabels.filter(l => l.Status === 'Archived').length;\n this.RestoredLabels = rootLabels.filter(l => l.Status === 'Restored').length;\n\n this.ScopeStats = this.computeScopeStats();\n this.StatusStats = this.computeStatusStats();\n }\n\n private computeScopeStats(): ScopeStat[] {\n const scopeMap = new Map<string, number>();\n for (const label of this.Labels) {\n const scope = label.Scope ?? 'Record';\n scopeMap.set(scope, (scopeMap.get(scope) ?? 0) + 1);\n }\n\n const scopeConfig: Record<string, { Icon: string; Color: string }> = {\n 'System': { Icon: 'fa-solid fa-globe', Color: '#6366f1' },\n 'Entity': { Icon: 'fa-solid fa-table', Color: '#3b82f6' },\n 'Record': { Icon: 'fa-solid fa-file', Color: '#10b981' }\n };\n\n return Array.from(scopeMap.entries()).map(([scope, count]) => ({\n Scope: scope,\n Count: count,\n Icon: scopeConfig[scope]?.Icon ?? 'fa-solid fa-tag',\n Color: scopeConfig[scope]?.Color ?? '#64748b'\n }));\n }\n\n private computeStatusStats(): StatusStat[] {\n const statusMap = new Map<string, number>();\n for (const label of this.Labels) {\n const status = label.Status ?? 'Active';\n statusMap.set(status, (statusMap.get(status) ?? 0) + 1);\n }\n\n const statusColors: Record<string, string> = {\n 'Active': '#10b981',\n 'Archived': '#6b7280',\n 'Restored': '#f59e0b'\n };\n\n return Array.from(statusMap.entries()).map(([status, count]) => ({\n Status: status,\n Count: count,\n Color: statusColors[status] ?? '#64748b'\n }));\n }\n\n // =======================================================================\n // Filters\n // =======================================================================\n\n public applyFilters(): void {\n // First: exclude child labels (those with ParentID) from top-level list\n let result = this.Labels.filter(l => !l.ParentID);\n\n // Apply scope filter\n if (this.ScopeFilter) {\n result = result.filter(l => l.Scope === this.ScopeFilter);\n }\n\n // Apply status filter\n if (this.StatusFilter) {\n result = result.filter(l => l.Status === this.StatusFilter);\n }\n\n // Apply search\n if (this.SearchText) {\n const search = this.SearchText.toLowerCase();\n result = result.filter(l => {\n const name = (l.Name ?? '').toLowerCase();\n const desc = (l.Description ?? '').toLowerCase();\n const entityName = (l.Entity ?? this.ResolveEntityName(l.EntityID)).toLowerCase();\n return name.includes(search) || desc.includes(search) || entityName.includes(search);\n });\n }\n\n // Apply sorting\n result = this.sortLabels(result);\n\n this.FilteredLabels = result;\n this.cdr.markForCheck();\n }\n\n private sortLabels(labels: MJVersionLabelEntityType[]): MJVersionLabelEntityType[] {\n const dir = this.SortDirection === 'asc' ? 1 : -1;\n return [...labels].sort((a, b) => {\n switch (this.SortField) {\n case 'Name':\n return dir * (a.Name ?? '').localeCompare(b.Name ?? '');\n case 'Scope':\n return dir * (a.Scope ?? '').localeCompare(b.Scope ?? '');\n case 'Status':\n return dir * (a.Status ?? '').localeCompare(b.Status ?? '');\n case 'Items': {\n const aCount = this.GetItemCount(a.ID);\n const bCount = this.GetItemCount(b.ID);\n return dir * (aCount - bCount);\n }\n case 'Date':\n default: {\n const aDate = (a as Record<string, unknown>)['__mj_CreatedAt'] ?? '';\n const bDate = (b as Record<string, unknown>)['__mj_CreatedAt'] ?? '';\n return dir * String(aDate).localeCompare(String(bDate));\n }\n }\n });\n }\n\n public OnSortChange(field: SortField): void {\n if (this.SortField === field) {\n this.SortDirection = this.SortDirection === 'asc' ? 'desc' : 'asc';\n } else {\n this.SortField = field;\n this.SortDirection = field === 'Date' ? 'desc' : 'asc';\n }\n this.applyFilters();\n this.persistPreferences();\n }\n\n public GetSortIcon(field: SortField): string {\n if (this.SortField !== field) return 'fa-solid fa-sort';\n return this.SortDirection === 'asc' ? 'fa-solid fa-sort-up' : 'fa-solid fa-sort-down';\n }\n\n public OnScopeFilterChange(scope: string): void {\n this.ScopeFilter = this.ScopeFilter === scope ? '' : scope;\n this.applyFilters();\n this.persistPreferences();\n }\n\n public OnStatusFilterChange(status: string): void {\n this.StatusFilter = this.StatusFilter === status ? '' : status;\n this.applyFilters();\n this.persistPreferences();\n }\n\n public OnSearchChange(text: string): void {\n this.SearchText = text;\n this.applyFilters();\n }\n\n public Refresh(): void {\n this.LoadData();\n }\n\n // =======================================================================\n // View mode and detail panel\n // =======================================================================\n\n public ToggleViewMode(): void {\n this.ViewMode = this.ViewMode === 'card' ? 'list' : 'card';\n this.persistPreferences();\n this.cdr.markForCheck();\n }\n\n public SetViewMode(mode: 'card' | 'list'): void {\n if (this.ViewMode !== mode) {\n this.ViewMode = mode;\n this.persistPreferences();\n this.cdr.markForCheck();\n }\n }\n\n public OnLabelClick(label: MJVersionLabelEntityType): void {\n this.SelectedLabel = label;\n this.ShowDetailPanel = true;\n this.cdr.markForCheck();\n }\n\n public OnDetailPanelClose(): void {\n this.ShowDetailPanel = false;\n this.SelectedLabel = null;\n this.cdr.markForCheck();\n }\n\n public OnLabelUpdated(): void {\n this.LoadData();\n }\n\n public OnEntityLinkClick(event: EntityLinkClickEvent): void {\n this.navigationService.OpenEntityRecord(event.EntityName, event.CompositeKey);\n }\n\n // =======================================================================\n // User preferences\n // =======================================================================\n\n private loadUserPreferences(): void {\n try {\n const json = UserInfoEngine.Instance.GetSetting(VersionHistoryLabelsResourceComponent.PREFS_KEY);\n if (json) {\n const prefs = JSON.parse(json) as VersionLabelPreferences;\n this.ViewMode = prefs.ViewMode ?? 'card';\n this.ScopeFilter = prefs.ActiveScopeFilter ?? '';\n this.StatusFilter = prefs.ActiveStatusFilter ?? '';\n if (prefs.SortField) this.SortField = prefs.SortField as SortField;\n if (prefs.SortDirection) this.SortDirection = prefs.SortDirection;\n }\n } catch (e) {\n console.warn('[VersionLabels] Failed to load user preferences:', e);\n } finally {\n this.preferencesLoaded = true;\n }\n }\n\n private persistPreferences(): void {\n if (!this.preferencesLoaded) return;\n\n const prefs: VersionLabelPreferences = {\n ViewMode: this.ViewMode,\n ActiveScopeFilter: this.ScopeFilter,\n ActiveStatusFilter: this.StatusFilter,\n DefaultDetailTab: 'overview',\n SortField: this.SortField,\n SortDirection: this.SortDirection,\n };\n\n UserInfoEngine.Instance.SetSettingDebounced(\n VersionHistoryLabelsResourceComponent.PREFS_KEY,\n JSON.stringify(prefs)\n );\n }\n\n // =======================================================================\n // Create Label Wizard\n // =======================================================================\n\n public OpenCreateDialog(): void {\n this.ShowCreateWizard = true;\n this.cdr.markForCheck();\n }\n\n public OnLabelCreated(_event: { LabelCount: number; ItemCount: number }): void {\n this.ShowCreateWizard = false;\n this.cdr.markForCheck();\n this.LoadData();\n }\n\n public OnCreateWizardCancel(): void {\n this.ShowCreateWizard = false;\n this.cdr.markForCheck();\n }\n\n // =======================================================================\n // Display helpers\n // =======================================================================\n\n public GetScopeIcon(scope: string | undefined): string {\n const icons: Record<string, string> = {\n 'System': 'fa-solid fa-globe',\n 'Entity': 'fa-solid fa-table',\n 'Record': 'fa-solid fa-file'\n };\n return icons[scope ?? ''] ?? 'fa-solid fa-tag';\n }\n\n public GetStatusClass(status: string | undefined): string {\n const classes: Record<string, string> = {\n 'Active': 'status-active',\n 'Archived': 'status-archived',\n 'Restored': 'status-restored'\n };\n return classes[status ?? ''] ?? '';\n }\n\n public FormatDate(date: Date | string | undefined): string {\n if (!date) return '';\n const d = date instanceof Date ? date : new Date(date);\n const now = new Date();\n const diffMs = now.getTime() - d.getTime();\n const diffMins = Math.floor(diffMs / 60000);\n const diffHours = Math.floor(diffMs / 3600000);\n const diffDays = Math.floor(diffMs / 86400000);\n\n if (diffMins < 1) return 'Just now';\n if (diffMins < 60) return `${diffMins}m ago`;\n if (diffHours < 24) return `${diffHours}h ago`;\n if (diffDays < 7) return `${diffDays}d ago`;\n\n return d.toLocaleDateString('en-US', {\n month: 'short',\n day: 'numeric',\n year: 'numeric'\n });\n }\n\n public FormatNumber(num: number): string {\n if (num >= 1000) return (num / 1000).toFixed(1) + 'k';\n return num.toString();\n }\n\n public FormatDuration(ms: number | undefined): string {\n if (!ms) return '';\n if (ms < 1000) return `${ms}ms`;\n return `${(ms / 1000).toFixed(1)}s`;\n }\n\n public IsGroupParent(label: MJVersionLabelEntityType): boolean {\n return !label.RecordID && !label.ParentID && !!label.EntityID;\n }\n\n public GetChildLabels(parentId: string | undefined): MJVersionLabelEntityType[] {\n if (!parentId) return [];\n return this.Labels.filter(l => UUIDsEqual(l.ParentID, parentId));\n }\n}\n","<mj-page-layout>\n <mj-page-header\n Title=\"Version Labels\"\n Icon=\"fa-solid fa-tags\"\n Subtitle=\"Manage versioning snapshots across your system\">\n <div meta>\n <mj-stat-badge\n [Count]=\"FilteredLabels.length\"\n [Total]=\"Labels.length\"\n Label=\"labels\">\n </mj-stat-badge>\n </div>\n <div actions>\n <mj-filter-popover\n [ActiveCount]=\"ActiveFilterCount\"\n [ShowClearAll]=\"ActiveFilterCount > 0\"\n (ClearAllRequested)=\"resetFilters()\">\n <mj-filter-panel\n [Fields]=\"FilterFields\"\n [Values]=\"FilterValues\"\n (ValuesChange)=\"onFilterValuesChange($event)\"\n (Reset)=\"resetFilters()\">\n </mj-filter-panel>\n </mj-filter-popover>\n <mj-view-toggle\n [Options]=\"viewOptions\"\n [ActiveKey]=\"ViewMode\"\n (KeyChange)=\"SetViewMode($any($event))\">\n </mj-view-toggle>\n <mj-refresh-button [Loading]=\"IsLoading\" (Clicked)=\"Refresh()\"></mj-refresh-button>\n <button mjButton variant=\"primary\" size=\"sm\" (click)=\"OpenCreateDialog()\">\n <i class=\"fa-solid fa-plus\"></i> Create Label\n </button>\n </div>\n <div toolbar>\n <mj-page-search\n Placeholder=\"Search labels by name, description, or entity...\"\n [Value]=\"SearchText\"\n (ValueChange)=\"OnSearchChange($event)\">\n </mj-page-search>\n </div>\n </mj-page-header>\n\n <mj-page-body>\n @if (IsLoading) {\n <mj-loading text=\"Loading version labels...\"></mj-loading>\n }\n\n @if (!IsLoading) {\n <!-- KPI Cards -->\n <div class=\"kpi-row\">\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent); color: var(--mj-brand-primary);\">\n <i class=\"fa-solid fa-tags\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FormatNumber(TotalLabels)}}</div>\n <div class=\"kpi-label\">Total Labels</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-status-success) 10%, transparent); color: var(--mj-status-success);\">\n <i class=\"fa-solid fa-circle-check\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FormatNumber(ActiveLabels)}}</div>\n <div class=\"kpi-label\">Active</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-text-muted) 10%, transparent); color: var(--mj-text-muted);\">\n <i class=\"fa-solid fa-box-archive\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FormatNumber(ArchivedLabels)}}</div>\n <div class=\"kpi-label\">Archived</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent); color: var(--mj-status-warning);\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FormatNumber(RestoredLabels)}}</div>\n <div class=\"kpi-label\">Restored</div>\n </div>\n </div>\n </div>\n <!-- Labels Card View -->\n @if (FilteredLabels.length > 0 && ViewMode === 'card') {\n <div class=\"labels-list\">\n @for (label of FilteredLabels; track label) {\n <div class=\"label-card clickable\"\n [class.group-parent]=\"IsGroupParent(label)\"\n (click)=\"OnLabelClick(label)\">\n <div class=\"label-header\">\n <div class=\"label-title-row\">\n <i [class]=\"GetScopeIcon(label.Scope)\" class=\"label-scope-icon\"></i>\n <h3 class=\"label-name\">{{label.Name}}</h3>\n @if (IsGroupParent(label)) {\n <span class=\"group-badge\">\n <i class=\"fa-solid fa-layer-group\"></i>\n {{GetChildLabels(label.ID).length}} records\n </span>\n }\n <span class=\"label-status\" [ngClass]=\"GetStatusClass(label.Status)\">\n {{label.Status}}\n </span>\n </div>\n <div class=\"label-meta\">\n <span class=\"meta-item\" title=\"Scope\">\n <i class=\"fa-solid fa-layer-group\"></i> {{label.Scope}}\n </span>\n @if (label.Entity || label.EntityID) {\n <span class=\"meta-item\" title=\"Entity\">\n <i class=\"fa-solid fa-table\"></i> {{label.Entity ?? ResolveEntityName(label.EntityID)}}\n </span>\n }\n @if (label.RecordID) {\n <span class=\"meta-item\" title=\"Record ID\">\n <i class=\"fa-solid fa-fingerprint\"></i> {{label.RecordID | slice:0:12}}...\n </span>\n }\n @if (label.ItemCount) {\n <span class=\"meta-item\" title=\"Items captured\">\n <i class=\"fa-solid fa-camera\"></i> {{label.ItemCount}} items\n </span>\n }\n @if (!label.ItemCount) {\n <span class=\"meta-item\" title=\"Items captured\">\n <i class=\"fa-solid fa-camera\"></i> {{GetItemCount(label.ID)}} items\n </span>\n }\n @if (label.CreationDurationMS) {\n <span class=\"meta-item\" title=\"Creation time\">\n <i class=\"fa-solid fa-stopwatch\"></i> {{FormatDuration(label.CreationDurationMS)}}\n </span>\n }\n @if (label.CreatedByUser) {\n <span class=\"meta-item\" title=\"Created by\">\n <i class=\"fa-solid fa-user\"></i> {{label.CreatedByUser}}\n </span>\n }\n <span class=\"meta-item\" title=\"Created\">\n <i class=\"fa-regular fa-clock\"></i> {{FormatDate(label.__mj_CreatedAt)}}\n </span>\n </div>\n </div>\n @if (label.Description) {\n <p class=\"label-description\">{{label.Description}}</p>\n }\n <!-- Child labels for group parents -->\n @if (IsGroupParent(label) && GetChildLabels(label.ID).length > 0) {\n <div class=\"child-labels\">\n @for (child of GetChildLabels(label.ID); track child) {\n <div class=\"child-label\">\n <i class=\"fa-solid fa-tag child-icon\"></i>\n <span class=\"child-name\">{{child.Name}}</span>\n @if (child.RecordID) {\n <span class=\"child-record\">{{child.RecordID | slice:0:12}}...</span>\n }\n @if (child.ItemCount) {\n <span class=\"child-items\">{{child.ItemCount}} items</span>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- Labels List View -->\n @if (FilteredLabels.length > 0 && ViewMode === 'list') {\n <div class=\"labels-table\">\n <div class=\"list-header-row\">\n <span class=\"list-col-icon\"></span>\n <span class=\"list-col-name sortable-header\" (click)=\"OnSortChange('Name')\">\n Name <i [class]=\"GetSortIcon('Name')\" class=\"sort-icon\"></i>\n </span>\n <span class=\"list-col-entity\">Entity</span>\n <span class=\"list-col-status sortable-header\" (click)=\"OnSortChange('Status')\">\n Status <i [class]=\"GetSortIcon('Status')\" class=\"sort-icon\"></i>\n </span>\n <span class=\"list-col-items sortable-header\" (click)=\"OnSortChange('Items')\">\n Items <i [class]=\"GetSortIcon('Items')\" class=\"sort-icon\"></i>\n </span>\n <span class=\"list-col-date sortable-header\" (click)=\"OnSortChange('Date')\">\n Created <i [class]=\"GetSortIcon('Date')\" class=\"sort-icon\"></i>\n </span>\n <span class=\"list-col-arrow\"></span>\n </div>\n @for (label of FilteredLabels; track label) {\n <div class=\"list-row clickable\"\n (click)=\"OnLabelClick(label)\">\n <span class=\"list-col-icon\">\n <i [class]=\"GetScopeIcon(label.Scope)\" class=\"list-scope-icon\"></i>\n </span>\n <span class=\"list-col-name\">\n <span class=\"list-label-name\">{{label.Name}}</span>\n @if (IsGroupParent(label)) {\n <span class=\"list-group-badge\">\n <i class=\"fa-solid fa-layer-group\"></i> {{GetChildLabels(label.ID).length}}\n </span>\n }\n </span>\n <span class=\"list-col-entity\">{{label.Entity ?? ResolveEntityName(label.EntityID)}}</span>\n <span class=\"list-col-status\">\n <span class=\"label-status small\" [ngClass]=\"GetStatusClass(label.Status)\">{{label.Status}}</span>\n </span>\n <span class=\"list-col-items\">{{label.ItemCount || GetItemCount(label.ID)}}</span>\n <span class=\"list-col-date\">{{FormatDate(label.__mj_CreatedAt)}}</span>\n <span class=\"list-col-arrow\">\n <i class=\"fa-solid fa-chevron-right list-arrow\"></i>\n </span>\n </div>\n }\n </div>\n }\n <!-- Empty state -->\n @if (FilteredLabels.length === 0 && !IsLoading) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-tags empty-icon\"></i>\n <h3>No labels found</h3>\n @if (SearchText || ScopeFilter || StatusFilter) {\n <p>\n Try adjusting your filters or search criteria.\n </p>\n }\n @if (!SearchText && !ScopeFilter && !StatusFilter) {\n <p>\n No version labels have been created yet.\n </p>\n }\n @if (!SearchText && !ScopeFilter && !StatusFilter) {\n <button class=\"btn-primary empty-cta\"\n (click)=\"OpenCreateDialog()\">\n <i class=\"fa-solid fa-plus\"></i>\n <span>Create Your First Label</span>\n </button>\n }\n </div>\n }\n }\n\n <!-- Create Label Wizard -->\n @if (ShowCreateWizard) {\n <div class=\"create-wizard-overlay\" (click)=\"OnCreateWizardCancel()\">\n <div class=\"create-wizard-container\" (click)=\"$event.stopPropagation()\">\n <div class=\"create-wizard-header\">\n <h3 class=\"create-wizard-title\">\n <i class=\"fa-solid fa-tag\"></i>\n Create Version Label\n </h3>\n <button class=\"create-wizard-close\" (click)=\"OnCreateWizardCancel()\" title=\"Close\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"create-wizard-body\">\n <mj-label-create\n (Created)=\"OnLabelCreated($event)\"\n (Cancel)=\"OnCreateWizardCancel()\">\n </mj-label-create>\n </div>\n </div>\n </div>\n }\n\n </mj-page-body>\n\n <!-- Detail panel -->\n @if (ShowDetailPanel && SelectedLabel) {\n <mj-label-detail-panel\n [Label]=\"SelectedLabel\"\n [AllLabels]=\"Labels\"\n [ItemCountMap]=\"ItemCountMap\"\n (Close)=\"OnDetailPanelClose()\"\n (LabelUpdated)=\"OnLabelUpdated()\"\n (EntityLinkClick)=\"OnEntityLinkClick($event)\">\n </mj-label-detail-panel>\n }\n</mj-page-layout>\n"]}
|