@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
|
@@ -0,0 +1,813 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Classify · Pipeline Monitor tab.
|
|
3
|
+
*
|
|
4
|
+
* Presentational sub-page: owns its header-interior (with a Refresh action) and
|
|
5
|
+
* the pipeline monitor body — KPI strip, pipeline-stage visualization, live
|
|
6
|
+
* progress + controls, per-source live-run detail table, the recent-processing
|
|
7
|
+
* feed (with its own search/sort/pagination), the trending-tags cloud, the
|
|
8
|
+
* sources mini-list, and the collapsible pipeline-config panel.
|
|
9
|
+
*
|
|
10
|
+
* It is a VIEW only: all pipeline RUN orchestration (start/pause/resume/cancel,
|
|
11
|
+
* the GraphQL progress subscription, shared data loading, and every `build*`
|
|
12
|
+
* view-model method) stays in the host because it is shared by the global
|
|
13
|
+
* "Run Pipeline" header button and the Sources tab. This tab receives the
|
|
14
|
+
* already-built view models + run state via `@Input()` and emits user intents
|
|
15
|
+
* (refresh, pause/resume/cancel, feed-item click, config toggle) via `@Output()`.
|
|
16
|
+
*/
|
|
17
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
18
|
+
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
|
|
19
|
+
import { formatTokenCount } from '../shared/classify.format';
|
|
20
|
+
import * as i0 from "@angular/core";
|
|
21
|
+
import * as i1 from "@angular/forms";
|
|
22
|
+
import * as i2 from "@memberjunction/ng-ui-components";
|
|
23
|
+
import * as i3 from "../components/classify-overview-analytics.component";
|
|
24
|
+
import * as i4 from "@angular/common";
|
|
25
|
+
const _forTrack0 = ($index, $item) => $item.Label;
|
|
26
|
+
const _forTrack1 = ($index, $item) => $item.Name + $item.SourceName + $item.TimeAgo;
|
|
27
|
+
const _forTrack2 = ($index, $item) => $item.ID;
|
|
28
|
+
const _forTrack3 = ($index, $item) => $item.Tag;
|
|
29
|
+
const _forTrack4 = ($index, $item) => $item.Name;
|
|
30
|
+
const _forTrack5 = ($index, $item) => $item.SourceName;
|
|
31
|
+
function ClassifyPipelineTabComponent_For_11_Conditional_6_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
+
i0.ɵɵelement(0, "i", 53);
|
|
33
|
+
} }
|
|
34
|
+
function ClassifyPipelineTabComponent_For_11_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
35
|
+
i0.ɵɵelementStart(0, "div", 52);
|
|
36
|
+
i0.ɵɵconditionalCreate(1, ClassifyPipelineTabComponent_For_11_Conditional_6_Conditional_1_Template, 1, 0, "i", 53);
|
|
37
|
+
i0.ɵɵtext(2);
|
|
38
|
+
i0.ɵɵelementEnd();
|
|
39
|
+
} if (rf & 2) {
|
|
40
|
+
const kpi_r1 = i0.ɵɵnextContext().$implicit;
|
|
41
|
+
i0.ɵɵclassProp("up", kpi_r1.TrendUp);
|
|
42
|
+
i0.ɵɵadvance();
|
|
43
|
+
i0.ɵɵconditional(kpi_r1.TrendUp ? 1 : -1);
|
|
44
|
+
i0.ɵɵadvance();
|
|
45
|
+
i0.ɵɵtextInterpolate1(" ", kpi_r1.Trend, " ");
|
|
46
|
+
} }
|
|
47
|
+
function ClassifyPipelineTabComponent_For_11_Template(rf, ctx) { if (rf & 1) {
|
|
48
|
+
i0.ɵɵelementStart(0, "div", 9)(1, "div", 49);
|
|
49
|
+
i0.ɵɵtext(2);
|
|
50
|
+
i0.ɵɵpipe(3, "number");
|
|
51
|
+
i0.ɵɵelementEnd();
|
|
52
|
+
i0.ɵɵelementStart(4, "div", 50);
|
|
53
|
+
i0.ɵɵtext(5);
|
|
54
|
+
i0.ɵɵelementEnd();
|
|
55
|
+
i0.ɵɵconditionalCreate(6, ClassifyPipelineTabComponent_For_11_Conditional_6_Template, 3, 4, "div", 51);
|
|
56
|
+
i0.ɵɵelementEnd();
|
|
57
|
+
} if (rf & 2) {
|
|
58
|
+
const kpi_r1 = ctx.$implicit;
|
|
59
|
+
i0.ɵɵadvance();
|
|
60
|
+
i0.ɵɵclassProp("at-kpi-error-value", kpi_r1.Label === "Errors" && kpi_r1.Value > 0);
|
|
61
|
+
i0.ɵɵadvance();
|
|
62
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 5, kpi_r1.Value));
|
|
63
|
+
i0.ɵɵadvance(3);
|
|
64
|
+
i0.ɵɵtextInterpolate(kpi_r1.Label);
|
|
65
|
+
i0.ɵɵadvance();
|
|
66
|
+
i0.ɵɵconditional(kpi_r1.Trend ? 6 : -1);
|
|
67
|
+
} }
|
|
68
|
+
function ClassifyPipelineTabComponent_Conditional_16_For_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
69
|
+
i0.ɵɵelement(0, "i", 56);
|
|
70
|
+
} }
|
|
71
|
+
function ClassifyPipelineTabComponent_Conditional_16_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
72
|
+
i0.ɵɵelement(0, "i", 57);
|
|
73
|
+
} }
|
|
74
|
+
function ClassifyPipelineTabComponent_Conditional_16_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
75
|
+
i0.ɵɵelement(0, "i");
|
|
76
|
+
} if (rf & 2) {
|
|
77
|
+
const stage_r2 = i0.ɵɵnextContext().$implicit;
|
|
78
|
+
i0.ɵɵclassMap(stage_r2.Icon);
|
|
79
|
+
} }
|
|
80
|
+
function ClassifyPipelineTabComponent_Conditional_16_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
81
|
+
i0.ɵɵelement(0, "div", 61);
|
|
82
|
+
} if (rf & 2) {
|
|
83
|
+
const stage_r2 = i0.ɵɵnextContext().$implicit;
|
|
84
|
+
i0.ɵɵclassProp("connector-complete", stage_r2.Status === "complete");
|
|
85
|
+
} }
|
|
86
|
+
function ClassifyPipelineTabComponent_Conditional_16_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
87
|
+
i0.ɵɵelementStart(0, "div", 54)(1, "div", 55);
|
|
88
|
+
i0.ɵɵconditionalCreate(2, ClassifyPipelineTabComponent_Conditional_16_For_2_Conditional_2_Template, 1, 0, "i", 56)(3, ClassifyPipelineTabComponent_Conditional_16_For_2_Conditional_3_Template, 1, 0, "i", 57)(4, ClassifyPipelineTabComponent_Conditional_16_For_2_Conditional_4_Template, 1, 2, "i", 58);
|
|
89
|
+
i0.ɵɵelementEnd();
|
|
90
|
+
i0.ɵɵelementStart(5, "div", 59);
|
|
91
|
+
i0.ɵɵtext(6);
|
|
92
|
+
i0.ɵɵelementEnd()();
|
|
93
|
+
i0.ɵɵconditionalCreate(7, ClassifyPipelineTabComponent_Conditional_16_For_2_Conditional_7_Template, 1, 2, "div", 60);
|
|
94
|
+
} if (rf & 2) {
|
|
95
|
+
const stage_r2 = ctx.$implicit;
|
|
96
|
+
const ɵ$index_48_r3 = ctx.$index;
|
|
97
|
+
const ɵ$count_48_r4 = ctx.$count;
|
|
98
|
+
i0.ɵɵclassProp("stage-idle", stage_r2.Status === "idle")("stage-active", stage_r2.Status === "active")("stage-complete", stage_r2.Status === "complete");
|
|
99
|
+
i0.ɵɵadvance(2);
|
|
100
|
+
i0.ɵɵconditional(stage_r2.Status === "active" ? 2 : stage_r2.Status === "complete" ? 3 : 4);
|
|
101
|
+
i0.ɵɵadvance(4);
|
|
102
|
+
i0.ɵɵtextInterpolate(stage_r2.Name);
|
|
103
|
+
i0.ɵɵadvance();
|
|
104
|
+
i0.ɵɵconditional(!(ɵ$index_48_r3 === ɵ$count_48_r4 - 1) ? 7 : -1);
|
|
105
|
+
} }
|
|
106
|
+
function ClassifyPipelineTabComponent_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
107
|
+
i0.ɵɵelementStart(0, "div", 14);
|
|
108
|
+
i0.ɵɵrepeaterCreate(1, ClassifyPipelineTabComponent_Conditional_16_For_2_Template, 8, 9, null, null, _forTrack4);
|
|
109
|
+
i0.ɵɵelementEnd();
|
|
110
|
+
} if (rf & 2) {
|
|
111
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
112
|
+
i0.ɵɵadvance();
|
|
113
|
+
i0.ɵɵrepeater(ctx_r4.PipelineStages);
|
|
114
|
+
} }
|
|
115
|
+
function ClassifyPipelineTabComponent_Conditional_17_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
116
|
+
i0.ɵɵelementStart(0, "div", 67);
|
|
117
|
+
i0.ɵɵtext(1);
|
|
118
|
+
i0.ɵɵelementEnd();
|
|
119
|
+
} if (rf & 2) {
|
|
120
|
+
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
121
|
+
i0.ɵɵadvance();
|
|
122
|
+
i0.ɵɵtextInterpolate(ctx_r4.RunCurrentItem);
|
|
123
|
+
} }
|
|
124
|
+
function ClassifyPipelineTabComponent_Conditional_17_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
125
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
126
|
+
i0.ɵɵelementStart(0, "button", 73);
|
|
127
|
+
i0.ɵɵlistener("click", function ClassifyPipelineTabComponent_Conditional_17_Conditional_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.onPause()); });
|
|
128
|
+
i0.ɵɵelement(1, "i", 74);
|
|
129
|
+
i0.ɵɵtext(2, " Pause ");
|
|
130
|
+
i0.ɵɵelementEnd();
|
|
131
|
+
} if (rf & 2) {
|
|
132
|
+
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
133
|
+
i0.ɵɵproperty("disabled", !ctx_r4.CurrentProcessRunID);
|
|
134
|
+
} }
|
|
135
|
+
function ClassifyPipelineTabComponent_Conditional_17_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
136
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
137
|
+
i0.ɵɵelementStart(0, "button", 75);
|
|
138
|
+
i0.ɵɵlistener("click", function ClassifyPipelineTabComponent_Conditional_17_Conditional_12_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.onResume()); });
|
|
139
|
+
i0.ɵɵelement(1, "i", 76);
|
|
140
|
+
i0.ɵɵtext(2, " Resume ");
|
|
141
|
+
i0.ɵɵelementEnd();
|
|
142
|
+
} }
|
|
143
|
+
function ClassifyPipelineTabComponent_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
144
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
145
|
+
i0.ɵɵelementStart(0, "div", 15)(1, "div", 62)(2, "span", 63);
|
|
146
|
+
i0.ɵɵtext(3);
|
|
147
|
+
i0.ɵɵelementEnd();
|
|
148
|
+
i0.ɵɵelementStart(4, "span", 64);
|
|
149
|
+
i0.ɵɵtext(5);
|
|
150
|
+
i0.ɵɵpipe(6, "number");
|
|
151
|
+
i0.ɵɵelementEnd()();
|
|
152
|
+
i0.ɵɵelementStart(7, "div", 65);
|
|
153
|
+
i0.ɵɵelement(8, "div", 66);
|
|
154
|
+
i0.ɵɵelementEnd();
|
|
155
|
+
i0.ɵɵconditionalCreate(9, ClassifyPipelineTabComponent_Conditional_17_Conditional_9_Template, 2, 1, "div", 67);
|
|
156
|
+
i0.ɵɵelementStart(10, "div", 68);
|
|
157
|
+
i0.ɵɵconditionalCreate(11, ClassifyPipelineTabComponent_Conditional_17_Conditional_11_Template, 3, 1, "button", 69);
|
|
158
|
+
i0.ɵɵconditionalCreate(12, ClassifyPipelineTabComponent_Conditional_17_Conditional_12_Template, 3, 0, "button", 70);
|
|
159
|
+
i0.ɵɵelementStart(13, "button", 71);
|
|
160
|
+
i0.ɵɵlistener("click", function ClassifyPipelineTabComponent_Conditional_17_Template_button_click_13_listener() { i0.ɵɵrestoreView(_r6); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.onCancel()); });
|
|
161
|
+
i0.ɵɵelement(14, "i", 72);
|
|
162
|
+
i0.ɵɵtext(15, " Cancel ");
|
|
163
|
+
i0.ɵɵelementEnd()()();
|
|
164
|
+
} if (rf & 2) {
|
|
165
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
166
|
+
i0.ɵɵadvance(3);
|
|
167
|
+
i0.ɵɵtextInterpolate(ctx_r4.RunStage);
|
|
168
|
+
i0.ɵɵadvance(2);
|
|
169
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(6, 9, ctx_r4.RunProgress, "1.0-0"), "%");
|
|
170
|
+
i0.ɵɵadvance(3);
|
|
171
|
+
i0.ɵɵstyleProp("width", ctx_r4.RunProgress, "%");
|
|
172
|
+
i0.ɵɵclassProp("at-progress-fill-paused", ctx_r4.IsPaused);
|
|
173
|
+
i0.ɵɵadvance();
|
|
174
|
+
i0.ɵɵconditional(ctx_r4.RunCurrentItem ? 9 : -1);
|
|
175
|
+
i0.ɵɵadvance(2);
|
|
176
|
+
i0.ɵɵconditional(ctx_r4.IsRunning && !ctx_r4.IsPaused ? 11 : -1);
|
|
177
|
+
i0.ɵɵadvance();
|
|
178
|
+
i0.ɵɵconditional(ctx_r4.IsPaused ? 12 : -1);
|
|
179
|
+
} }
|
|
180
|
+
function ClassifyPipelineTabComponent_Conditional_18_For_25_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
181
|
+
i0.ɵɵelement(0, "i", 83);
|
|
182
|
+
} }
|
|
183
|
+
function ClassifyPipelineTabComponent_Conditional_18_For_25_Template(rf, ctx) { if (rf & 1) {
|
|
184
|
+
i0.ɵɵelementStart(0, "tr")(1, "td", 81);
|
|
185
|
+
i0.ɵɵtext(2);
|
|
186
|
+
i0.ɵɵelementEnd();
|
|
187
|
+
i0.ɵɵelementStart(3, "td")(4, "span", 82);
|
|
188
|
+
i0.ɵɵconditionalCreate(5, ClassifyPipelineTabComponent_Conditional_18_For_25_Conditional_5_Template, 1, 0, "i", 83);
|
|
189
|
+
i0.ɵɵtext(6);
|
|
190
|
+
i0.ɵɵelementEnd()();
|
|
191
|
+
i0.ɵɵelementStart(7, "td");
|
|
192
|
+
i0.ɵɵtext(8);
|
|
193
|
+
i0.ɵɵelementEnd();
|
|
194
|
+
i0.ɵɵelementStart(9, "td");
|
|
195
|
+
i0.ɵɵtext(10);
|
|
196
|
+
i0.ɵɵelementEnd();
|
|
197
|
+
i0.ɵɵelementStart(11, "td");
|
|
198
|
+
i0.ɵɵtext(12);
|
|
199
|
+
i0.ɵɵelementEnd();
|
|
200
|
+
i0.ɵɵelementStart(13, "td");
|
|
201
|
+
i0.ɵɵtext(14);
|
|
202
|
+
i0.ɵɵelementEnd()();
|
|
203
|
+
} if (rf & 2) {
|
|
204
|
+
const row_r10 = ctx.$implicit;
|
|
205
|
+
i0.ɵɵadvance(2);
|
|
206
|
+
i0.ɵɵtextInterpolate(row_r10.SourceName);
|
|
207
|
+
i0.ɵɵadvance(2);
|
|
208
|
+
i0.ɵɵclassMap(row_r10.StatusClass);
|
|
209
|
+
i0.ɵɵadvance();
|
|
210
|
+
i0.ɵɵconditional(row_r10.StatusClass === "running" ? 5 : -1);
|
|
211
|
+
i0.ɵɵadvance();
|
|
212
|
+
i0.ɵɵtextInterpolate1(" ", row_r10.Status, " ");
|
|
213
|
+
i0.ɵɵadvance(2);
|
|
214
|
+
i0.ɵɵtextInterpolate(row_r10.ItemsProcessed);
|
|
215
|
+
i0.ɵɵadvance(2);
|
|
216
|
+
i0.ɵɵtextInterpolate(row_r10.ItemsTagged);
|
|
217
|
+
i0.ɵɵadvance(2);
|
|
218
|
+
i0.ɵɵtextInterpolate(row_r10.ItemsVectorized);
|
|
219
|
+
i0.ɵɵadvance();
|
|
220
|
+
i0.ɵɵclassProp("run-error-text", row_r10.ErrorCount > 0);
|
|
221
|
+
i0.ɵɵadvance();
|
|
222
|
+
i0.ɵɵtextInterpolate(row_r10.ErrorCount);
|
|
223
|
+
} }
|
|
224
|
+
function ClassifyPipelineTabComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
225
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
226
|
+
i0.ɵɵelementStart(0, "div", 16)(1, "div", 18)(2, "span", 19);
|
|
227
|
+
i0.ɵɵelement(3, "i", 77);
|
|
228
|
+
i0.ɵɵtext(4, " Per-Source Progress");
|
|
229
|
+
i0.ɵɵelementEnd();
|
|
230
|
+
i0.ɵɵelementStart(5, "button", 78);
|
|
231
|
+
i0.ɵɵlistener("click", function ClassifyPipelineTabComponent_Conditional_18_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r9); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.onLoadLiveRunDetails()); });
|
|
232
|
+
i0.ɵɵelement(6, "i", 3);
|
|
233
|
+
i0.ɵɵelementEnd()();
|
|
234
|
+
i0.ɵɵelementStart(7, "div", 79)(8, "table", 80)(9, "thead")(10, "tr")(11, "th");
|
|
235
|
+
i0.ɵɵtext(12, "Source");
|
|
236
|
+
i0.ɵɵelementEnd();
|
|
237
|
+
i0.ɵɵelementStart(13, "th");
|
|
238
|
+
i0.ɵɵtext(14, "Status");
|
|
239
|
+
i0.ɵɵelementEnd();
|
|
240
|
+
i0.ɵɵelementStart(15, "th");
|
|
241
|
+
i0.ɵɵtext(16, "Items");
|
|
242
|
+
i0.ɵɵelementEnd();
|
|
243
|
+
i0.ɵɵelementStart(17, "th");
|
|
244
|
+
i0.ɵɵtext(18, "Tagged");
|
|
245
|
+
i0.ɵɵelementEnd();
|
|
246
|
+
i0.ɵɵelementStart(19, "th");
|
|
247
|
+
i0.ɵɵtext(20, "Vectorized");
|
|
248
|
+
i0.ɵɵelementEnd();
|
|
249
|
+
i0.ɵɵelementStart(21, "th");
|
|
250
|
+
i0.ɵɵtext(22, "Errors");
|
|
251
|
+
i0.ɵɵelementEnd()()();
|
|
252
|
+
i0.ɵɵelementStart(23, "tbody");
|
|
253
|
+
i0.ɵɵrepeaterCreate(24, ClassifyPipelineTabComponent_Conditional_18_For_25_Template, 15, 11, "tr", null, _forTrack5);
|
|
254
|
+
i0.ɵɵelementEnd()()()();
|
|
255
|
+
} if (rf & 2) {
|
|
256
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
257
|
+
i0.ɵɵadvance(24);
|
|
258
|
+
i0.ɵɵrepeater(ctx_r4.LiveRunDetailRows);
|
|
259
|
+
} }
|
|
260
|
+
function ClassifyPipelineTabComponent_Conditional_33_Template(rf, ctx) { if (rf & 1) {
|
|
261
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
262
|
+
i0.ɵɵelementStart(0, "button", 84);
|
|
263
|
+
i0.ɵɵlistener("click", function ClassifyPipelineTabComponent_Conditional_33_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r4 = i0.ɵɵnextContext(); ctx_r4.FeedSearchQuery = ""; return i0.ɵɵresetView(ctx_r4.OnFeedSearchChange()); });
|
|
264
|
+
i0.ɵɵelement(1, "i", 85);
|
|
265
|
+
i0.ɵɵelementEnd();
|
|
266
|
+
} }
|
|
267
|
+
function ClassifyPipelineTabComponent_Conditional_35_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
268
|
+
i0.ɵɵelementStart(0, "p");
|
|
269
|
+
i0.ɵɵtext(1);
|
|
270
|
+
i0.ɵɵelementEnd();
|
|
271
|
+
} if (rf & 2) {
|
|
272
|
+
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
273
|
+
i0.ɵɵadvance();
|
|
274
|
+
i0.ɵɵtextInterpolate1("No items match \"", ctx_r4.FeedSearchQuery, "\"");
|
|
275
|
+
} }
|
|
276
|
+
function ClassifyPipelineTabComponent_Conditional_35_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
277
|
+
i0.ɵɵelementStart(0, "p");
|
|
278
|
+
i0.ɵɵtext(1, "No processed items yet.");
|
|
279
|
+
i0.ɵɵelementEnd();
|
|
280
|
+
} }
|
|
281
|
+
function ClassifyPipelineTabComponent_Conditional_35_Template(rf, ctx) { if (rf & 1) {
|
|
282
|
+
i0.ɵɵelementStart(0, "div", 30);
|
|
283
|
+
i0.ɵɵelement(1, "i", 86);
|
|
284
|
+
i0.ɵɵconditionalCreate(2, ClassifyPipelineTabComponent_Conditional_35_Conditional_2_Template, 2, 1, "p")(3, ClassifyPipelineTabComponent_Conditional_35_Conditional_3_Template, 2, 0, "p");
|
|
285
|
+
i0.ɵɵelementEnd();
|
|
286
|
+
} if (rf & 2) {
|
|
287
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
288
|
+
i0.ɵɵadvance(2);
|
|
289
|
+
i0.ɵɵconditional(ctx_r4.FeedSearchQuery ? 2 : 3);
|
|
290
|
+
} }
|
|
291
|
+
function ClassifyPipelineTabComponent_For_37_For_9_Template(rf, ctx) { if (rf & 1) {
|
|
292
|
+
i0.ɵɵelementStart(0, "span", 93);
|
|
293
|
+
i0.ɵɵtext(1);
|
|
294
|
+
i0.ɵɵelementEnd();
|
|
295
|
+
} if (rf & 2) {
|
|
296
|
+
const tag_r14 = ctx.$implicit;
|
|
297
|
+
i0.ɵɵadvance();
|
|
298
|
+
i0.ɵɵtextInterpolate(tag_r14);
|
|
299
|
+
} }
|
|
300
|
+
function ClassifyPipelineTabComponent_For_37_Template(rf, ctx) { if (rf & 1) {
|
|
301
|
+
const _r12 = i0.ɵɵgetCurrentView();
|
|
302
|
+
i0.ɵɵelementStart(0, "div", 87);
|
|
303
|
+
i0.ɵɵlistener("click", function ClassifyPipelineTabComponent_For_37_Template_div_click_0_listener() { const item_r13 = i0.ɵɵrestoreView(_r12).$implicit; const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.onFeedItemClick(ctx_r4.GetFeedItemOriginalIndex(item_r13))); });
|
|
304
|
+
i0.ɵɵelement(1, "div", 88);
|
|
305
|
+
i0.ɵɵelementStart(2, "div", 89)(3, "span", 90);
|
|
306
|
+
i0.ɵɵtext(4);
|
|
307
|
+
i0.ɵɵelementEnd();
|
|
308
|
+
i0.ɵɵelementStart(5, "span", 91);
|
|
309
|
+
i0.ɵɵtext(6);
|
|
310
|
+
i0.ɵɵelementEnd()();
|
|
311
|
+
i0.ɵɵelementStart(7, "div", 92);
|
|
312
|
+
i0.ɵɵrepeaterCreate(8, ClassifyPipelineTabComponent_For_37_For_9_Template, 2, 1, "span", 93, i0.ɵɵrepeaterTrackByIdentity);
|
|
313
|
+
i0.ɵɵelementEnd();
|
|
314
|
+
i0.ɵɵelementStart(10, "span", 94);
|
|
315
|
+
i0.ɵɵtext(11);
|
|
316
|
+
i0.ɵɵelementEnd()();
|
|
317
|
+
} if (rf & 2) {
|
|
318
|
+
const item_r13 = ctx.$implicit;
|
|
319
|
+
i0.ɵɵadvance();
|
|
320
|
+
i0.ɵɵclassMap(item_r13.Status);
|
|
321
|
+
i0.ɵɵadvance(3);
|
|
322
|
+
i0.ɵɵtextInterpolate(item_r13.Name);
|
|
323
|
+
i0.ɵɵadvance(2);
|
|
324
|
+
i0.ɵɵtextInterpolate(item_r13.SourceName);
|
|
325
|
+
i0.ɵɵadvance(2);
|
|
326
|
+
i0.ɵɵrepeater(item_r13.Tags);
|
|
327
|
+
i0.ɵɵadvance(3);
|
|
328
|
+
i0.ɵɵtextInterpolate(item_r13.TimeAgo);
|
|
329
|
+
} }
|
|
330
|
+
function ClassifyPipelineTabComponent_Conditional_38_Template(rf, ctx) { if (rf & 1) {
|
|
331
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
332
|
+
i0.ɵɵelementStart(0, "div", 32)(1, "button", 73);
|
|
333
|
+
i0.ɵɵlistener("click", function ClassifyPipelineTabComponent_Conditional_38_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r15); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.FeedPrevPage()); });
|
|
334
|
+
i0.ɵɵelement(2, "i", 95);
|
|
335
|
+
i0.ɵɵelementEnd();
|
|
336
|
+
i0.ɵɵelementStart(3, "span", 96);
|
|
337
|
+
i0.ɵɵtext(4);
|
|
338
|
+
i0.ɵɵelementEnd();
|
|
339
|
+
i0.ɵɵelementStart(5, "button", 73);
|
|
340
|
+
i0.ɵɵlistener("click", function ClassifyPipelineTabComponent_Conditional_38_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r15); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.FeedNextPage()); });
|
|
341
|
+
i0.ɵɵelement(6, "i", 97);
|
|
342
|
+
i0.ɵɵelementEnd()();
|
|
343
|
+
} if (rf & 2) {
|
|
344
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
345
|
+
i0.ɵɵadvance();
|
|
346
|
+
i0.ɵɵproperty("disabled", ctx_r4.FeedPage === 0);
|
|
347
|
+
i0.ɵɵadvance(3);
|
|
348
|
+
i0.ɵɵtextInterpolate2("Page ", ctx_r4.FeedPage + 1, " of ", ctx_r4.FeedTotalPages);
|
|
349
|
+
i0.ɵɵadvance();
|
|
350
|
+
i0.ɵɵproperty("disabled", ctx_r4.FeedPage >= ctx_r4.FeedTotalPages - 1);
|
|
351
|
+
} }
|
|
352
|
+
function ClassifyPipelineTabComponent_Conditional_39_Conditional_3_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
353
|
+
i0.ɵɵelement(0, "i", 56);
|
|
354
|
+
i0.ɵɵtext(1, " Loading\u2026 ");
|
|
355
|
+
} }
|
|
356
|
+
function ClassifyPipelineTabComponent_Conditional_39_Conditional_3_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
357
|
+
i0.ɵɵelement(0, "i", 101);
|
|
358
|
+
i0.ɵɵtext(1, " Load more ");
|
|
359
|
+
} }
|
|
360
|
+
function ClassifyPipelineTabComponent_Conditional_39_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
361
|
+
const _r16 = i0.ɵɵgetCurrentView();
|
|
362
|
+
i0.ɵɵelementStart(0, "button", 100);
|
|
363
|
+
i0.ɵɵlistener("click", function ClassifyPipelineTabComponent_Conditional_39_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.onLoadMoreItems()); });
|
|
364
|
+
i0.ɵɵconditionalCreate(1, ClassifyPipelineTabComponent_Conditional_39_Conditional_3_Conditional_1_Template, 2, 0)(2, ClassifyPipelineTabComponent_Conditional_39_Conditional_3_Conditional_2_Template, 2, 0);
|
|
365
|
+
i0.ɵɵelementEnd();
|
|
366
|
+
} if (rf & 2) {
|
|
367
|
+
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
368
|
+
i0.ɵɵproperty("disabled", ctx_r4.IsLoadingMoreItems);
|
|
369
|
+
i0.ɵɵadvance();
|
|
370
|
+
i0.ɵɵconditional(ctx_r4.IsLoadingMoreItems ? 1 : 2);
|
|
371
|
+
} }
|
|
372
|
+
function ClassifyPipelineTabComponent_Conditional_39_Template(rf, ctx) { if (rf & 1) {
|
|
373
|
+
i0.ɵɵelementStart(0, "div", 33)(1, "span", 98);
|
|
374
|
+
i0.ɵɵtext(2);
|
|
375
|
+
i0.ɵɵelementEnd();
|
|
376
|
+
i0.ɵɵconditionalCreate(3, ClassifyPipelineTabComponent_Conditional_39_Conditional_3_Template, 3, 2, "button", 99);
|
|
377
|
+
i0.ɵɵelementEnd();
|
|
378
|
+
} if (rf & 2) {
|
|
379
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
380
|
+
i0.ɵɵadvance(2);
|
|
381
|
+
i0.ɵɵtextInterpolate2("Showing ", ctx_r4.FeedItems.length, " of ", ctx_r4.TotalItemCount, " items");
|
|
382
|
+
i0.ɵɵadvance();
|
|
383
|
+
i0.ɵɵconditional(ctx_r4.HasMoreItems ? 3 : -1);
|
|
384
|
+
} }
|
|
385
|
+
function ClassifyPipelineTabComponent_For_48_Template(rf, ctx) { if (rf & 1) {
|
|
386
|
+
i0.ɵɵelementStart(0, "div", 38)(1, "div", 102);
|
|
387
|
+
i0.ɵɵelement(2, "i");
|
|
388
|
+
i0.ɵɵelementEnd();
|
|
389
|
+
i0.ɵɵelementStart(3, "div", 103)(4, "div", 104);
|
|
390
|
+
i0.ɵɵtext(5);
|
|
391
|
+
i0.ɵɵelementEnd();
|
|
392
|
+
i0.ɵɵelementStart(6, "div", 105);
|
|
393
|
+
i0.ɵɵtext(7);
|
|
394
|
+
i0.ɵɵelementEnd()();
|
|
395
|
+
i0.ɵɵelement(8, "div", 106);
|
|
396
|
+
i0.ɵɵelementEnd();
|
|
397
|
+
} if (rf & 2) {
|
|
398
|
+
const source_r17 = ctx.$implicit;
|
|
399
|
+
i0.ɵɵadvance(2);
|
|
400
|
+
i0.ɵɵclassMap(source_r17.Icon);
|
|
401
|
+
i0.ɵɵadvance(3);
|
|
402
|
+
i0.ɵɵtextInterpolate(source_r17.Name);
|
|
403
|
+
i0.ɵɵadvance(2);
|
|
404
|
+
i0.ɵɵtextInterpolate(source_r17.Meta);
|
|
405
|
+
i0.ɵɵadvance();
|
|
406
|
+
i0.ɵɵclassMap(source_r17.StatusClass);
|
|
407
|
+
} }
|
|
408
|
+
function ClassifyPipelineTabComponent_For_55_Template(rf, ctx) { if (rf & 1) {
|
|
409
|
+
i0.ɵɵelementStart(0, "span", 107);
|
|
410
|
+
i0.ɵɵtext(1);
|
|
411
|
+
i0.ɵɵelementEnd();
|
|
412
|
+
} if (rf & 2) {
|
|
413
|
+
const tag_r18 = ctx.$implicit;
|
|
414
|
+
i0.ɵɵclassMap(tag_r18.SizeClass);
|
|
415
|
+
i0.ɵɵstyleProp("opacity", 0.4 + tag_r18.AvgWeight * 0.6);
|
|
416
|
+
i0.ɵɵproperty("title", "Weight: " + tag_r18.AvgWeight.toFixed(2));
|
|
417
|
+
i0.ɵɵadvance();
|
|
418
|
+
i0.ɵɵtextInterpolate(tag_r18.Tag);
|
|
419
|
+
} }
|
|
420
|
+
function ClassifyPipelineTabComponent_Conditional_62_Template(rf, ctx) { if (rf & 1) {
|
|
421
|
+
const _r19 = i0.ɵɵgetCurrentView();
|
|
422
|
+
i0.ɵɵelementStart(0, "div", 48)(1, "div", 108)(2, "label", 109);
|
|
423
|
+
i0.ɵɵtext(3, "Batch Size");
|
|
424
|
+
i0.ɵɵelementEnd();
|
|
425
|
+
i0.ɵɵelementStart(4, "div", 110)(5, "input", 111);
|
|
426
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ClassifyPipelineTabComponent_Conditional_62_Template_input_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r4 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r4.PipelineConfig.Pipeline.BatchSize, $event) || (ctx_r4.PipelineConfig.Pipeline.BatchSize = $event); return i0.ɵɵresetView($event); });
|
|
427
|
+
i0.ɵɵelementEnd()()();
|
|
428
|
+
i0.ɵɵelementStart(6, "div", 108)(7, "label", 109);
|
|
429
|
+
i0.ɵɵtext(8, "Throttle (ms)");
|
|
430
|
+
i0.ɵɵelementEnd();
|
|
431
|
+
i0.ɵɵelementStart(9, "div", 110)(10, "input", 112);
|
|
432
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ClassifyPipelineTabComponent_Conditional_62_Template_input_ngModelChange_10_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r4 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r4.PipelineConfig.Pipeline.DelayBetweenBatchesMs, $event) || (ctx_r4.PipelineConfig.Pipeline.DelayBetweenBatchesMs = $event); return i0.ɵɵresetView($event); });
|
|
433
|
+
i0.ɵɵelementEnd();
|
|
434
|
+
i0.ɵɵelementStart(11, "span", 113);
|
|
435
|
+
i0.ɵɵtext(12);
|
|
436
|
+
i0.ɵɵelementEnd()()();
|
|
437
|
+
i0.ɵɵelementStart(13, "div", 108)(14, "label", 109);
|
|
438
|
+
i0.ɵɵtext(15, "Error Tolerance");
|
|
439
|
+
i0.ɵɵelementEnd();
|
|
440
|
+
i0.ɵɵelementStart(16, "div", 110)(17, "input", 114);
|
|
441
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ClassifyPipelineTabComponent_Conditional_62_Template_input_ngModelChange_17_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r4 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r4.PipelineConfig.Pipeline.ErrorThresholdPercent, $event) || (ctx_r4.PipelineConfig.Pipeline.ErrorThresholdPercent = $event); return i0.ɵɵresetView($event); });
|
|
442
|
+
i0.ɵɵelementEnd();
|
|
443
|
+
i0.ɵɵelementStart(18, "span", 113);
|
|
444
|
+
i0.ɵɵtext(19);
|
|
445
|
+
i0.ɵɵelementEnd()()();
|
|
446
|
+
i0.ɵɵelementStart(20, "div", 108)(21, "label", 109);
|
|
447
|
+
i0.ɵɵtext(22, "Auto-resume");
|
|
448
|
+
i0.ɵɵelementEnd();
|
|
449
|
+
i0.ɵɵelementStart(23, "div", 110)(24, "label", 115)(25, "input", 116);
|
|
450
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ClassifyPipelineTabComponent_Conditional_62_Template_input_ngModelChange_25_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r4 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r4.PipelineConfig.Pipeline.ResumeFromLastBatch, $event) || (ctx_r4.PipelineConfig.Pipeline.ResumeFromLastBatch = $event); return i0.ɵɵresetView($event); });
|
|
451
|
+
i0.ɵɵelementEnd();
|
|
452
|
+
i0.ɵɵelementStart(26, "span", 117);
|
|
453
|
+
i0.ɵɵelement(27, "span", 118);
|
|
454
|
+
i0.ɵɵelementEnd()()()();
|
|
455
|
+
i0.ɵɵelement(28, "div", 119);
|
|
456
|
+
i0.ɵɵelementStart(29, "div", 120);
|
|
457
|
+
i0.ɵɵtext(30, "LLM Rate Limits");
|
|
458
|
+
i0.ɵɵelementEnd();
|
|
459
|
+
i0.ɵɵelementStart(31, "div", 108)(32, "label", 109);
|
|
460
|
+
i0.ɵɵtext(33, "Requests/min");
|
|
461
|
+
i0.ɵɵelementEnd();
|
|
462
|
+
i0.ɵɵelementStart(34, "div", 110)(35, "input", 121);
|
|
463
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ClassifyPipelineTabComponent_Conditional_62_Template_input_ngModelChange_35_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r4 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r4.PipelineConfig.RateLimits.LLM.RequestsPerMinute, $event) || (ctx_r4.PipelineConfig.RateLimits.LLM.RequestsPerMinute = $event); return i0.ɵɵresetView($event); });
|
|
464
|
+
i0.ɵɵelementEnd()()();
|
|
465
|
+
i0.ɵɵelementStart(36, "div", 108)(37, "label", 109);
|
|
466
|
+
i0.ɵɵtext(38, "Tokens/min");
|
|
467
|
+
i0.ɵɵelementEnd();
|
|
468
|
+
i0.ɵɵelementStart(39, "div", 110)(40, "input", 122);
|
|
469
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ClassifyPipelineTabComponent_Conditional_62_Template_input_ngModelChange_40_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r4 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r4.PipelineConfig.RateLimits.LLM.TokensPerMinute, $event) || (ctx_r4.PipelineConfig.RateLimits.LLM.TokensPerMinute = $event); return i0.ɵɵresetView($event); });
|
|
470
|
+
i0.ɵɵelementEnd();
|
|
471
|
+
i0.ɵɵelementStart(41, "span", 113);
|
|
472
|
+
i0.ɵɵtext(42);
|
|
473
|
+
i0.ɵɵelementEnd()()();
|
|
474
|
+
i0.ɵɵelementStart(43, "div", 120);
|
|
475
|
+
i0.ɵɵtext(44, "Embedding Rate Limits");
|
|
476
|
+
i0.ɵɵelementEnd();
|
|
477
|
+
i0.ɵɵelementStart(45, "div", 108)(46, "label", 109);
|
|
478
|
+
i0.ɵɵtext(47, "Requests/min");
|
|
479
|
+
i0.ɵɵelementEnd();
|
|
480
|
+
i0.ɵɵelementStart(48, "div", 110)(49, "input", 123);
|
|
481
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ClassifyPipelineTabComponent_Conditional_62_Template_input_ngModelChange_49_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r4 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r4.PipelineConfig.RateLimits.Embedding.RequestsPerMinute, $event) || (ctx_r4.PipelineConfig.RateLimits.Embedding.RequestsPerMinute = $event); return i0.ɵɵresetView($event); });
|
|
482
|
+
i0.ɵɵelementEnd()()()();
|
|
483
|
+
} if (rf & 2) {
|
|
484
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
485
|
+
i0.ɵɵadvance(5);
|
|
486
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r4.PipelineConfig.Pipeline.BatchSize);
|
|
487
|
+
i0.ɵɵadvance(5);
|
|
488
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r4.PipelineConfig.Pipeline.DelayBetweenBatchesMs);
|
|
489
|
+
i0.ɵɵadvance(2);
|
|
490
|
+
i0.ɵɵtextInterpolate1("", ctx_r4.PipelineConfig.Pipeline.DelayBetweenBatchesMs, "ms");
|
|
491
|
+
i0.ɵɵadvance(5);
|
|
492
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r4.PipelineConfig.Pipeline.ErrorThresholdPercent);
|
|
493
|
+
i0.ɵɵadvance(2);
|
|
494
|
+
i0.ɵɵtextInterpolate1("", ctx_r4.PipelineConfig.Pipeline.ErrorThresholdPercent, "%");
|
|
495
|
+
i0.ɵɵadvance(6);
|
|
496
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r4.PipelineConfig.Pipeline.ResumeFromLastBatch);
|
|
497
|
+
i0.ɵɵadvance(10);
|
|
498
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r4.PipelineConfig.RateLimits.LLM.RequestsPerMinute);
|
|
499
|
+
i0.ɵɵadvance(5);
|
|
500
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r4.PipelineConfig.RateLimits.LLM.TokensPerMinute);
|
|
501
|
+
i0.ɵɵadvance(2);
|
|
502
|
+
i0.ɵɵtextInterpolate(ctx_r4.formatTokenCount(ctx_r4.PipelineConfig.RateLimits.LLM.TokensPerMinute ?? 0));
|
|
503
|
+
i0.ɵɵadvance(7);
|
|
504
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r4.PipelineConfig.RateLimits.Embedding.RequestsPerMinute);
|
|
505
|
+
} }
|
|
506
|
+
export class ClassifyPipelineTabComponent extends BaseAngularComponent {
|
|
507
|
+
// ── Built view models (data DOWN from the host orchestrator) ──
|
|
508
|
+
/** KPI strip cards. */
|
|
509
|
+
KPIMetrics = [];
|
|
510
|
+
/** Pipeline-stage visualization (shown only during an active/paused run). */
|
|
511
|
+
PipelineStages = [];
|
|
512
|
+
/** Recent-processing feed source list (host keeps it index-aligned with its raw content items). */
|
|
513
|
+
FeedItems = [];
|
|
514
|
+
/** Sources mini-list (right sidebar). */
|
|
515
|
+
SourceMinis = [];
|
|
516
|
+
/** Trending-tags cloud. */
|
|
517
|
+
TrendingTags = [];
|
|
518
|
+
/** Per-source live-run detail rows (shown during an active run). */
|
|
519
|
+
LiveRunDetailRows = [];
|
|
520
|
+
/** Total content-item count in the DB (from TotalRowCount) — drives the "Showing X of Y" line. */
|
|
521
|
+
TotalItemCount = 0;
|
|
522
|
+
/** True while the host is loading the next page of content items. */
|
|
523
|
+
IsLoadingMoreItems = false;
|
|
524
|
+
// ── Run state (data DOWN from the host) ──
|
|
525
|
+
IsRunning = false;
|
|
526
|
+
IsPaused = false;
|
|
527
|
+
RunProgress = 0;
|
|
528
|
+
RunStage = '';
|
|
529
|
+
RunCurrentItem = '';
|
|
530
|
+
/** Server-side process run ID — gates the Pause button. */
|
|
531
|
+
CurrentProcessRunID = null;
|
|
532
|
+
/**
|
|
533
|
+
* The pipeline-config object the host owns. Two-way bound in-place via the
|
|
534
|
+
* config panel's `[(ngModel)]` bindings — since this is a shared object
|
|
535
|
+
* reference, mutations flow straight back to the host without an output.
|
|
536
|
+
*/
|
|
537
|
+
PipelineConfig = {};
|
|
538
|
+
/** Config-panel expanded state — host persists this to user prefs + reports it to the agent. */
|
|
539
|
+
ShowPipelineConfig = false;
|
|
540
|
+
// ── Tab-local view state (purely presentational, pipeline-only) ──
|
|
541
|
+
/** Feed search text. */
|
|
542
|
+
FeedSearchQuery = '';
|
|
543
|
+
/** Current feed page (0-based). */
|
|
544
|
+
FeedPage = 0;
|
|
545
|
+
FeedPageSize = 20;
|
|
546
|
+
/** Sort order for the feed: 'newest' (default) or 'oldest'. */
|
|
547
|
+
FeedSortOrder = 'newest';
|
|
548
|
+
/** Template-facing formatter for token-count config values. */
|
|
549
|
+
formatTokenCount = formatTokenCount;
|
|
550
|
+
// ── User intents (events UP to the host) ──
|
|
551
|
+
/** Refresh the pipeline data → host `LoadPipelineData()`. */
|
|
552
|
+
RefreshRequested = new EventEmitter();
|
|
553
|
+
/** Pause the running pipeline → host `PausePipeline()`. */
|
|
554
|
+
PauseRequested = new EventEmitter();
|
|
555
|
+
/** Resume the paused pipeline → host `ResumePipeline()`. */
|
|
556
|
+
ResumeRequested = new EventEmitter();
|
|
557
|
+
/** Cancel the running/paused pipeline → host `CancelPipeline()`. */
|
|
558
|
+
CancelRequested = new EventEmitter();
|
|
559
|
+
/** Reload live per-source progress → host `LoadLiveRunDetails()`. */
|
|
560
|
+
LoadLiveRunDetailsRequested = new EventEmitter();
|
|
561
|
+
/** Open a feed item's detail slide-in (emits the item's original index into the host's FeedItems). */
|
|
562
|
+
FeedItemClicked = new EventEmitter();
|
|
563
|
+
/** Toggle the config panel → host `TogglePipelineConfig()` (persists + reports to agent). */
|
|
564
|
+
ConfigToggled = new EventEmitter();
|
|
565
|
+
/** Request the host load the next page of content items (no silent truncation). */
|
|
566
|
+
LoadMoreItemsRequested = new EventEmitter();
|
|
567
|
+
/** Whether more content items exist in the DB than are currently loaded into the feed. */
|
|
568
|
+
get HasMoreItems() {
|
|
569
|
+
return this.TotalItemCount > this.FeedItems.length;
|
|
570
|
+
}
|
|
571
|
+
onLoadMoreItems() {
|
|
572
|
+
this.LoadMoreItemsRequested.emit();
|
|
573
|
+
}
|
|
574
|
+
// ════════════════════════════════════════════
|
|
575
|
+
// FEED — search, sort, pagination (presentational)
|
|
576
|
+
// ════════════════════════════════════════════
|
|
577
|
+
/** Feed items filtered by search query and sorted. */
|
|
578
|
+
get FilteredFeedItems() {
|
|
579
|
+
let items = this.FeedItems;
|
|
580
|
+
if (this.FeedSearchQuery.trim()) {
|
|
581
|
+
const q = this.FeedSearchQuery.toLowerCase();
|
|
582
|
+
items = items.filter(item => item.Name.toLowerCase().includes(q) ||
|
|
583
|
+
item.SourceName.toLowerCase().includes(q) ||
|
|
584
|
+
item.Tags.some(t => t.toLowerCase().includes(q)));
|
|
585
|
+
}
|
|
586
|
+
if (this.FeedSortOrder === 'oldest') {
|
|
587
|
+
return [...items].reverse();
|
|
588
|
+
}
|
|
589
|
+
return items;
|
|
590
|
+
}
|
|
591
|
+
/** Paginated feed items for the current page. */
|
|
592
|
+
get PaginatedFeedItems() {
|
|
593
|
+
const items = this.FilteredFeedItems;
|
|
594
|
+
const start = this.FeedPage * this.FeedPageSize;
|
|
595
|
+
return items.slice(start, start + this.FeedPageSize);
|
|
596
|
+
}
|
|
597
|
+
/** Total pages for the feed. */
|
|
598
|
+
get FeedTotalPages() {
|
|
599
|
+
return Math.max(1, Math.ceil(this.FilteredFeedItems.length / this.FeedPageSize));
|
|
600
|
+
}
|
|
601
|
+
/** Toggle feed sort order. */
|
|
602
|
+
ToggleFeedSort() {
|
|
603
|
+
this.FeedSortOrder = this.FeedSortOrder === 'newest' ? 'oldest' : 'newest';
|
|
604
|
+
this.FeedPage = 0;
|
|
605
|
+
}
|
|
606
|
+
/** Handle feed search input change. */
|
|
607
|
+
OnFeedSearchChange() {
|
|
608
|
+
this.FeedPage = 0;
|
|
609
|
+
}
|
|
610
|
+
/** Navigate to the previous feed page. */
|
|
611
|
+
FeedPrevPage() {
|
|
612
|
+
if (this.FeedPage > 0) {
|
|
613
|
+
this.FeedPage--;
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
/** Navigate to the next feed page. */
|
|
617
|
+
FeedNextPage() {
|
|
618
|
+
if (this.FeedPage < this.FeedTotalPages - 1) {
|
|
619
|
+
this.FeedPage++;
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
/** Get the index in the host's original FeedItems array for a paginated item. */
|
|
623
|
+
GetFeedItemOriginalIndex(item) {
|
|
624
|
+
return this.FeedItems.indexOf(item);
|
|
625
|
+
}
|
|
626
|
+
// ── Intent emitters ──
|
|
627
|
+
onRefresh() {
|
|
628
|
+
this.RefreshRequested.emit();
|
|
629
|
+
}
|
|
630
|
+
onPause() {
|
|
631
|
+
this.PauseRequested.emit();
|
|
632
|
+
}
|
|
633
|
+
onResume() {
|
|
634
|
+
this.ResumeRequested.emit();
|
|
635
|
+
}
|
|
636
|
+
onCancel() {
|
|
637
|
+
this.CancelRequested.emit();
|
|
638
|
+
}
|
|
639
|
+
onLoadLiveRunDetails() {
|
|
640
|
+
this.LoadLiveRunDetailsRequested.emit();
|
|
641
|
+
}
|
|
642
|
+
onFeedItemClick(originalIndex) {
|
|
643
|
+
this.FeedItemClicked.emit(originalIndex);
|
|
644
|
+
}
|
|
645
|
+
onToggleConfig() {
|
|
646
|
+
this.ConfigToggled.emit();
|
|
647
|
+
}
|
|
648
|
+
static ɵfac = /*@__PURE__*/ (() => { let ɵClassifyPipelineTabComponent_BaseFactory; return function ClassifyPipelineTabComponent_Factory(__ngFactoryType__) { return (ɵClassifyPipelineTabComponent_BaseFactory || (ɵClassifyPipelineTabComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ClassifyPipelineTabComponent)))(__ngFactoryType__ || ClassifyPipelineTabComponent); }; })();
|
|
649
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ClassifyPipelineTabComponent, selectors: [["classify-pipeline-tab"]], inputs: { KPIMetrics: "KPIMetrics", PipelineStages: "PipelineStages", FeedItems: "FeedItems", SourceMinis: "SourceMinis", TrendingTags: "TrendingTags", LiveRunDetailRows: "LiveRunDetailRows", TotalItemCount: "TotalItemCount", IsLoadingMoreItems: "IsLoadingMoreItems", IsRunning: "IsRunning", IsPaused: "IsPaused", RunProgress: "RunProgress", RunStage: "RunStage", RunCurrentItem: "RunCurrentItem", CurrentProcessRunID: "CurrentProcessRunID", PipelineConfig: "PipelineConfig", ShowPipelineConfig: "ShowPipelineConfig" }, outputs: { RefreshRequested: "RefreshRequested", PauseRequested: "PauseRequested", ResumeRequested: "ResumeRequested", CancelRequested: "CancelRequested", LoadLiveRunDetailsRequested: "LoadLiveRunDetailsRequested", FeedItemClicked: "FeedItemClicked", ConfigToggled: "ConfigToggled", LoadMoreItemsRequested: "LoadMoreItemsRequested" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 63, vars: 23, consts: [["Title", "Pipeline Monitor", "Subtitle", "Real-time processing status and recent activity"], ["actions", ""], ["mjButton", "", "variant", "secondary", "size", "sm", 3, "click"], [1, "fa-solid", "fa-arrows-rotate"], [1, "mj-action-label"], [3, "Padding", "Flex"], [1, "at-main-area"], [1, "at-page-body"], [1, "at-kpi-strip"], [1, "at-kpi-card"], [1, "at-analytics-section"], [3, "Provider"], [1, "at-pipeline-layout"], [1, "at-pipeline-center"], [1, "at-pipeline-stages"], [1, "at-progress-section"], [1, "at-card", 2, "margin-bottom", "12px"], [1, "at-card", "at-feed-card"], [1, "at-card-header"], [1, "at-card-title"], [1, "fa-solid", "fa-bolt"], [1, "at-feed-header-actions"], [1, "at-feed-sort-btn", 3, "click", "title"], [1, "fa-solid"], [1, "at-feed-count"], [1, "at-feed-search-bar"], [1, "fa-solid", "fa-search", "at-feed-search-icon"], ["type", "text", "placeholder", "Search items, sources, or tags...", 1, "mj-input", "at-feed-search-input", 3, "ngModelChange", "input", "ngModel"], [1, "at-feed-search-clear"], [1, "at-card-body", "at-feed-scroll-body"], [1, "at-empty-state"], [1, "at-feed-item", "at-feed-item-clickable"], [1, "at-feed-pagination"], [1, "at-load-more-bar"], [1, "at-pipeline-right"], [1, "at-card"], [1, "fa-solid", "fa-database"], [1, "at-card-body"], [1, "at-source-mini"], [1, "at-card", "at-tag-cloud-card"], [1, "at-card-title", 2, "margin-bottom", "10px"], [1, "fa-solid", "fa-chart-bar"], [1, "at-tag-cloud"], [1, "at-tag-pill", 3, "class", "opacity", "title"], [1, "at-card", "at-config-card"], [1, "at-card-header", 2, "cursor", "pointer", 3, "click"], [1, "fa-solid", "fa-sliders"], [1, "fa-solid", 2, "font-size", "0.7rem", "color", "var(--mj-text-muted)"], [1, "at-card-body", "at-config-body"], [1, "at-kpi-value"], [1, "at-kpi-label"], [1, "at-kpi-trend", 3, "up"], [1, "at-kpi-trend"], [1, "fa-solid", "fa-arrow-up"], [1, "at-pipeline-stage"], [1, "at-pipeline-stage-icon"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "fa-solid", "fa-check"], [3, "class"], [1, "at-pipeline-stage-name"], [1, "at-stage-connector", 3, "connector-complete"], [1, "at-stage-connector"], [1, "at-progress-header"], [1, "at-progress-stage-label"], [1, "at-progress-pct"], [1, "at-progress-bar"], [1, "at-progress-fill"], [1, "at-progress-current"], [1, "at-pipeline-controls"], [1, "at-action-btn", "at-secondary-btn", 3, "disabled"], [1, "at-action-btn", "at-primary-btn"], [1, "at-action-btn", "at-danger-btn", 3, "click"], [1, "fa-solid", "fa-stop"], [1, "at-action-btn", "at-secondary-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-pause"], [1, "at-action-btn", "at-primary-btn", 3, "click"], [1, "fa-solid", "fa-play"], [1, "fa-solid", "fa-list-check"], [1, "at-action-btn", "at-secondary-btn", 2, "font-size", "11px", "padding", "3px 8px", 3, "click"], [1, "at-card-body", 2, "max-height", "200px", "overflow-y", "auto"], [1, "at-run-table"], [1, "at-run-source-name"], [1, "at-run-status-badge"], [1, "fa-solid", "fa-spinner", "fa-spin", 2, "font-size", "0.55rem"], [1, "at-feed-search-clear", 3, "click"], [1, "fa-solid", "fa-times"], [1, "fa-solid", "fa-inbox"], [1, "at-feed-item", "at-feed-item-clickable", 3, "click"], [1, "at-feed-status-dot"], [1, "at-feed-item-content"], [1, "at-feed-item-name"], [1, "at-feed-item-source-label"], [1, "at-feed-item-tags"], [1, "at-feed-tag"], [1, "at-feed-item-time"], [1, "fa-solid", "fa-chevron-left"], [1, "at-feed-pagination-label"], [1, "fa-solid", "fa-chevron-right"], [1, "at-load-more-count"], ["mjButton", "", "variant", "secondary", "size", "sm", 3, "disabled"], ["mjButton", "", "variant", "secondary", "size", "sm", 3, "click", "disabled"], [1, "fa-solid", "fa-chevron-down"], [1, "at-source-mini-icon"], [1, "at-source-mini-info"], [1, "at-source-mini-name"], [1, "at-source-mini-meta"], [1, "at-source-mini-status"], [1, "at-tag-pill", 3, "title"], [1, "at-config-row"], [1, "at-config-label"], [1, "at-config-control"], ["type", "number", "min", "10", "max", "1000", "step", "10", 1, "at-config-input", 3, "ngModelChange", "ngModel"], ["type", "range", "min", "0", "max", "5000", "step", "100", 1, "at-config-slider", 3, "ngModelChange", "ngModel"], [1, "at-config-value"], ["type", "range", "min", "5", "max", "50", "step", "5", 1, "at-config-slider", 3, "ngModelChange", "ngModel"], [1, "at-config-toggle"], ["type", "checkbox", 3, "ngModelChange", "ngModel"], [1, "at-toggle-track"], [1, "at-toggle-thumb"], [1, "at-config-divider"], [1, "at-config-section-label"], ["type", "number", "min", "1", "max", "500", 1, "at-config-input", 3, "ngModelChange", "ngModel"], ["type", "number", "min", "1000", "max", "5000000", "step", "10000", 1, "at-config-input", 3, "ngModelChange", "ngModel"], ["type", "number", "min", "1", "max", "1000", 1, "at-config-input", 3, "ngModelChange", "ngModel"]], template: function ClassifyPipelineTabComponent_Template(rf, ctx) { if (rf & 1) {
|
|
650
|
+
i0.ɵɵelementStart(0, "mj-page-header-interior", 0)(1, "div", 1)(2, "button", 2);
|
|
651
|
+
i0.ɵɵlistener("click", function ClassifyPipelineTabComponent_Template_button_click_2_listener() { return ctx.onRefresh(); });
|
|
652
|
+
i0.ɵɵelement(3, "i", 3);
|
|
653
|
+
i0.ɵɵelementStart(4, "span", 4);
|
|
654
|
+
i0.ɵɵtext(5, "Refresh");
|
|
655
|
+
i0.ɵɵelementEnd()()()();
|
|
656
|
+
i0.ɵɵelementStart(6, "mj-page-body-interior", 5)(7, "div", 6)(8, "div", 7)(9, "div", 8);
|
|
657
|
+
i0.ɵɵrepeaterCreate(10, ClassifyPipelineTabComponent_For_11_Template, 7, 7, "div", 9, _forTrack0);
|
|
658
|
+
i0.ɵɵelementEnd();
|
|
659
|
+
i0.ɵɵelementStart(12, "div", 10);
|
|
660
|
+
i0.ɵɵelement(13, "classify-overview-analytics", 11);
|
|
661
|
+
i0.ɵɵelementEnd();
|
|
662
|
+
i0.ɵɵelementStart(14, "div", 12)(15, "div", 13);
|
|
663
|
+
i0.ɵɵconditionalCreate(16, ClassifyPipelineTabComponent_Conditional_16_Template, 3, 0, "div", 14);
|
|
664
|
+
i0.ɵɵconditionalCreate(17, ClassifyPipelineTabComponent_Conditional_17_Template, 16, 12, "div", 15);
|
|
665
|
+
i0.ɵɵconditionalCreate(18, ClassifyPipelineTabComponent_Conditional_18_Template, 26, 0, "div", 16);
|
|
666
|
+
i0.ɵɵelementStart(19, "div", 17)(20, "div", 18)(21, "span", 19);
|
|
667
|
+
i0.ɵɵelement(22, "i", 20);
|
|
668
|
+
i0.ɵɵtext(23, " Recent Processing");
|
|
669
|
+
i0.ɵɵelementEnd();
|
|
670
|
+
i0.ɵɵelementStart(24, "div", 21)(25, "button", 22);
|
|
671
|
+
i0.ɵɵlistener("click", function ClassifyPipelineTabComponent_Template_button_click_25_listener() { return ctx.ToggleFeedSort(); });
|
|
672
|
+
i0.ɵɵelement(26, "i", 23);
|
|
673
|
+
i0.ɵɵtext(27);
|
|
674
|
+
i0.ɵɵelementEnd();
|
|
675
|
+
i0.ɵɵelementStart(28, "span", 24);
|
|
676
|
+
i0.ɵɵtext(29);
|
|
677
|
+
i0.ɵɵelementEnd()()();
|
|
678
|
+
i0.ɵɵelementStart(30, "div", 25);
|
|
679
|
+
i0.ɵɵelement(31, "i", 26);
|
|
680
|
+
i0.ɵɵelementStart(32, "input", 27);
|
|
681
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ClassifyPipelineTabComponent_Template_input_ngModelChange_32_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.FeedSearchQuery, $event) || (ctx.FeedSearchQuery = $event); return $event; });
|
|
682
|
+
i0.ɵɵlistener("input", function ClassifyPipelineTabComponent_Template_input_input_32_listener() { return ctx.OnFeedSearchChange(); });
|
|
683
|
+
i0.ɵɵelementEnd();
|
|
684
|
+
i0.ɵɵconditionalCreate(33, ClassifyPipelineTabComponent_Conditional_33_Template, 2, 0, "button", 28);
|
|
685
|
+
i0.ɵɵelementEnd();
|
|
686
|
+
i0.ɵɵelementStart(34, "div", 29);
|
|
687
|
+
i0.ɵɵconditionalCreate(35, ClassifyPipelineTabComponent_Conditional_35_Template, 4, 1, "div", 30);
|
|
688
|
+
i0.ɵɵrepeaterCreate(36, ClassifyPipelineTabComponent_For_37_Template, 12, 5, "div", 31, _forTrack1);
|
|
689
|
+
i0.ɵɵelementEnd();
|
|
690
|
+
i0.ɵɵconditionalCreate(38, ClassifyPipelineTabComponent_Conditional_38_Template, 7, 4, "div", 32);
|
|
691
|
+
i0.ɵɵconditionalCreate(39, ClassifyPipelineTabComponent_Conditional_39_Template, 4, 3, "div", 33);
|
|
692
|
+
i0.ɵɵelementEnd()();
|
|
693
|
+
i0.ɵɵelementStart(40, "div", 34)(41, "div", 35)(42, "div", 18)(43, "span", 19);
|
|
694
|
+
i0.ɵɵelement(44, "i", 36);
|
|
695
|
+
i0.ɵɵtext(45, " Sources");
|
|
696
|
+
i0.ɵɵelementEnd()();
|
|
697
|
+
i0.ɵɵelementStart(46, "div", 37);
|
|
698
|
+
i0.ɵɵrepeaterCreate(47, ClassifyPipelineTabComponent_For_48_Template, 9, 6, "div", 38, _forTrack2);
|
|
699
|
+
i0.ɵɵelementEnd()();
|
|
700
|
+
i0.ɵɵelementStart(49, "div", 39)(50, "div", 40);
|
|
701
|
+
i0.ɵɵelement(51, "i", 41);
|
|
702
|
+
i0.ɵɵtext(52, " Trending Tags");
|
|
703
|
+
i0.ɵɵelementEnd();
|
|
704
|
+
i0.ɵɵelementStart(53, "div", 42);
|
|
705
|
+
i0.ɵɵrepeaterCreate(54, ClassifyPipelineTabComponent_For_55_Template, 2, 6, "span", 43, _forTrack3);
|
|
706
|
+
i0.ɵɵelementEnd()();
|
|
707
|
+
i0.ɵɵelementStart(56, "div", 44)(57, "div", 45);
|
|
708
|
+
i0.ɵɵlistener("click", function ClassifyPipelineTabComponent_Template_div_click_57_listener() { return ctx.onToggleConfig(); });
|
|
709
|
+
i0.ɵɵelementStart(58, "span", 19);
|
|
710
|
+
i0.ɵɵelement(59, "i", 46);
|
|
711
|
+
i0.ɵɵtext(60, " Pipeline Settings");
|
|
712
|
+
i0.ɵɵelementEnd();
|
|
713
|
+
i0.ɵɵelement(61, "i", 47);
|
|
714
|
+
i0.ɵɵelementEnd();
|
|
715
|
+
i0.ɵɵconditionalCreate(62, ClassifyPipelineTabComponent_Conditional_62_Template, 50, 10, "div", 48);
|
|
716
|
+
i0.ɵɵelementEnd()()()()()();
|
|
717
|
+
} if (rf & 2) {
|
|
718
|
+
i0.ɵɵadvance(6);
|
|
719
|
+
i0.ɵɵproperty("Padding", false)("Flex", true);
|
|
720
|
+
i0.ɵɵadvance(4);
|
|
721
|
+
i0.ɵɵrepeater(ctx.KPIMetrics);
|
|
722
|
+
i0.ɵɵadvance(3);
|
|
723
|
+
i0.ɵɵproperty("Provider", ctx.Provider);
|
|
724
|
+
i0.ɵɵadvance(3);
|
|
725
|
+
i0.ɵɵconditional(ctx.PipelineStages.length > 0 && (ctx.IsRunning || ctx.IsPaused) ? 16 : -1);
|
|
726
|
+
i0.ɵɵadvance();
|
|
727
|
+
i0.ɵɵconditional(ctx.IsRunning || ctx.IsPaused ? 17 : -1);
|
|
728
|
+
i0.ɵɵadvance();
|
|
729
|
+
i0.ɵɵconditional(ctx.IsRunning && ctx.LiveRunDetailRows.length > 0 ? 18 : -1);
|
|
730
|
+
i0.ɵɵadvance(7);
|
|
731
|
+
i0.ɵɵproperty("title", ctx.FeedSortOrder === "newest" ? "Showing newest first" : "Showing oldest first");
|
|
732
|
+
i0.ɵɵadvance();
|
|
733
|
+
i0.ɵɵclassProp("fa-arrow-down-short-wide", ctx.FeedSortOrder === "newest")("fa-arrow-up-short-wide", ctx.FeedSortOrder === "oldest");
|
|
734
|
+
i0.ɵɵadvance();
|
|
735
|
+
i0.ɵɵtextInterpolate1(" ", ctx.FeedSortOrder === "newest" ? "Newest" : "Oldest", " ");
|
|
736
|
+
i0.ɵɵadvance(2);
|
|
737
|
+
i0.ɵɵtextInterpolate1("", ctx.FilteredFeedItems.length, " items");
|
|
738
|
+
i0.ɵɵadvance(3);
|
|
739
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx.FeedSearchQuery);
|
|
740
|
+
i0.ɵɵadvance();
|
|
741
|
+
i0.ɵɵconditional(ctx.FeedSearchQuery ? 33 : -1);
|
|
742
|
+
i0.ɵɵadvance(2);
|
|
743
|
+
i0.ɵɵconditional(ctx.FilteredFeedItems.length === 0 ? 35 : -1);
|
|
744
|
+
i0.ɵɵadvance();
|
|
745
|
+
i0.ɵɵrepeater(ctx.PaginatedFeedItems);
|
|
746
|
+
i0.ɵɵadvance(2);
|
|
747
|
+
i0.ɵɵconditional(ctx.FeedTotalPages > 1 ? 38 : -1);
|
|
748
|
+
i0.ɵɵadvance();
|
|
749
|
+
i0.ɵɵconditional(ctx.TotalItemCount > 0 ? 39 : -1);
|
|
750
|
+
i0.ɵɵadvance(8);
|
|
751
|
+
i0.ɵɵrepeater(ctx.SourceMinis);
|
|
752
|
+
i0.ɵɵadvance(7);
|
|
753
|
+
i0.ɵɵrepeater(ctx.TrendingTags);
|
|
754
|
+
i0.ɵɵadvance(7);
|
|
755
|
+
i0.ɵɵclassProp("fa-chevron-down", !ctx.ShowPipelineConfig)("fa-chevron-up", ctx.ShowPipelineConfig);
|
|
756
|
+
i0.ɵɵadvance();
|
|
757
|
+
i0.ɵɵconditional(ctx.ShowPipelineConfig ? 62 : -1);
|
|
758
|
+
} }, dependencies: [i1.DefaultValueAccessor, i1.NumberValueAccessor, i1.RangeValueAccessor, i1.CheckboxControlValueAccessor, i1.NgControlStatus, i1.MinValidator, i1.MaxValidator, i1.NgModel, i2.MJButtonDirective, i2.MJPageHeaderInteriorComponent, i2.MJPageBodyInteriorComponent, i3.ClassifyOverviewAnalyticsComponent, i4.DecimalPipe], styles: ["\n\n\n\n\n\n\n\n\n\n.at-analytics-section[_ngcontent-%COMP%] {\n margin: 12px 0 16px;\n}"] });
|
|
759
|
+
}
|
|
760
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ClassifyPipelineTabComponent, [{
|
|
761
|
+
type: Component,
|
|
762
|
+
args: [{ standalone: false, selector: 'classify-pipeline-tab', template: "<mj-page-header-interior\n Title=\"Pipeline Monitor\"\n Subtitle=\"Real-time processing status and recent activity\">\n <div actions>\n <button mjButton variant=\"secondary\" size=\"sm\" (click)=\"onRefresh()\">\n <i class=\"fa-solid fa-arrows-rotate\"></i> <span class=\"mj-action-label\">Refresh</span>\n </button>\n </div>\n</mj-page-header-interior>\n\n<mj-page-body-interior [Padding]=\"false\" [Flex]=\"true\">\n<div class=\"at-main-area\">\n <div class=\"at-page-body\">\n <!-- KPIs -->\n <div class=\"at-kpi-strip\">\n @for (kpi of KPIMetrics; track kpi.Label) {\n <div class=\"at-kpi-card\">\n <div class=\"at-kpi-value\" [class.at-kpi-error-value]=\"kpi.Label === 'Errors' && kpi.Value > 0\">{{ kpi.Value | number }}</div>\n <div class=\"at-kpi-label\">{{ kpi.Label }}</div>\n @if (kpi.Trend) {\n <div class=\"at-kpi-trend\" [class.up]=\"kpi.TrendUp\">\n @if (kpi.TrendUp) { <i class=\"fa-solid fa-arrow-up\"></i> }\n {{ kpi.Trend }}\n </div>\n }\n </div>\n }\n </div>\n\n <!-- Phase 4: Overview analytics (KPI cards + hand-rolled SVG charts) -->\n <div class=\"at-analytics-section\">\n <classify-overview-analytics [Provider]=\"Provider\"></classify-overview-analytics>\n </div>\n\n <div class=\"at-pipeline-layout\">\n <div class=\"at-pipeline-center\">\n <!-- Pipeline stages visualization (only during active run) -->\n @if (PipelineStages.length > 0 && (IsRunning || IsPaused)) {\n <div class=\"at-pipeline-stages\">\n @for (stage of PipelineStages; track stage.Name; let last = $last) {\n <div class=\"at-pipeline-stage\"\n [class.stage-idle]=\"stage.Status === 'idle'\"\n [class.stage-active]=\"stage.Status === 'active'\"\n [class.stage-complete]=\"stage.Status === 'complete'\">\n <div class=\"at-pipeline-stage-icon\">\n @if (stage.Status === 'active') {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n } @else if (stage.Status === 'complete') {\n <i class=\"fa-solid fa-check\"></i>\n } @else {\n <i [class]=\"stage.Icon\"></i>\n }\n </div>\n <div class=\"at-pipeline-stage-name\">{{ stage.Name }}</div>\n </div>\n @if (!last) {\n <div class=\"at-stage-connector\"\n [class.connector-complete]=\"stage.Status === 'complete'\">\n </div>\n }\n }\n </div>\n }\n\n <!-- Progress bar (visible during run or paused) -->\n @if (IsRunning || IsPaused) {\n <div class=\"at-progress-section\">\n <div class=\"at-progress-header\">\n <span class=\"at-progress-stage-label\">{{ RunStage }}</span>\n <span class=\"at-progress-pct\">{{ RunProgress | number:'1.0-0' }}%</span>\n </div>\n <div class=\"at-progress-bar\"><div class=\"at-progress-fill\" [style.width.%]=\"RunProgress\" [class.at-progress-fill-paused]=\"IsPaused\"></div></div>\n @if (RunCurrentItem) {\n <div class=\"at-progress-current\">{{ RunCurrentItem }}</div>\n }\n <div class=\"at-pipeline-controls\">\n @if (IsRunning && !IsPaused) {\n <button class=\"at-action-btn at-secondary-btn\" (click)=\"onPause()\" [disabled]=\"!CurrentProcessRunID\">\n <i class=\"fa-solid fa-pause\"></i> Pause\n </button>\n }\n @if (IsPaused) {\n <button class=\"at-action-btn at-primary-btn\" (click)=\"onResume()\">\n <i class=\"fa-solid fa-play\"></i> Resume\n </button>\n }\n <button class=\"at-action-btn at-danger-btn\" (click)=\"onCancel()\">\n <i class=\"fa-solid fa-stop\"></i> Cancel\n </button>\n </div>\n </div>\n }\n\n <!-- D2: Live Per-Source Progress (visible during run) -->\n @if (IsRunning && LiveRunDetailRows.length > 0) {\n <div class=\"at-card\" style=\"margin-bottom: 12px;\">\n <div class=\"at-card-header\">\n <span class=\"at-card-title\"><i class=\"fa-solid fa-list-check\"></i> Per-Source Progress</span>\n <button class=\"at-action-btn at-secondary-btn\" style=\"font-size: 11px; padding: 3px 8px;\" (click)=\"onLoadLiveRunDetails()\">\n <i class=\"fa-solid fa-arrows-rotate\"></i>\n </button>\n </div>\n <div class=\"at-card-body\" style=\"max-height: 200px; overflow-y: auto;\">\n <table class=\"at-run-table\">\n <thead>\n <tr>\n <th>Source</th>\n <th>Status</th>\n <th>Items</th>\n <th>Tagged</th>\n <th>Vectorized</th>\n <th>Errors</th>\n </tr>\n </thead>\n <tbody>\n @for (row of LiveRunDetailRows; track row.SourceName) {\n <tr>\n <td class=\"at-run-source-name\">{{ row.SourceName }}</td>\n <td>\n <span class=\"at-run-status-badge\" [class]=\"row.StatusClass\">\n @if (row.StatusClass === 'running') {\n <i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 0.55rem\"></i>\n }\n {{ row.Status }}\n </span>\n </td>\n <td>{{ row.ItemsProcessed }}</td>\n <td>{{ row.ItemsTagged }}</td>\n <td>{{ row.ItemsVectorized }}</td>\n <td [class.run-error-text]=\"row.ErrorCount > 0\">{{ row.ErrorCount }}</td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n </div>\n }\n\n <!-- Recent Processing Feed -->\n <div class=\"at-card at-feed-card\">\n <div class=\"at-card-header\">\n <span class=\"at-card-title\"><i class=\"fa-solid fa-bolt\"></i> Recent Processing</span>\n <div class=\"at-feed-header-actions\">\n <button class=\"at-feed-sort-btn\" (click)=\"ToggleFeedSort()\"\n [title]=\"FeedSortOrder === 'newest' ? 'Showing newest first' : 'Showing oldest first'\">\n <i class=\"fa-solid\" [class.fa-arrow-down-short-wide]=\"FeedSortOrder === 'newest'\"\n [class.fa-arrow-up-short-wide]=\"FeedSortOrder === 'oldest'\"></i>\n {{ FeedSortOrder === 'newest' ? 'Newest' : 'Oldest' }}\n </button>\n <span class=\"at-feed-count\">{{ FilteredFeedItems.length }} items</span>\n </div>\n </div>\n <!-- Feed search bar -->\n <div class=\"at-feed-search-bar\">\n <i class=\"fa-solid fa-search at-feed-search-icon\"></i>\n <input type=\"text\"\n class=\"mj-input at-feed-search-input\"\n placeholder=\"Search items, sources, or tags...\"\n [(ngModel)]=\"FeedSearchQuery\"\n (input)=\"OnFeedSearchChange()\">\n @if (FeedSearchQuery) {\n <button class=\"at-feed-search-clear\" (click)=\"FeedSearchQuery = ''; OnFeedSearchChange()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n <div class=\"at-card-body at-feed-scroll-body\">\n @if (FilteredFeedItems.length === 0) {\n <div class=\"at-empty-state\">\n <i class=\"fa-solid fa-inbox\"></i>\n @if (FeedSearchQuery) {\n <p>No items match \"{{ FeedSearchQuery }}\"</p>\n } @else {\n <p>No processed items yet.</p>\n }\n </div>\n }\n @for (item of PaginatedFeedItems; track item.Name + item.SourceName + item.TimeAgo) {\n <div class=\"at-feed-item at-feed-item-clickable\" (click)=\"onFeedItemClick(GetFeedItemOriginalIndex(item))\">\n <div class=\"at-feed-status-dot\" [class]=\"item.Status\"></div>\n <div class=\"at-feed-item-content\">\n <span class=\"at-feed-item-name\">{{ item.Name }}</span>\n <span class=\"at-feed-item-source-label\">{{ item.SourceName }}</span>\n </div>\n <div class=\"at-feed-item-tags\">\n @for (tag of item.Tags; track tag) {\n <span class=\"at-feed-tag\">{{ tag }}</span>\n }\n </div>\n <span class=\"at-feed-item-time\">{{ item.TimeAgo }}</span>\n </div>\n }\n </div>\n <!-- Feed pagination -->\n @if (FeedTotalPages > 1) {\n <div class=\"at-feed-pagination\">\n <button class=\"at-action-btn at-secondary-btn\" [disabled]=\"FeedPage === 0\" (click)=\"FeedPrevPage()\">\n <i class=\"fa-solid fa-chevron-left\"></i>\n </button>\n <span class=\"at-feed-pagination-label\">Page {{ FeedPage + 1 }} of {{ FeedTotalPages }}</span>\n <button class=\"at-action-btn at-secondary-btn\" [disabled]=\"FeedPage >= FeedTotalPages - 1\" (click)=\"FeedNextPage()\">\n <i class=\"fa-solid fa-chevron-right\"></i>\n </button>\n </div>\n }\n @if (TotalItemCount > 0) {\n <div class=\"at-load-more-bar\">\n <span class=\"at-load-more-count\">Showing {{ FeedItems.length }} of {{ TotalItemCount }} items</span>\n @if (HasMoreItems) {\n <button mjButton variant=\"secondary\" size=\"sm\" (click)=\"onLoadMoreItems()\" [disabled]=\"IsLoadingMoreItems\">\n @if (IsLoadingMoreItems) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i> Loading\u2026\n } @else {\n <i class=\"fa-solid fa-chevron-down\"></i> Load more\n }\n </button>\n }\n </div>\n }\n </div>\n </div>\n\n <!-- Right sidebar -->\n <div class=\"at-pipeline-right\">\n <!-- Sources Quick List -->\n <div class=\"at-card\">\n <div class=\"at-card-header\">\n <span class=\"at-card-title\"><i class=\"fa-solid fa-database\"></i> Sources</span>\n </div>\n <div class=\"at-card-body\">\n @for (source of SourceMinis; track source.ID) {\n <div class=\"at-source-mini\">\n <div class=\"at-source-mini-icon\"><i [class]=\"source.Icon\"></i></div>\n <div class=\"at-source-mini-info\">\n <div class=\"at-source-mini-name\">{{ source.Name }}</div>\n <div class=\"at-source-mini-meta\">{{ source.Meta }}</div>\n </div>\n <div class=\"at-source-mini-status\" [class]=\"source.StatusClass\"></div>\n </div>\n }\n </div>\n </div>\n <!-- Trending Tags -->\n <div class=\"at-card at-tag-cloud-card\">\n <div class=\"at-card-title\" style=\"margin-bottom: 10px;\"><i class=\"fa-solid fa-chart-bar\"></i> Trending Tags</div>\n <div class=\"at-tag-cloud\">\n @for (tag of TrendingTags; track tag.Tag) {\n <span class=\"at-tag-pill\" [class]=\"tag.SizeClass\"\n [style.opacity]=\"0.4 + tag.AvgWeight * 0.6\"\n [title]=\"'Weight: ' + tag.AvgWeight.toFixed(2)\">{{ tag.Tag }}</span>\n }\n </div>\n </div>\n\n <!-- Pipeline Settings Widget -->\n <div class=\"at-card at-config-card\">\n <div class=\"at-card-header\" (click)=\"onToggleConfig()\" style=\"cursor:pointer\">\n <span class=\"at-card-title\"><i class=\"fa-solid fa-sliders\"></i> Pipeline Settings</span>\n <i class=\"fa-solid\" [class.fa-chevron-down]=\"!ShowPipelineConfig\" [class.fa-chevron-up]=\"ShowPipelineConfig\" style=\"font-size:0.7rem; color:var(--mj-text-muted)\"></i>\n </div>\n @if (ShowPipelineConfig) {\n <div class=\"at-card-body at-config-body\">\n <div class=\"at-config-row\">\n <label class=\"at-config-label\">Batch Size</label>\n <div class=\"at-config-control\">\n <input type=\"number\" class=\"at-config-input\" min=\"10\" max=\"1000\" step=\"10\"\n [(ngModel)]=\"PipelineConfig.Pipeline!.BatchSize\">\n </div>\n </div>\n <div class=\"at-config-row\">\n <label class=\"at-config-label\">Throttle (ms)</label>\n <div class=\"at-config-control\">\n <input type=\"range\" class=\"at-config-slider\" min=\"0\" max=\"5000\" step=\"100\"\n [(ngModel)]=\"PipelineConfig.Pipeline!.DelayBetweenBatchesMs\">\n <span class=\"at-config-value\">{{ PipelineConfig.Pipeline!.DelayBetweenBatchesMs }}ms</span>\n </div>\n </div>\n <div class=\"at-config-row\">\n <label class=\"at-config-label\">Error Tolerance</label>\n <div class=\"at-config-control\">\n <input type=\"range\" class=\"at-config-slider\" min=\"5\" max=\"50\" step=\"5\"\n [(ngModel)]=\"PipelineConfig.Pipeline!.ErrorThresholdPercent\">\n <span class=\"at-config-value\">{{ PipelineConfig.Pipeline!.ErrorThresholdPercent }}%</span>\n </div>\n </div>\n <div class=\"at-config-row\">\n <label class=\"at-config-label\">Auto-resume</label>\n <div class=\"at-config-control\">\n <label class=\"at-config-toggle\">\n <input type=\"checkbox\" [(ngModel)]=\"PipelineConfig.Pipeline!.ResumeFromLastBatch\">\n <span class=\"at-toggle-track\"><span class=\"at-toggle-thumb\"></span></span>\n </label>\n </div>\n </div>\n <div class=\"at-config-divider\"></div>\n <div class=\"at-config-section-label\">LLM Rate Limits</div>\n <div class=\"at-config-row\">\n <label class=\"at-config-label\">Requests/min</label>\n <div class=\"at-config-control\">\n <input type=\"number\" class=\"at-config-input\" min=\"1\" max=\"500\"\n [(ngModel)]=\"PipelineConfig.RateLimits!.LLM!.RequestsPerMinute\">\n </div>\n </div>\n <div class=\"at-config-row\">\n <label class=\"at-config-label\">Tokens/min</label>\n <div class=\"at-config-control\">\n <input type=\"number\" class=\"at-config-input\" min=\"1000\" max=\"5000000\" step=\"10000\"\n [(ngModel)]=\"PipelineConfig.RateLimits!.LLM!.TokensPerMinute\">\n <span class=\"at-config-value\">{{ formatTokenCount(PipelineConfig.RateLimits!.LLM!.TokensPerMinute ?? 0) }}</span>\n </div>\n </div>\n <div class=\"at-config-section-label\">Embedding Rate Limits</div>\n <div class=\"at-config-row\">\n <label class=\"at-config-label\">Requests/min</label>\n <div class=\"at-config-control\">\n <input type=\"number\" class=\"at-config-input\" min=\"1\" max=\"1000\"\n [(ngModel)]=\"PipelineConfig.RateLimits!.Embedding!.RequestsPerMinute\">\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n</div>\n</mj-page-body-interior>\n", styles: ["/*\n * Pipeline Monitor tab styles.\n *\n * The host (AutotaggingPipelineResourceComponent) uses ViewEncapsulation.None,\n * so its `.at-*` rules are global and already style this tab's markup while it\n * renders inside the host shell. Tab-specific rules would live here as the\n * shared CSS is partitioned during the host-slim step.\n */\n\n.at-analytics-section {\n margin: 12px 0 16px;\n}\n"] }]
|
|
763
|
+
}], null, { KPIMetrics: [{
|
|
764
|
+
type: Input
|
|
765
|
+
}], PipelineStages: [{
|
|
766
|
+
type: Input
|
|
767
|
+
}], FeedItems: [{
|
|
768
|
+
type: Input
|
|
769
|
+
}], SourceMinis: [{
|
|
770
|
+
type: Input
|
|
771
|
+
}], TrendingTags: [{
|
|
772
|
+
type: Input
|
|
773
|
+
}], LiveRunDetailRows: [{
|
|
774
|
+
type: Input
|
|
775
|
+
}], TotalItemCount: [{
|
|
776
|
+
type: Input
|
|
777
|
+
}], IsLoadingMoreItems: [{
|
|
778
|
+
type: Input
|
|
779
|
+
}], IsRunning: [{
|
|
780
|
+
type: Input
|
|
781
|
+
}], IsPaused: [{
|
|
782
|
+
type: Input
|
|
783
|
+
}], RunProgress: [{
|
|
784
|
+
type: Input
|
|
785
|
+
}], RunStage: [{
|
|
786
|
+
type: Input
|
|
787
|
+
}], RunCurrentItem: [{
|
|
788
|
+
type: Input
|
|
789
|
+
}], CurrentProcessRunID: [{
|
|
790
|
+
type: Input
|
|
791
|
+
}], PipelineConfig: [{
|
|
792
|
+
type: Input
|
|
793
|
+
}], ShowPipelineConfig: [{
|
|
794
|
+
type: Input
|
|
795
|
+
}], RefreshRequested: [{
|
|
796
|
+
type: Output
|
|
797
|
+
}], PauseRequested: [{
|
|
798
|
+
type: Output
|
|
799
|
+
}], ResumeRequested: [{
|
|
800
|
+
type: Output
|
|
801
|
+
}], CancelRequested: [{
|
|
802
|
+
type: Output
|
|
803
|
+
}], LoadLiveRunDetailsRequested: [{
|
|
804
|
+
type: Output
|
|
805
|
+
}], FeedItemClicked: [{
|
|
806
|
+
type: Output
|
|
807
|
+
}], ConfigToggled: [{
|
|
808
|
+
type: Output
|
|
809
|
+
}], LoadMoreItemsRequested: [{
|
|
810
|
+
type: Output
|
|
811
|
+
}] }); })();
|
|
812
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ClassifyPipelineTabComponent, { className: "ClassifyPipelineTabComponent", filePath: "src/AI/components/autotagging/tabs/pipeline-tab.component.ts", lineNumber: 34 }); })();
|
|
813
|
+
//# sourceMappingURL=pipeline-tab.component.js.map
|