@memberjunction/ng-dashboards 5.38.0 → 5.40.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/README.md +14 -7
- package/dist/AI/components/agents/agent-configuration.component.js +199 -198
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.js +20 -17
- package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +15 -0
- 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 +166 -58
- package/dist/AI/components/analytics/cost-budget/cost-budget.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 +2 -1
- 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 +1 -0
- 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 +55 -36
- 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 +9 -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 +158 -117
- 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 +1 -0
- 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 +22 -8
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +217 -860
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +1717 -7802
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
- package/dist/AI/components/autotagging/components/classify-item-drilldown.component.d.ts +56 -0
- package/dist/AI/components/autotagging/components/classify-item-drilldown.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-item-drilldown.component.js +423 -0
- package/dist/AI/components/autotagging/components/classify-item-drilldown.component.js.map +1 -0
- package/dist/AI/components/autotagging/components/classify-item-grid.component.d.ts +70 -0
- package/dist/AI/components/autotagging/components/classify-item-grid.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-item-grid.component.js +308 -0
- package/dist/AI/components/autotagging/components/classify-item-grid.component.js.map +1 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts +29 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js +186 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js.map +1 -0
- package/dist/AI/components/autotagging/components/classify-overview-analytics.component.d.ts +69 -0
- package/dist/AI/components/autotagging/components/classify-overview-analytics.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-overview-analytics.component.js +278 -0
- package/dist/AI/components/autotagging/components/classify-overview-analytics.component.js.map +1 -0
- package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.d.ts +73 -0
- package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.js +393 -0
- package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.d.ts +122 -0
- package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.js +908 -0
- package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.d.ts +87 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.js +475 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.d.ts +29 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.js +208 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.d.ts +21 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.js +70 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts +333 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js +2125 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.d.ts +61 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.d.ts.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.js +78 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.js.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.format.d.ts +58 -0
- package/dist/AI/components/autotagging/shared/classify.format.d.ts.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.format.js +260 -0
- package/dist/AI/components/autotagging/shared/classify.format.js.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.types.d.ts +319 -0
- package/dist/AI/components/autotagging/shared/classify.types.d.ts.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.types.js +6 -0
- package/dist/AI/components/autotagging/shared/classify.types.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.d.ts +103 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.js +571 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.d.ts +77 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.js +519 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.d.ts +107 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.js +719 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.d.ts +131 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.js +813 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts +177 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js +1465 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.d.ts +78 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.js +492 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.d.ts +397 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.js +3490 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.d.ts +56 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.js +271 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.js.map +1 -0
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +3 -0
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +306 -290
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
- package/dist/AI/components/execution-monitoring.component.js +1 -1
- package/dist/AI/components/execution-monitoring.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.js +209 -208
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +130 -128
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.js +61 -61
- package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +17 -17
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.d.ts +1 -0
- package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +578 -538
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts +3 -0
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.js +331 -303
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.d.ts +5 -0
- package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.js +14 -2
- package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
- package/dist/AI/services/cache-metrics.d.ts +50 -0
- package/dist/AI/services/cache-metrics.d.ts.map +1 -0
- package/dist/AI/services/cache-metrics.js +43 -0
- package/dist/AI/services/cache-metrics.js.map +1 -0
- package/dist/APIKeys/api-applications-panel.component.js +2 -2
- package/dist/APIKeys/api-key-create-dialog.component.js +2 -2
- package/dist/APIKeys/api-key-edit-panel.component.js +2 -2
- package/dist/APIKeys/api-keys-resource.component.js +132 -131
- package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +141 -141
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +15 -15
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts +0 -5
- package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.js +139 -212
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
- package/dist/Admin/admin-data-schema.component.js +2 -2
- package/dist/Admin/admin-data-schema.component.js.map +1 -1
- package/dist/Admin/admin-dev-tools-resource.component.js +2 -2
- package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
- package/dist/Admin/admin-identity-access.component.js +2 -2
- package/dist/Admin/admin-identity-access.component.js.map +1 -1
- package/dist/Admin/admin-monitoring.component.js +2 -2
- package/dist/Admin/admin-monitoring.component.js.map +1 -1
- package/dist/ApplicationRoles/application-roles-resource.component.js +54 -49
- package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts +6 -0
- package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js +72 -50
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +103 -102
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js +52 -51
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +39 -38
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts +6 -0
- package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-templates-resource.component.js +92 -89
- package/dist/Communication/communication-templates-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.js +136 -135
- package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js +155 -152
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +119 -118
- package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.js +129 -128
- package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +107 -106
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +31 -340
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.js +468 -1958
- package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.js +10 -0
- package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +1 -1
- package/dist/DatabaseDesigner/components/entity-list.component.js +115 -114
- package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +5 -6
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js +4 -5
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
- package/dist/DevTools/app-state-inspector.component.js +18 -17
- package/dist/DevTools/app-state-inspector.component.js.map +1 -1
- package/dist/DevTools/class-registry.component.js +88 -85
- package/dist/DevTools/class-registry.component.js.map +1 -1
- package/dist/DevTools/event-monitor.component.js +155 -150
- package/dist/DevTools/event-monitor.component.js.map +1 -1
- package/dist/DevTools/graphql-console.component.js +245 -243
- package/dist/DevTools/graphql-console.component.js.map +1 -1
- package/dist/DevTools/layout-inspector.component.js +18 -17
- package/dist/DevTools/layout-inspector.component.js.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +20 -19
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/Home/home-dashboard.component.js +2 -2
- package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
- package/dist/Integration/components/activity/activity.component.js +236 -229
- package/dist/Integration/components/activity/activity.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +390 -389
- package/dist/Integration/components/connections/connections.component.js.map +1 -1
- package/dist/Integration/components/overview/overview.component.js +2 -2
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +14 -11
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts +27 -2
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +244 -119
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +293 -291
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +62 -61
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.d.ts +65 -0
- package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.js +176 -0
- package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.js.map +1 -0
- package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.d.ts +81 -0
- package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.js +308 -0
- package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.js.map +1 -0
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts +85 -0
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js +362 -0
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js.map +1 -0
- package/dist/KnowledgeHub/index.d.ts +3 -0
- package/dist/KnowledgeHub/index.d.ts.map +1 -1
- package/dist/KnowledgeHub/index.js +3 -0
- package/dist/KnowledgeHub/index.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +6 -2
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +525 -566
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.js +135 -134
- package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +199 -198
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/MCP/components/mcp-server-dialog.component.js +2 -2
- package/dist/MCP/mcp-dashboard.component.js +443 -438
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.js +146 -147
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js +76 -75
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.js +97 -96
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +24 -22
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts +2 -0
- package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.js +1 -0
- package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +1 -1
- package/dist/Testing/components/testing-explorer.component.d.ts +14 -4
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer.component.js +436 -427
- package/dist/Testing/components/testing-explorer.component.js.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.js +1 -1
- package/dist/Testing/components/testing-runs.component.js +116 -115
- package/dist/Testing/components/testing-runs.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +6 -7
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.js +173 -172
- package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.d.ts +6 -0
- package/dist/VersionHistory/components/restore-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.js +116 -92
- package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
- package/dist/ai-dashboards.module.d.ts +57 -35
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +80 -1
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/communication-dashboards.module.d.ts +1 -1
- package/dist/communication-dashboards.module.d.ts.map +1 -1
- package/dist/communication-dashboards.module.js +7 -1
- package/dist/communication-dashboards.module.js.map +1 -1
- package/dist/data-explorer-dashboards.module.d.ts +12 -14
- package/dist/data-explorer-dashboards.module.d.ts.map +1 -1
- package/dist/data-explorer-dashboards.module.js +5 -14
- package/dist/data-explorer-dashboards.module.js.map +1 -1
- package/dist/public-api.d.ts +3 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -0
- package/dist/public-api.js.map +1 -1
- package/dist/testing-dashboards.module.d.ts +4 -5
- package/dist/testing-dashboards.module.d.ts.map +1 -1
- package/dist/testing-dashboards.module.js +7 -5
- package/dist/testing-dashboards.module.js.map +1 -1
- package/package.json +57 -54
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts +0 -79
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts.map +0 -1
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +0 -195
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js.map +0 -1
- package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts +0 -226
- package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts.map +0 -1
- package/dist/DataExplorer/components/view-selector/view-selector.component.js +0 -861
- package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +0 -1
|
@@ -16,11 +16,11 @@ import * as i1 from "@angular/common";
|
|
|
16
16
|
import * as i2 from "@memberjunction/ng-ui-components";
|
|
17
17
|
import * as i3 from "@memberjunction/ng-shared-generic";
|
|
18
18
|
const _c0 = a0 => ({ "expanded": a0 });
|
|
19
|
-
function
|
|
20
|
-
i0.ɵɵelement(0, "mj-loading",
|
|
19
|
+
function VersionHistoryRestoreResourceComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
+
i0.ɵɵelement(0, "mj-loading", 8);
|
|
21
21
|
} }
|
|
22
|
-
function
|
|
23
|
-
i0.ɵɵelementStart(0, "div",
|
|
22
|
+
function VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
i0.ɵɵelementStart(0, "div", 30);
|
|
24
24
|
i0.ɵɵtext(1);
|
|
25
25
|
i0.ɵɵelementEnd();
|
|
26
26
|
} if (rf & 2) {
|
|
@@ -29,11 +29,11 @@ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_Fo
|
|
|
29
29
|
i0.ɵɵadvance();
|
|
30
30
|
i0.ɵɵtextInterpolate(ctx_r2.FormatDate(restore_r2.StartedAt));
|
|
31
31
|
} }
|
|
32
|
-
function
|
|
33
|
-
i0.ɵɵelementStart(0, "div",
|
|
32
|
+
function VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Conditional_14_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
i0.ɵɵelementStart(0, "div", 38)(1, "span", 39);
|
|
34
34
|
i0.ɵɵtext(2, "Restored By");
|
|
35
35
|
i0.ɵɵelementEnd();
|
|
36
|
-
i0.ɵɵelementStart(3, "span",
|
|
36
|
+
i0.ɵɵelementStart(3, "span", 41);
|
|
37
37
|
i0.ɵɵtext(4);
|
|
38
38
|
i0.ɵɵelementEnd()();
|
|
39
39
|
} if (rf & 2) {
|
|
@@ -41,8 +41,8 @@ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_Fo
|
|
|
41
41
|
i0.ɵɵadvance(4);
|
|
42
42
|
i0.ɵɵtextInterpolate(restore_r2.User);
|
|
43
43
|
} }
|
|
44
|
-
function
|
|
45
|
-
i0.ɵɵelementStart(0, "span",
|
|
44
|
+
function VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Conditional_14_Conditional_18_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
45
|
+
i0.ɵɵelementStart(0, "span", 43);
|
|
46
46
|
i0.ɵɵtext(1);
|
|
47
47
|
i0.ɵɵelementEnd();
|
|
48
48
|
} if (rf & 2) {
|
|
@@ -50,8 +50,8 @@ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_Fo
|
|
|
50
50
|
i0.ɵɵadvance();
|
|
51
51
|
i0.ɵɵtextInterpolate1(" ", restore_r2.PreRestoreLabel, " ");
|
|
52
52
|
} }
|
|
53
|
-
function
|
|
54
|
-
i0.ɵɵelementStart(0, "span",
|
|
53
|
+
function VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Conditional_14_Conditional_18_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
54
|
+
i0.ɵɵelementStart(0, "span", 43);
|
|
55
55
|
i0.ɵɵtext(1);
|
|
56
56
|
i0.ɵɵpipe(2, "slice");
|
|
57
57
|
i0.ɵɵelementEnd();
|
|
@@ -60,12 +60,12 @@ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_Fo
|
|
|
60
60
|
i0.ɵɵadvance();
|
|
61
61
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind3(2, 1, restore_r2.PreRestoreLabelID, 0, 20), "... ");
|
|
62
62
|
} }
|
|
63
|
-
function
|
|
64
|
-
i0.ɵɵelementStart(0, "div",
|
|
63
|
+
function VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Conditional_14_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
64
|
+
i0.ɵɵelementStart(0, "div", 38)(1, "span", 39);
|
|
65
65
|
i0.ɵɵtext(2, "Pre-Restore Label");
|
|
66
66
|
i0.ɵɵelementEnd();
|
|
67
|
-
i0.ɵɵconditionalCreate(3,
|
|
68
|
-
i0.ɵɵconditionalCreate(4,
|
|
67
|
+
i0.ɵɵconditionalCreate(3, VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Conditional_14_Conditional_18_Conditional_3_Template, 2, 1, "span", 43);
|
|
68
|
+
i0.ɵɵconditionalCreate(4, VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Conditional_14_Conditional_18_Conditional_4_Template, 3, 5, "span", 43);
|
|
69
69
|
i0.ɵɵelementEnd();
|
|
70
70
|
} if (rf & 2) {
|
|
71
71
|
const restore_r2 = i0.ɵɵnextContext(2).$implicit;
|
|
@@ -74,12 +74,12 @@ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_Fo
|
|
|
74
74
|
i0.ɵɵadvance();
|
|
75
75
|
i0.ɵɵconditional(!restore_r2.PreRestoreLabel ? 4 : -1);
|
|
76
76
|
} }
|
|
77
|
-
function
|
|
78
|
-
i0.ɵɵelementStart(0, "div",
|
|
79
|
-
i0.ɵɵelement(2, "i",
|
|
77
|
+
function VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Conditional_14_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
78
|
+
i0.ɵɵelementStart(0, "div", 42)(1, "div", 44);
|
|
79
|
+
i0.ɵɵelement(2, "i", 45);
|
|
80
80
|
i0.ɵɵtext(3, " Error Log ");
|
|
81
81
|
i0.ɵɵelementEnd();
|
|
82
|
-
i0.ɵɵelementStart(4, "pre",
|
|
82
|
+
i0.ɵɵelementStart(4, "pre", 46);
|
|
83
83
|
i0.ɵɵtext(5);
|
|
84
84
|
i0.ɵɵelementEnd()();
|
|
85
85
|
} if (rf & 2) {
|
|
@@ -87,29 +87,29 @@ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_Fo
|
|
|
87
87
|
i0.ɵɵadvance(5);
|
|
88
88
|
i0.ɵɵtextInterpolate(restore_r2.ErrorLog);
|
|
89
89
|
} }
|
|
90
|
-
function
|
|
91
|
-
i0.ɵɵelementStart(0, "div",
|
|
90
|
+
function VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
91
|
+
i0.ɵɵelementStart(0, "div", 36)(1, "div", 37)(2, "div", 38)(3, "span", 39);
|
|
92
92
|
i0.ɵɵtext(4, "Status");
|
|
93
93
|
i0.ɵɵelementEnd();
|
|
94
|
-
i0.ɵɵelementStart(5, "span",
|
|
94
|
+
i0.ɵɵelementStart(5, "span", 40);
|
|
95
95
|
i0.ɵɵtext(6);
|
|
96
96
|
i0.ɵɵelementEnd()();
|
|
97
|
-
i0.ɵɵelementStart(7, "div",
|
|
97
|
+
i0.ɵɵelementStart(7, "div", 38)(8, "span", 39);
|
|
98
98
|
i0.ɵɵtext(9, "Items Completed");
|
|
99
99
|
i0.ɵɵelementEnd();
|
|
100
|
-
i0.ɵɵelementStart(10, "span",
|
|
100
|
+
i0.ɵɵelementStart(10, "span", 41);
|
|
101
101
|
i0.ɵɵtext(11);
|
|
102
102
|
i0.ɵɵelementEnd()();
|
|
103
|
-
i0.ɵɵelementStart(12, "div",
|
|
103
|
+
i0.ɵɵelementStart(12, "div", 38)(13, "span", 39);
|
|
104
104
|
i0.ɵɵtext(14, "Items Failed");
|
|
105
105
|
i0.ɵɵelementEnd();
|
|
106
|
-
i0.ɵɵelementStart(15, "span",
|
|
106
|
+
i0.ɵɵelementStart(15, "span", 41);
|
|
107
107
|
i0.ɵɵtext(16);
|
|
108
108
|
i0.ɵɵelementEnd()();
|
|
109
|
-
i0.ɵɵconditionalCreate(17,
|
|
110
|
-
i0.ɵɵconditionalCreate(18,
|
|
109
|
+
i0.ɵɵconditionalCreate(17, VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Conditional_14_Conditional_17_Template, 5, 1, "div", 38);
|
|
110
|
+
i0.ɵɵconditionalCreate(18, VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Conditional_14_Conditional_18_Template, 5, 2, "div", 38);
|
|
111
111
|
i0.ɵɵelementEnd();
|
|
112
|
-
i0.ɵɵconditionalCreate(19,
|
|
112
|
+
i0.ɵɵconditionalCreate(19, VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Conditional_14_Conditional_19_Template, 6, 1, "div", 42);
|
|
113
113
|
i0.ɵɵelementEnd();
|
|
114
114
|
} if (rf & 2) {
|
|
115
115
|
const restore_r2 = i0.ɵɵnextContext().$implicit;
|
|
@@ -131,26 +131,26 @@ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_Fo
|
|
|
131
131
|
i0.ɵɵadvance();
|
|
132
132
|
i0.ɵɵconditional(restore_r2.ErrorLog ? 19 : -1);
|
|
133
133
|
} }
|
|
134
|
-
function
|
|
134
|
+
function VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
135
135
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
136
|
-
i0.ɵɵelementStart(0, "div",
|
|
137
|
-
i0.ɵɵlistener("click", function
|
|
138
|
-
i0.ɵɵelementStart(2, "div",
|
|
139
|
-
i0.ɵɵelement(3, "i",
|
|
140
|
-
i0.ɵɵelementStart(4, "div",
|
|
136
|
+
i0.ɵɵelementStart(0, "div", 24)(1, "div", 25);
|
|
137
|
+
i0.ɵɵlistener("click", function VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Template_div_click_1_listener() { const restore_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.ToggleExpand(restore_r2.ID)); });
|
|
138
|
+
i0.ɵɵelementStart(2, "div", 26);
|
|
139
|
+
i0.ɵɵelement(3, "i", 27);
|
|
140
|
+
i0.ɵɵelementStart(4, "div", 28)(5, "div", 29);
|
|
141
141
|
i0.ɵɵtext(6);
|
|
142
142
|
i0.ɵɵelementEnd();
|
|
143
|
-
i0.ɵɵconditionalCreate(7,
|
|
143
|
+
i0.ɵɵconditionalCreate(7, VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Conditional_7_Template, 2, 1, "div", 30);
|
|
144
144
|
i0.ɵɵelementEnd()();
|
|
145
|
-
i0.ɵɵelementStart(8, "div",
|
|
146
|
-
i0.ɵɵelement(10, "div",
|
|
145
|
+
i0.ɵɵelementStart(8, "div", 31)(9, "div", 32);
|
|
146
|
+
i0.ɵɵelement(10, "div", 33);
|
|
147
147
|
i0.ɵɵelementEnd();
|
|
148
|
-
i0.ɵɵelementStart(11, "span",
|
|
148
|
+
i0.ɵɵelementStart(11, "span", 34);
|
|
149
149
|
i0.ɵɵtext(12);
|
|
150
150
|
i0.ɵɵelementEnd();
|
|
151
|
-
i0.ɵɵelement(13, "i",
|
|
151
|
+
i0.ɵɵelement(13, "i", 35);
|
|
152
152
|
i0.ɵɵelementEnd()();
|
|
153
|
-
i0.ɵɵconditionalCreate(14,
|
|
153
|
+
i0.ɵɵconditionalCreate(14, VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Conditional_14_Template, 20, 9, "div", 36);
|
|
154
154
|
i0.ɵɵelementEnd();
|
|
155
155
|
} if (rf & 2) {
|
|
156
156
|
const restore_r2 = ctx.$implicit;
|
|
@@ -173,33 +173,33 @@ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_33_Fo
|
|
|
173
173
|
i0.ɵɵadvance();
|
|
174
174
|
i0.ɵɵconditional(ctx_r2.IsExpanded(restore_r2.ID) ? 14 : -1);
|
|
175
175
|
} }
|
|
176
|
-
function
|
|
177
|
-
i0.ɵɵelementStart(0, "div",
|
|
178
|
-
i0.ɵɵrepeaterCreate(1,
|
|
176
|
+
function VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_Template(rf, ctx) { if (rf & 1) {
|
|
177
|
+
i0.ɵɵelementStart(0, "div", 22);
|
|
178
|
+
i0.ɵɵrepeaterCreate(1, VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_For_2_Template, 15, 15, "div", 24, i0.ɵɵrepeaterTrackByIdentity);
|
|
179
179
|
i0.ɵɵelementEnd();
|
|
180
180
|
} if (rf & 2) {
|
|
181
181
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
182
182
|
i0.ɵɵadvance();
|
|
183
183
|
i0.ɵɵrepeater(ctx_r2.FilteredRestores);
|
|
184
184
|
} }
|
|
185
|
-
function
|
|
185
|
+
function VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_34_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
186
186
|
i0.ɵɵelementStart(0, "p");
|
|
187
187
|
i0.ɵɵtext(1, " Try adjusting your filters. ");
|
|
188
188
|
i0.ɵɵelementEnd();
|
|
189
189
|
} }
|
|
190
|
-
function
|
|
190
|
+
function VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_34_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
191
191
|
i0.ɵɵelementStart(0, "p");
|
|
192
192
|
i0.ɵɵtext(1, " No restores have been performed yet. Use the VersionHistoryEngine to restore records to a labeled state. ");
|
|
193
193
|
i0.ɵɵelementEnd();
|
|
194
194
|
} }
|
|
195
|
-
function
|
|
196
|
-
i0.ɵɵelementStart(0, "div",
|
|
197
|
-
i0.ɵɵelement(1, "i",
|
|
195
|
+
function VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_34_Template(rf, ctx) { if (rf & 1) {
|
|
196
|
+
i0.ɵɵelementStart(0, "div", 23);
|
|
197
|
+
i0.ɵɵelement(1, "i", 47);
|
|
198
198
|
i0.ɵɵelementStart(2, "h3");
|
|
199
199
|
i0.ɵɵtext(3, "No restore operations found");
|
|
200
200
|
i0.ɵɵelementEnd();
|
|
201
|
-
i0.ɵɵconditionalCreate(4,
|
|
202
|
-
i0.ɵɵconditionalCreate(5,
|
|
201
|
+
i0.ɵɵconditionalCreate(4, VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_34_Conditional_4_Template, 2, 0, "p");
|
|
202
|
+
i0.ɵɵconditionalCreate(5, VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_34_Conditional_5_Template, 2, 0, "p");
|
|
203
203
|
i0.ɵɵelementEnd();
|
|
204
204
|
} if (rf & 2) {
|
|
205
205
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
@@ -208,45 +208,45 @@ function VersionHistoryRestoreResourceComponent_Conditional_12_Conditional_34_Te
|
|
|
208
208
|
i0.ɵɵadvance();
|
|
209
209
|
i0.ɵɵconditional(!ctx_r2.StatusFilter ? 5 : -1);
|
|
210
210
|
} }
|
|
211
|
-
function
|
|
212
|
-
i0.ɵɵelementStart(0, "div",
|
|
213
|
-
i0.ɵɵelement(3, "i",
|
|
211
|
+
function VersionHistoryRestoreResourceComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
212
|
+
i0.ɵɵelementStart(0, "div", 9)(1, "div", 10)(2, "div", 11);
|
|
213
|
+
i0.ɵɵelement(3, "i", 12);
|
|
214
214
|
i0.ɵɵelementEnd();
|
|
215
|
-
i0.ɵɵelementStart(4, "div",
|
|
215
|
+
i0.ɵɵelementStart(4, "div", 13)(5, "div", 14);
|
|
216
216
|
i0.ɵɵtext(6);
|
|
217
217
|
i0.ɵɵelementEnd();
|
|
218
|
-
i0.ɵɵelementStart(7, "div",
|
|
218
|
+
i0.ɵɵelementStart(7, "div", 15);
|
|
219
219
|
i0.ɵɵtext(8, "Total Restores");
|
|
220
220
|
i0.ɵɵelementEnd()()();
|
|
221
|
-
i0.ɵɵelementStart(9, "div",
|
|
222
|
-
i0.ɵɵelement(11, "i",
|
|
221
|
+
i0.ɵɵelementStart(9, "div", 10)(10, "div", 16);
|
|
222
|
+
i0.ɵɵelement(11, "i", 17);
|
|
223
223
|
i0.ɵɵelementEnd();
|
|
224
|
-
i0.ɵɵelementStart(12, "div",
|
|
224
|
+
i0.ɵɵelementStart(12, "div", 13)(13, "div", 14);
|
|
225
225
|
i0.ɵɵtext(14);
|
|
226
226
|
i0.ɵɵelementEnd();
|
|
227
|
-
i0.ɵɵelementStart(15, "div",
|
|
227
|
+
i0.ɵɵelementStart(15, "div", 15);
|
|
228
228
|
i0.ɵɵtext(16, "Successful");
|
|
229
229
|
i0.ɵɵelementEnd()()();
|
|
230
|
-
i0.ɵɵelementStart(17, "div",
|
|
231
|
-
i0.ɵɵelement(19, "i",
|
|
230
|
+
i0.ɵɵelementStart(17, "div", 10)(18, "div", 18);
|
|
231
|
+
i0.ɵɵelement(19, "i", 19);
|
|
232
232
|
i0.ɵɵelementEnd();
|
|
233
|
-
i0.ɵɵelementStart(20, "div",
|
|
233
|
+
i0.ɵɵelementStart(20, "div", 13)(21, "div", 14);
|
|
234
234
|
i0.ɵɵtext(22);
|
|
235
235
|
i0.ɵɵelementEnd();
|
|
236
|
-
i0.ɵɵelementStart(23, "div",
|
|
236
|
+
i0.ɵɵelementStart(23, "div", 15);
|
|
237
237
|
i0.ɵɵtext(24, "Failed");
|
|
238
238
|
i0.ɵɵelementEnd()()();
|
|
239
|
-
i0.ɵɵelementStart(25, "div",
|
|
240
|
-
i0.ɵɵelement(27, "i",
|
|
239
|
+
i0.ɵɵelementStart(25, "div", 10)(26, "div", 20);
|
|
240
|
+
i0.ɵɵelement(27, "i", 21);
|
|
241
241
|
i0.ɵɵelementEnd();
|
|
242
|
-
i0.ɵɵelementStart(28, "div",
|
|
242
|
+
i0.ɵɵelementStart(28, "div", 13)(29, "div", 14);
|
|
243
243
|
i0.ɵɵtext(30);
|
|
244
244
|
i0.ɵɵelementEnd();
|
|
245
|
-
i0.ɵɵelementStart(31, "div",
|
|
245
|
+
i0.ɵɵelementStart(31, "div", 15);
|
|
246
246
|
i0.ɵɵtext(32, "Partial");
|
|
247
247
|
i0.ɵɵelementEnd()()()();
|
|
248
|
-
i0.ɵɵconditionalCreate(33,
|
|
249
|
-
i0.ɵɵconditionalCreate(34,
|
|
248
|
+
i0.ɵɵconditionalCreate(33, VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_33_Template, 3, 0, "div", 22);
|
|
249
|
+
i0.ɵɵconditionalCreate(34, VersionHistoryRestoreResourceComponent_Conditional_11_Conditional_34_Template, 6, 2, "div", 23);
|
|
250
250
|
} if (rf & 2) {
|
|
251
251
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
252
252
|
i0.ɵɵadvance(6);
|
|
@@ -346,6 +346,36 @@ let VersionHistoryRestoreResourceComponent = class VersionHistoryRestoreResource
|
|
|
346
346
|
this.applyFilters();
|
|
347
347
|
this.persistPreferences();
|
|
348
348
|
}
|
|
349
|
+
// -- Concise chrome: Status lives behind the one Filter popover ------------
|
|
350
|
+
get statusFilterFields() {
|
|
351
|
+
return [{
|
|
352
|
+
key: 'status',
|
|
353
|
+
type: 'chips',
|
|
354
|
+
label: 'Status',
|
|
355
|
+
chipOptions: [
|
|
356
|
+
{ text: 'All', value: '' },
|
|
357
|
+
{ text: 'Complete', value: 'Complete', icon: 'fa-solid fa-circle-check' },
|
|
358
|
+
{ text: 'Error', value: 'Error', icon: 'fa-solid fa-circle-xmark' },
|
|
359
|
+
{ text: 'Partial', value: 'Partial', icon: 'fa-solid fa-circle-half-stroke' },
|
|
360
|
+
],
|
|
361
|
+
}];
|
|
362
|
+
}
|
|
363
|
+
get statusFilterValues() {
|
|
364
|
+
return { status: this.StatusFilter };
|
|
365
|
+
}
|
|
366
|
+
get ActiveFilterCount() {
|
|
367
|
+
return this.StatusFilter ? 1 : 0;
|
|
368
|
+
}
|
|
369
|
+
onFilterValuesChange(values) {
|
|
370
|
+
this.StatusFilter = values['status'] ?? '';
|
|
371
|
+
this.applyFilters();
|
|
372
|
+
this.persistPreferences();
|
|
373
|
+
}
|
|
374
|
+
resetStatusFilter() {
|
|
375
|
+
this.StatusFilter = '';
|
|
376
|
+
this.applyFilters();
|
|
377
|
+
this.persistPreferences();
|
|
378
|
+
}
|
|
349
379
|
loadUserPreferences() {
|
|
350
380
|
try {
|
|
351
381
|
const raw = UserInfoEngine.Instance.GetSetting(VersionHistoryRestoreResourceComponent_1.PREFS_KEY);
|
|
@@ -419,25 +449,21 @@ let VersionHistoryRestoreResourceComponent = class VersionHistoryRestoreResource
|
|
|
419
449
|
this.LoadData();
|
|
420
450
|
}
|
|
421
451
|
static ɵfac = function VersionHistoryRestoreResourceComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || VersionHistoryRestoreResourceComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
422
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VersionHistoryRestoreResourceComponent, selectors: [["mj-version-history-restore-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
452
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VersionHistoryRestoreResourceComponent, selectors: [["mj-version-history-restore-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 9, consts: [["Title", "Restore History", "Icon", "fa-solid fa-clock-rotate-left", "Subtitle", "Track all restore operations and their outcomes"], ["meta", ""], ["Label", "restores", 3, "Count", "Total"], ["actions", ""], [3, "Clicked", "Loading"], ["toolbar", ""], [3, "ClearAllRequested", "ActiveCount", "ShowClearAll"], [3, "ValuesChange", "Reset", "Fields", "Values"], ["text", "Loading restore history..."], [1, "kpi-row"], [1, "kpi-card"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-brand-primary) 10%, transparent)", "color", "var(--mj-brand-primary)"], [1, "fa-solid", "fa-clock-rotate-left"], [1, "kpi-content"], [1, "kpi-value"], [1, "kpi-label"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-status-success) 10%, transparent)", "color", "var(--mj-status-success)"], [1, "fa-solid", "fa-circle-check"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-status-error) 10%, transparent)", "color", "var(--mj-status-error)"], [1, "fa-solid", "fa-circle-xmark"], [1, "kpi-icon", 2, "background", "color-mix(in srgb, var(--mj-status-warning) 10%, transparent)", "color", "var(--mj-status-warning)"], [1, "fa-solid", "fa-circle-half-stroke"], [1, "restore-list"], [1, "empty-state"], [1, "restore-card", 3, "ngClass"], [1, "restore-header", 3, "click"], [1, "restore-header-left"], [1, "status-icon", 3, "ngClass"], [1, "restore-info"], [1, "restore-label-name"], [1, "restore-date"], [1, "restore-header-right"], [1, "restore-progress-bar"], [1, "progress-fill", 3, "ngClass"], [1, "restore-count"], [1, "expand-icon", 3, "ngClass"], [1, "restore-details"], [1, "detail-grid"], [1, "detail-item"], [1, "detail-label"], [1, "detail-value", 3, "ngClass"], [1, "detail-value"], [1, "error-log"], [1, "detail-value", "detail-mono"], [1, "error-log-header"], [1, "fa-solid", "fa-triangle-exclamation"], [1, "error-log-content"], [1, "fa-solid", "fa-clock-rotate-left", "empty-icon"]], template: function VersionHistoryRestoreResourceComponent_Template(rf, ctx) { if (rf & 1) {
|
|
423
453
|
i0.ɵɵelementStart(0, "mj-page-layout")(1, "mj-page-header", 0)(2, "div", 1);
|
|
424
454
|
i0.ɵɵelement(3, "mj-stat-badge", 2);
|
|
425
455
|
i0.ɵɵelementEnd();
|
|
426
456
|
i0.ɵɵelementStart(4, "div", 3)(5, "mj-refresh-button", 4);
|
|
427
457
|
i0.ɵɵlistener("Clicked", function VersionHistoryRestoreResourceComponent_Template_mj_refresh_button_Clicked_5_listener() { return ctx.Refresh(); });
|
|
428
458
|
i0.ɵɵelementEnd()();
|
|
429
|
-
i0.ɵɵelementStart(6, "div", 5)(7, "mj-filter-
|
|
430
|
-
i0.ɵɵlistener("
|
|
431
|
-
i0.ɵɵ
|
|
432
|
-
i0.ɵɵ
|
|
433
|
-
i0.ɵɵ
|
|
434
|
-
i0.ɵɵ
|
|
435
|
-
i0.ɵɵ
|
|
436
|
-
i0.ɵɵ
|
|
437
|
-
i0.ɵɵelementEnd()()();
|
|
438
|
-
i0.ɵɵelementStart(10, "mj-page-body");
|
|
439
|
-
i0.ɵɵconditionalCreate(11, VersionHistoryRestoreResourceComponent_Conditional_11_Template, 1, 0, "mj-loading", 9);
|
|
440
|
-
i0.ɵɵconditionalCreate(12, VersionHistoryRestoreResourceComponent_Conditional_12_Template, 35, 6);
|
|
459
|
+
i0.ɵɵelementStart(6, "div", 5)(7, "mj-filter-popover", 6);
|
|
460
|
+
i0.ɵɵlistener("ClearAllRequested", function VersionHistoryRestoreResourceComponent_Template_mj_filter_popover_ClearAllRequested_7_listener() { return ctx.resetStatusFilter(); });
|
|
461
|
+
i0.ɵɵelementStart(8, "mj-filter-panel", 7);
|
|
462
|
+
i0.ɵɵlistener("ValuesChange", function VersionHistoryRestoreResourceComponent_Template_mj_filter_panel_ValuesChange_8_listener($event) { return ctx.onFilterValuesChange($event); })("Reset", function VersionHistoryRestoreResourceComponent_Template_mj_filter_panel_Reset_8_listener() { return ctx.resetStatusFilter(); });
|
|
463
|
+
i0.ɵɵelementEnd()()()();
|
|
464
|
+
i0.ɵɵelementStart(9, "mj-page-body");
|
|
465
|
+
i0.ɵɵconditionalCreate(10, VersionHistoryRestoreResourceComponent_Conditional_10_Template, 1, 0, "mj-loading", 8);
|
|
466
|
+
i0.ɵɵconditionalCreate(11, VersionHistoryRestoreResourceComponent_Conditional_11_Template, 35, 6);
|
|
441
467
|
i0.ɵɵelementEnd()();
|
|
442
468
|
} if (rf & 2) {
|
|
443
469
|
i0.ɵɵadvance(3);
|
|
@@ -445,16 +471,14 @@ let VersionHistoryRestoreResourceComponent = class VersionHistoryRestoreResource
|
|
|
445
471
|
i0.ɵɵadvance(2);
|
|
446
472
|
i0.ɵɵproperty("Loading", ctx.IsLoading);
|
|
447
473
|
i0.ɵɵadvance(2);
|
|
448
|
-
i0.ɵɵproperty("
|
|
449
|
-
i0.ɵɵadvance();
|
|
450
|
-
i0.ɵɵproperty("Active", ctx.StatusFilter === "Error");
|
|
474
|
+
i0.ɵɵproperty("ActiveCount", ctx.ActiveFilterCount)("ShowClearAll", ctx.ActiveFilterCount > 0);
|
|
451
475
|
i0.ɵɵadvance();
|
|
452
|
-
i0.ɵɵproperty("
|
|
476
|
+
i0.ɵɵproperty("Fields", ctx.statusFilterFields)("Values", ctx.statusFilterValues);
|
|
453
477
|
i0.ɵɵadvance(2);
|
|
454
|
-
i0.ɵɵconditional(ctx.IsLoading ?
|
|
478
|
+
i0.ɵɵconditional(ctx.IsLoading ? 10 : -1);
|
|
455
479
|
i0.ɵɵadvance();
|
|
456
|
-
i0.ɵɵconditional(!ctx.IsLoading ?
|
|
457
|
-
} }, dependencies: [i1.NgClass, i2.MJPageHeaderComponent, i2.MJPageLayoutComponent, i2.MJPageBodyComponent, i2.
|
|
480
|
+
i0.ɵɵconditional(!ctx.IsLoading ? 11 : -1);
|
|
481
|
+
} }, dependencies: [i1.NgClass, i2.MJPageHeaderComponent, i2.MJPageLayoutComponent, i2.MJPageBodyComponent, i2.MJFilterPopoverComponent, i2.MJFilterPanelComponent, i2.MJStatBadgeComponent, i2.MJRefreshButtonComponent, i3.LoadingComponent, i1.SlicePipe], styles: ["\n\n.kpi-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.kpi-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n}\n\n.kpi-icon[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border-radius: 12px;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.kpi-value[_ngcontent-%COMP%] {\n font-size: 28px;\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1;\n}\n\n.kpi-label[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n margin-top: 4px;\n}\n\n\n\n.restore-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.restore-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n transition: all 0.2s ease;\n}\n\n.restore-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-border-strong);\n}\n\n.restore-card.expanded[_ngcontent-%COMP%] {\n box-shadow: var(--mj-shadow-md);\n}\n\n.restore-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n cursor: pointer;\n}\n\n.restore-header-left[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 14px;\n}\n\n.status-icon[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n\n.status-success[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n.status-failed[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n.status-progress[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n.status-pending[_ngcontent-%COMP%] { color: var(--mj-status-warning); }\n\n.restore-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.restore-label-name[_ngcontent-%COMP%] {\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.dry-run-badge[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 700;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent);\n color: var(--mj-status-warning);\n border-radius: 8px;\n letter-spacing: 0.5px;\n}\n\n.restore-date[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.restore-header-right[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 14px;\n}\n\n.restore-progress-bar[_ngcontent-%COMP%] {\n width: 80px;\n height: 6px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 3px;\n overflow: hidden;\n}\n\n.progress-fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: 3px;\n transition: width 0.3s ease;\n}\n\n.progress-fill.status-success[_ngcontent-%COMP%] { background: var(--mj-status-success); }\n.progress-fill.status-failed[_ngcontent-%COMP%] { background: var(--mj-status-error); }\n.progress-fill.status-progress[_ngcontent-%COMP%] { background: var(--mj-brand-primary); }\n.progress-fill.status-pending[_ngcontent-%COMP%] { background: var(--mj-status-warning); }\n\n.restore-count[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n}\n\n.expand-icon[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n\n\n.restore-details[_ngcontent-%COMP%] {\n padding: 0 20px 20px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.detail-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));\n gap: 16px;\n padding-top: 16px;\n}\n\n.detail-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.detail-value[_ngcontent-%COMP%] {\n font-size: 15px;\n color: var(--mj-text-primary);\n font-weight: 500;\n}\n\n.detail-mono[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Fira Code', monospace;\n font-size: 13px;\n}\n\n.text-error[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n}\n\n\n\n.error-log[_ngcontent-%COMP%] {\n margin-top: 16px;\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 20%, transparent);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.error-log-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 14px;\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n color: var(--mj-status-error);\n font-size: 13px;\n font-weight: 600;\n}\n\n.error-log-content[_ngcontent-%COMP%] {\n margin: 0;\n padding: 12px 14px;\n font-size: 12px;\n font-family: 'SF Mono', 'Fira Code', monospace;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-card);\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 400px;\n}\n\n@media (max-width: 768px) {\n .kpi-row[_ngcontent-%COMP%] { grid-template-columns: repeat(2, 1fr); }\n}"], changeDetection: 0 });
|
|
458
482
|
};
|
|
459
483
|
VersionHistoryRestoreResourceComponent = VersionHistoryRestoreResourceComponent_1 = __decorate([
|
|
460
484
|
RegisterClass(BaseResourceComponent, 'VersionHistoryRestoreResource')
|
|
@@ -462,7 +486,7 @@ VersionHistoryRestoreResourceComponent = VersionHistoryRestoreResourceComponent_
|
|
|
462
486
|
export { VersionHistoryRestoreResourceComponent };
|
|
463
487
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(VersionHistoryRestoreResourceComponent, [{
|
|
464
488
|
type: Component,
|
|
465
|
-
args: [{ standalone: false, selector: 'mj-version-history-restore-resource', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mj-page-layout>\n <mj-page-header\n Title=\"Restore History\"\n Icon=\"fa-solid fa-clock-rotate-left\"\n Subtitle=\"Track all restore operations and their outcomes\">\n <div meta>\n <mj-stat-badge\n [Count]=\"FilteredRestores.length\"\n [Total]=\"Restores.length\"\n Label=\"restores\">\n </mj-stat-badge>\n </div>\n <div actions>\n <mj-refresh-button [Loading]=\"IsLoading\" (Clicked)=\"Refresh()\"></mj-refresh-button>\n </div>\n <div toolbar>\n <mj-filter-chip\n Label=\"Complete\"\n Icon=\"fa-solid fa-circle-check\"\n [Active]=\"StatusFilter === 'Complete'\"\n (Clicked)=\"OnStatusFilterChange('Complete')\">\n </mj-filter-chip>\n <mj-filter-chip\n Label=\"Error\"\n Icon=\"fa-solid fa-circle-xmark\"\n [Active]=\"StatusFilter === 'Error'\"\n (Clicked)=\"OnStatusFilterChange('Error')\">\n </mj-filter-chip>\n <mj-filter-chip\n Label=\"Partial\"\n Icon=\"fa-solid fa-circle-half-stroke\"\n [Active]=\"StatusFilter === 'Partial'\"\n (Clicked)=\"OnStatusFilterChange('Partial')\">\n </mj-filter-chip>\n </div>\n </mj-page-header>\n\n <mj-page-body>\n @if (IsLoading) {\n <mj-loading text=\"Loading restore history...\"></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-clock-rotate-left\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{TotalRestores}}</div>\n <div class=\"kpi-label\">Total Restores</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\">{{SuccessfulRestores}}</div>\n <div class=\"kpi-label\">Successful</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-status-error) 10%, transparent); color: var(--mj-status-error);\">\n <i class=\"fa-solid fa-circle-xmark\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FailedRestores}}</div>\n <div class=\"kpi-label\">Failed</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-circle-half-stroke\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{PartialRestores}}</div>\n <div class=\"kpi-label\">Partial</div>\n </div>\n </div>\n </div>\n <!-- Restore List -->\n @if (FilteredRestores.length > 0) {\n <div class=\"restore-list\">\n @for (restore of FilteredRestores; track restore) {\n <div class=\"restore-card\"\n [ngClass]=\"{'expanded': IsExpanded(restore.ID)}\">\n <div class=\"restore-header\" (click)=\"ToggleExpand(restore.ID)\">\n <div class=\"restore-header-left\">\n <i [class]=\"GetStatusIcon(restore.Status)\"\n [ngClass]=\"GetStatusClass(restore.Status)\"\n class=\"status-icon\"></i>\n <div class=\"restore-info\">\n <div class=\"restore-label-name\">\n {{restore.VersionLabel}}\n </div>\n @if (restore.StartedAt) {\n <div class=\"restore-date\">{{FormatDate(restore.StartedAt)}}</div>\n }\n </div>\n </div>\n <div class=\"restore-header-right\">\n <div class=\"restore-progress-bar\">\n <div class=\"progress-fill\"\n [ngClass]=\"GetStatusClass(restore.Status)\"\n [style.width.%]=\"GetProgressPercent(restore)\">\n </div>\n </div>\n <span class=\"restore-count\">\n {{restore.CompletedItems ?? 0}} / {{restore.TotalItems ?? 0}} items\n </span>\n <i class=\"fa-solid\"\n [ngClass]=\"IsExpanded(restore.ID) ? 'fa-chevron-up' : 'fa-chevron-down'\"\n class=\"expand-icon\">\n </i>\n </div>\n </div>\n <!-- Expanded Details -->\n @if (IsExpanded(restore.ID)) {\n <div class=\"restore-details\">\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Status</span>\n <span class=\"detail-value\" [ngClass]=\"GetStatusClass(restore.Status)\">\n {{restore.Status}}\n </span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Items Completed</span>\n <span class=\"detail-value\">{{restore.CompletedItems ?? 0}}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Items Failed</span>\n <span class=\"detail-value\" [class.text-error]=\"(restore.FailedItems ?? 0) > 0\">\n {{restore.FailedItems ?? 0}}\n </span>\n </div>\n @if (restore.User) {\n <div class=\"detail-item\">\n <span class=\"detail-label\">Restored By</span>\n <span class=\"detail-value\">{{restore.User}}</span>\n </div>\n }\n @if (restore.PreRestoreLabelID) {\n <div class=\"detail-item\">\n <span class=\"detail-label\">Pre-Restore Label</span>\n @if (restore.PreRestoreLabel) {\n <span class=\"detail-value detail-mono\">\n {{restore.PreRestoreLabel}}\n </span>\n }\n @if (!restore.PreRestoreLabel) {\n <span class=\"detail-value detail-mono\">\n {{restore.PreRestoreLabelID | slice:0:20}}...\n </span>\n }\n </div>\n }\n </div>\n @if (restore.ErrorLog) {\n <div class=\"error-log\">\n <div class=\"error-log-header\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n Error Log\n </div>\n <pre class=\"error-log-content\">{{restore.ErrorLog}}</pre>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- Empty State -->\n @if (FilteredRestores.length === 0 && !IsLoading) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-clock-rotate-left empty-icon\"></i>\n <h3>No restore operations found</h3>\n @if (StatusFilter) {\n <p>\n Try adjusting your filters.\n </p>\n }\n @if (!StatusFilter) {\n <p>\n No restores have been performed yet. Use the VersionHistoryEngine to restore records to a labeled state.\n </p>\n }\n </div>\n }\n }\n </mj-page-body>\n</mj-page-layout>\n", styles: ["/* KPI Row */\n.kpi-row {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.kpi-card {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n}\n\n.kpi-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border-radius: 12px;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.kpi-value {\n font-size: 28px;\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1;\n}\n\n.kpi-label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n margin-top: 4px;\n}\n\n/* Restore List */\n.restore-list {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.restore-card {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n transition: all 0.2s ease;\n}\n\n.restore-card:hover {\n border-color: var(--mj-border-strong);\n}\n\n.restore-card.expanded {\n box-shadow: var(--mj-shadow-md);\n}\n\n.restore-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n cursor: pointer;\n}\n\n.restore-header-left {\n display: flex;\n align-items: center;\n gap: 14px;\n}\n\n.status-icon {\n font-size: 20px;\n}\n\n.status-success { color: var(--mj-status-success); }\n.status-failed { color: var(--mj-status-error); }\n.status-progress { color: var(--mj-brand-primary); }\n.status-pending { color: var(--mj-status-warning); }\n\n.restore-info {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.restore-label-name {\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.dry-run-badge {\n font-size: 10px;\n font-weight: 700;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent);\n color: var(--mj-status-warning);\n border-radius: 8px;\n letter-spacing: 0.5px;\n}\n\n.restore-date {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.restore-header-right {\n display: flex;\n align-items: center;\n gap: 14px;\n}\n\n.restore-progress-bar {\n width: 80px;\n height: 6px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 3px;\n overflow: hidden;\n}\n\n.progress-fill {\n height: 100%;\n border-radius: 3px;\n transition: width 0.3s ease;\n}\n\n.progress-fill.status-success { background: var(--mj-status-success); }\n.progress-fill.status-failed { background: var(--mj-status-error); }\n.progress-fill.status-progress { background: var(--mj-brand-primary); }\n.progress-fill.status-pending { background: var(--mj-status-warning); }\n\n.restore-count {\n font-size: 13px;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n}\n\n.expand-icon {\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n/* Expanded Details */\n.restore-details {\n padding: 0 20px 20px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.detail-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));\n gap: 16px;\n padding-top: 16px;\n}\n\n.detail-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-label {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.detail-value {\n font-size: 15px;\n color: var(--mj-text-primary);\n font-weight: 500;\n}\n\n.detail-mono {\n font-family: 'SF Mono', 'Fira Code', monospace;\n font-size: 13px;\n}\n\n.text-error {\n color: var(--mj-status-error);\n}\n\n/* Error Log */\n.error-log {\n margin-top: 16px;\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 20%, transparent);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.error-log-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 14px;\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n color: var(--mj-status-error);\n font-size: 13px;\n font-weight: 600;\n}\n\n.error-log-content {\n margin: 0;\n padding: 12px 14px;\n font-size: 12px;\n font-family: 'SF Mono', 'Fira Code', monospace;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-card);\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n/* Empty State */\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.empty-state h3 {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.empty-state p {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 400px;\n}\n\n@media (max-width: 768px) {\n .kpi-row { grid-template-columns: repeat(2, 1fr); }\n}\n"] }]
|
|
489
|
+
args: [{ standalone: false, selector: 'mj-version-history-restore-resource', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mj-page-layout>\n <mj-page-header\n Title=\"Restore History\"\n Icon=\"fa-solid fa-clock-rotate-left\"\n Subtitle=\"Track all restore operations and their outcomes\">\n <div meta>\n <mj-stat-badge\n [Count]=\"FilteredRestores.length\"\n [Total]=\"Restores.length\"\n Label=\"restores\">\n </mj-stat-badge>\n </div>\n <div actions>\n <mj-refresh-button [Loading]=\"IsLoading\" (Clicked)=\"Refresh()\"></mj-refresh-button>\n </div>\n <div toolbar>\n <mj-filter-popover\n [ActiveCount]=\"ActiveFilterCount\"\n [ShowClearAll]=\"ActiveFilterCount > 0\"\n (ClearAllRequested)=\"resetStatusFilter()\">\n <mj-filter-panel\n [Fields]=\"statusFilterFields\"\n [Values]=\"statusFilterValues\"\n (ValuesChange)=\"onFilterValuesChange($event)\"\n (Reset)=\"resetStatusFilter()\">\n </mj-filter-panel>\n </mj-filter-popover>\n </div>\n </mj-page-header>\n\n <mj-page-body>\n @if (IsLoading) {\n <mj-loading text=\"Loading restore history...\"></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-clock-rotate-left\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{TotalRestores}}</div>\n <div class=\"kpi-label\">Total Restores</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\">{{SuccessfulRestores}}</div>\n <div class=\"kpi-label\">Successful</div>\n </div>\n </div>\n <div class=\"kpi-card\">\n <div class=\"kpi-icon\" style=\"background: color-mix(in srgb, var(--mj-status-error) 10%, transparent); color: var(--mj-status-error);\">\n <i class=\"fa-solid fa-circle-xmark\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{FailedRestores}}</div>\n <div class=\"kpi-label\">Failed</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-circle-half-stroke\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{PartialRestores}}</div>\n <div class=\"kpi-label\">Partial</div>\n </div>\n </div>\n </div>\n <!-- Restore List -->\n @if (FilteredRestores.length > 0) {\n <div class=\"restore-list\">\n @for (restore of FilteredRestores; track restore) {\n <div class=\"restore-card\"\n [ngClass]=\"{'expanded': IsExpanded(restore.ID)}\">\n <div class=\"restore-header\" (click)=\"ToggleExpand(restore.ID)\">\n <div class=\"restore-header-left\">\n <i [class]=\"GetStatusIcon(restore.Status)\"\n [ngClass]=\"GetStatusClass(restore.Status)\"\n class=\"status-icon\"></i>\n <div class=\"restore-info\">\n <div class=\"restore-label-name\">\n {{restore.VersionLabel}}\n </div>\n @if (restore.StartedAt) {\n <div class=\"restore-date\">{{FormatDate(restore.StartedAt)}}</div>\n }\n </div>\n </div>\n <div class=\"restore-header-right\">\n <div class=\"restore-progress-bar\">\n <div class=\"progress-fill\"\n [ngClass]=\"GetStatusClass(restore.Status)\"\n [style.width.%]=\"GetProgressPercent(restore)\">\n </div>\n </div>\n <span class=\"restore-count\">\n {{restore.CompletedItems ?? 0}} / {{restore.TotalItems ?? 0}} items\n </span>\n <i class=\"fa-solid\"\n [ngClass]=\"IsExpanded(restore.ID) ? 'fa-chevron-up' : 'fa-chevron-down'\"\n class=\"expand-icon\">\n </i>\n </div>\n </div>\n <!-- Expanded Details -->\n @if (IsExpanded(restore.ID)) {\n <div class=\"restore-details\">\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Status</span>\n <span class=\"detail-value\" [ngClass]=\"GetStatusClass(restore.Status)\">\n {{restore.Status}}\n </span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Items Completed</span>\n <span class=\"detail-value\">{{restore.CompletedItems ?? 0}}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"detail-label\">Items Failed</span>\n <span class=\"detail-value\" [class.text-error]=\"(restore.FailedItems ?? 0) > 0\">\n {{restore.FailedItems ?? 0}}\n </span>\n </div>\n @if (restore.User) {\n <div class=\"detail-item\">\n <span class=\"detail-label\">Restored By</span>\n <span class=\"detail-value\">{{restore.User}}</span>\n </div>\n }\n @if (restore.PreRestoreLabelID) {\n <div class=\"detail-item\">\n <span class=\"detail-label\">Pre-Restore Label</span>\n @if (restore.PreRestoreLabel) {\n <span class=\"detail-value detail-mono\">\n {{restore.PreRestoreLabel}}\n </span>\n }\n @if (!restore.PreRestoreLabel) {\n <span class=\"detail-value detail-mono\">\n {{restore.PreRestoreLabelID | slice:0:20}}...\n </span>\n }\n </div>\n }\n </div>\n @if (restore.ErrorLog) {\n <div class=\"error-log\">\n <div class=\"error-log-header\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n Error Log\n </div>\n <pre class=\"error-log-content\">{{restore.ErrorLog}}</pre>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- Empty State -->\n @if (FilteredRestores.length === 0 && !IsLoading) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-clock-rotate-left empty-icon\"></i>\n <h3>No restore operations found</h3>\n @if (StatusFilter) {\n <p>\n Try adjusting your filters.\n </p>\n }\n @if (!StatusFilter) {\n <p>\n No restores have been performed yet. Use the VersionHistoryEngine to restore records to a labeled state.\n </p>\n }\n </div>\n }\n }\n </mj-page-body>\n</mj-page-layout>\n", styles: ["/* KPI Row */\n.kpi-row {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.kpi-card {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n}\n\n.kpi-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border-radius: 12px;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.kpi-value {\n font-size: 28px;\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1;\n}\n\n.kpi-label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n margin-top: 4px;\n}\n\n/* Restore List */\n.restore-list {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.restore-card {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n transition: all 0.2s ease;\n}\n\n.restore-card:hover {\n border-color: var(--mj-border-strong);\n}\n\n.restore-card.expanded {\n box-shadow: var(--mj-shadow-md);\n}\n\n.restore-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n cursor: pointer;\n}\n\n.restore-header-left {\n display: flex;\n align-items: center;\n gap: 14px;\n}\n\n.status-icon {\n font-size: 20px;\n}\n\n.status-success { color: var(--mj-status-success); }\n.status-failed { color: var(--mj-status-error); }\n.status-progress { color: var(--mj-brand-primary); }\n.status-pending { color: var(--mj-status-warning); }\n\n.restore-info {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.restore-label-name {\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.dry-run-badge {\n font-size: 10px;\n font-weight: 700;\n padding: 2px 8px;\n background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent);\n color: var(--mj-status-warning);\n border-radius: 8px;\n letter-spacing: 0.5px;\n}\n\n.restore-date {\n font-size: 13px;\n color: var(--mj-text-secondary);\n}\n\n.restore-header-right {\n display: flex;\n align-items: center;\n gap: 14px;\n}\n\n.restore-progress-bar {\n width: 80px;\n height: 6px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 3px;\n overflow: hidden;\n}\n\n.progress-fill {\n height: 100%;\n border-radius: 3px;\n transition: width 0.3s ease;\n}\n\n.progress-fill.status-success { background: var(--mj-status-success); }\n.progress-fill.status-failed { background: var(--mj-status-error); }\n.progress-fill.status-progress { background: var(--mj-brand-primary); }\n.progress-fill.status-pending { background: var(--mj-status-warning); }\n\n.restore-count {\n font-size: 13px;\n color: var(--mj-text-secondary);\n white-space: nowrap;\n}\n\n.expand-icon {\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n/* Expanded Details */\n.restore-details {\n padding: 0 20px 20px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.detail-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));\n gap: 16px;\n padding-top: 16px;\n}\n\n.detail-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-label {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.detail-value {\n font-size: 15px;\n color: var(--mj-text-primary);\n font-weight: 500;\n}\n\n.detail-mono {\n font-family: 'SF Mono', 'Fira Code', monospace;\n font-size: 13px;\n}\n\n.text-error {\n color: var(--mj-status-error);\n}\n\n/* Error Log */\n.error-log {\n margin-top: 16px;\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 20%, transparent);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.error-log-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 14px;\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n color: var(--mj-status-error);\n font-size: 13px;\n font-weight: 600;\n}\n\n.error-log-content {\n margin: 0;\n padding: 12px 14px;\n font-size: 12px;\n font-family: 'SF Mono', 'Fira Code', monospace;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-card);\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n/* Empty State */\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon {\n font-size: 48px;\n color: var(--mj-text-muted);\n margin-bottom: 16px;\n}\n\n.empty-state h3 {\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n margin: 0 0 8px 0;\n}\n\n.empty-state p {\n font-size: 14px;\n color: var(--mj-text-secondary);\n margin: 0;\n max-width: 400px;\n}\n\n@media (max-width: 768px) {\n .kpi-row { grid-template-columns: repeat(2, 1fr); }\n}\n"] }]
|
|
466
490
|
}], () => [{ type: i0.ChangeDetectorRef }], null); })();
|
|
467
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(VersionHistoryRestoreResourceComponent, { className: "VersionHistoryRestoreResourceComponent", filePath: "src/VersionHistory/components/restore-resource.component.ts", lineNumber:
|
|
491
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(VersionHistoryRestoreResourceComponent, { className: "VersionHistoryRestoreResourceComponent", filePath: "src/VersionHistory/components/restore-resource.component.ts", lineNumber: 20 }); })();
|
|
468
492
|
//# sourceMappingURL=restore-resource.component.js.map
|